⚡ 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 :

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

  1. Ouvrez nzbfast-<version>-macos.dmg et faites glisser NzbFast dans Applications (universel : Apple Silicon + Intel).
  2. 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.
  3. 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.
  4. Déposez un .nzb n'importe où sur le tableau de bord - ou double-cliquez simplement les fichiers .nzb dans 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

  1. 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émentairesExécuter quand même.
  2. 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.
  3. Double-cliquer un fichier .nzb le 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
AstuceVous utilisez déjà SABnzbd ou NZBGet ? Évitez de retaper vos identifiants : Paramètres → Serveurs Usenet → Importer depuis SABnzbd / NZBGet… trouve votre installation existante et copie ses serveurs. Il existe aussi nzbfast import-sab en ligne de commande.

3 · Comment nzbfast fonctionne

Un petit vocabulaire pour que la suite du manuel se lise facilement :

TermeSignification
Fournisseur / serveurUn service Usenet chez qui vous avez un compte (Newshosting, Eweka, XS News…). Chacun autorise un certain nombre de connexions simultanées.
BackboneL'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.
NZBUn petit fichier XML listant les articles qui composent un post. C'est ce que vous donnez à nzbfast.
PAR2Des 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âchenzbfastNZBGet 26.2SABnzbd 5.0.4
7 GB13.7 s+26%+39%
35 GB67 s+61%+325%
87 GB272 s+36%+160%
190 GB9 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 :

Reprise après crash, mesuréeTuez un téléchargement en plein vol (kill -9 à 15 GB d'une tâche de 34.5 GB) et la reprise ne re-télécharge que ~0.3 GB - uniquement les articles réellement en vol au moment du kill - contre 0.2 GB pour NZBGet sur le même test. C'était autrefois une défaite que nous publiions (15.3 GB re-téléchargés, quand le journal ne savait pas rendre compte des octets extraits en direct) ; le journal de placement l'a corrigée : la reprise restaure ces octets depuis les fichiers de sortie locaux et re-vérifie chaque octet restauré contre la carte de blocs PAR2 avant de s'y fier. Chaque scénario que nous perdons est publié à côté des victoires, avec la méthode complète et les chiffres bruts.

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

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

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éthodeComment
Glisser-déposerDé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 URLCollez un lien NZB (API mode=addurl, ou via n'importe quelle appli connectée).
Parcourir l'indexCliquez sur n'importe quelle release complète dans la carte Parcourir.
Liste de suivi / RSSAutomatique - voir Automatisation.
Sonarr/Radarr etc.Ils envoient leurs récupérations directement dans la file - voir §11.
Ligne de commandenzbfast get file.nzb télécharge sans le daemon.

Catégories, priorités, mots de passe

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.

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.

Note lecteursVLC, IINA, mpv et Infuse ouvrent tous les URL /stream. Pour vérifier depuis une autre machine, utilisez l'adresse LAN de votre machine à la place de localhost.
Note authentificationAvec une clé API définie, ouvrir une entrée de bibliothèque en attente via /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 :

ChampNotes
Hôte / portUtilisez le port SSL 563. TLS ne coûte rien de mesurable - nzbfast chiffre toujours.
Nom d'utilisateur / mot de passeStockés localement dans config.local.json, jamais renvoyés au navigateur. Laisser le mot de passe vide à la modification conserve celui qui est stocké.
ConnexionsConnexions 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_ipLie 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.
socks5Fait 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.
RecommandationDeux fournisseurs sur des backbones différents valent mieux que trois sur le même. Lancez Diversité des serveurs (§13) pour voir lesquels de vos fournisseurs diversifient réellement votre couverture et lesquels sont des copies redondantes l'un de l'autre.

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églageEffet
Limite de vitessePlafond 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 autoPlafond 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 lentsUne 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 inactifsLes 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 à jourVoir §14.
Vitesse de la ligneLa 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églageEffet
Inclure la résolutionAjoute 1080p, 2160p… au nom. Activé par défaut ; les quatre autres marqueurs sont désactivés.
Inclure le codec vidéox265, x264, AV1
Inclure le codec audioAtmos, DTS-HD, AC3
Inclure la sourceBluRay, WEB, REMUX
Inclure le groupe de releaseLe marqueur -GROUP à la fin.
Supprimer les fichiers superflusActivé 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édiaDé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églageEffet
GroupesLes newsgroups que l'indexeur intégré scanne (ex. alt.binaries.teevee).
Intervalle de scanSecondes entre les passes (900 par défaut).
Articles de backfillEn-têtes récupérés au tout premier scan d'un groupe.
Approfondir par scanChaque 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 maxIgnorer 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'âgeActivé 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'ingestionRè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 profondLance une passe immédiatement ; avec une profondeur, rescanne ce nombre d'en-têtes récents.
Clé OMDb / rafraîchir les métadonnées / effacerContrô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.

NomEffet
verify_modefull | 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_minsDé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_parNombre de groupes analysés en parallèle par l'indexeur (3 par défaut, borné à 1-8).
oracle_sampleBudget 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

  1. Dans Sonarr/Radarr : Settings → Download Clients → ajoutez SABnzbd.
  2. 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é).
  3. 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)

  1. Settings → Indexers → ajoutez Newznab.
  2. URL : http://<host>:6789/ · chemin d'API : /api · clé : votre clé API.
  3. nzbfast sert les requêtes caps, search, tvsearch et movie depuis son propre index de vos groupes surveillés, et /getnzb/<id> renvoie le NZB.
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.

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'appliValeur
TypeNZBGet
Hôte / portvotre machine : 6789
Nom d'utilisateurn'importe lequel (ex. nzbfast)
Mot de passevotre 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'appliValeur
TypeSABnzbd
Hôte / portvotre machine : 6789
Clé APIvotre 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

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 :

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âcheRAM abondanteBudget 2 GB
≈ machine 8 GB
Budget 1 GB
≈ machine 4 GB
Budget 256 MB
≈ NAS 2 GB
7 GB15 s15 s15 s15 s
35 GB65 s70 s70 s65 s
87 GB148 s206 s +39%196 s +32%180 s +22%
190 GB330 s427 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.

RecommandationDonnez à nzbfast environ 2 GB de budget par 100 GB de la plus grosse tâche que vous téléchargez, et laissez la valeur par défaut tranquille sinon - ¼ de la RAM est déjà la bonne réponse sur la plupart des machines. En pratique : 4 GB de RAM couvrent les tâches jusqu'à ~35 GB à pleine vitesse ; 8–16 GB y maintiennent aussi les tâches de 100 GB et plus ; un NAS 2 GB viendra à bout de tout ce que vous lui donnez, mais traitez-le comme un téléchargeur d'arrière-plan plutôt que comme de quoi saturer une ligne rapide.

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

15 · Ligne de commande

Tout ce que fait le daemon est aussi scriptable. Les commandes de tous les jours :

CommandeRôle
nzbfast setupConfiguration interactive des serveurs.
nzbfast serveLance 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.nzbTé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.nzbVerdict de disponibilité - COMPLETE / REPAIRABLE / IMPOSSIBLE - sans télécharger la charge utile.
nzbfast verify DIRVérifie les fichiers d'un répertoire contre son jeu PAR2.
nzbfast sysbenchLe benchmark système + le rapport de diversité, dans le terminal.
nzbfast index / searchScanne des groupes dans l'index / le cherche, sans le daemon.
nzbfast import-sabImporte 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).

DomaineModes
Filequeue (avec name=delete/pause/resume/priority/switch), pause, resume, addfile, addurl, retry, set_password
Infoshistory, status/fullstatus, stats, version, server_stats, usage, log, warnings
Configget_config, config&name=<setting>&value=… (chaque champ des Paramètres), server_save/delete/test/enable/reorder, import_probe/apply
Index & murindex_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>
Automatisationwatchlist, watchlist_check_now, watch_calendar, feeds, smart_folders, schedule
Diagnosticssysbench, 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

FichierContenu
config.local.jsonIdentifiants des serveurs et options par serveur. Créé par l'assistant ; modifiable dans les Paramètres. Gardez-le privé.
settings.jsonChaque 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.dbL'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'articlesDans 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 externesAucun 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 lentsLancez 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 passeLa ligne d'Historique montre 🔑 - saisissez-y le mot de passe ; la tâche se termine sur place.
Sonarr/Radarr ne se connecte pasPort 6789 joignable ? Clé API correcte (la clé complète, pas la clé NZB) ? Type de client réglé sur SABnzbd ?
La carte Parcourir reste maigreL'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 / aucuneFiche 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.
Toujours bloqué ?La carte Journal nomme généralement le coupable - joignez sa fin quand vous signalez un problème, avec votre 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é.