⚡ nzbfast

De snelle Usenet-downloader - gebruikershandleiding

1 · Welkom

nzbfast downloadt van Usenet zo snel als je lijn, je providers en je machine toelaten - en meestal betekent dat zo snel als je lijn. Het is één op zichzelf staand programma: de engine, een webdashboard, een posterwall-mediabrowser, een ingebouwde indexer, realtime voorvertoning, native PAR2-herstel en native RAR-uitpakken zitten allemaal in één executable. Er hoeft verder niets geïnstalleerd te worden.

Wat het snel maakt is architectuur, geen tweaks:

Gemeten tegen het hele veld op identieke hardware, taken en providers heeft nzbfast een download van 190 GB in zo'n 5 minuten afgerond op een 10 GbE-lijn - met de bekendste alternatieven 30–220% daarachter op dezelfde tests, voor zover ze die überhaupt afmaakten. De cijfers staan in §3.

2 · Snel aan de slag

macOS

  1. Open nzbfast-<version>-macos.dmg en sleep NzbFast naar Apps (universeel: Apple Silicon + Intel).
  2. Eerste start: macOS waarschuwt dat nzbfast nog niet door Apple genotariseerd is. Rechtsklik op de app → Open - of open Systeeminstellingen → Privacy en beveiliging, scrol omlaag en klik op Open toch. Dit is eenmalig.
  3. Het app-venster toont het dashboard met een welkomstkaart - klik erop en voeg minstens één Usenet-server toe (host, poort 563, gebruikersnaam, wachtwoord). Meer servers toevoegen kan later in Instellingen.
  4. Sleep een .nzb waar dan ook op het dashboard - of dubbelklik gewoon op .nzb-bestanden in de Finder. Downloads komen terecht in ~/Downloads/nzbfast. Afsluiten doe je via het menu; downloads gaan verder waar ze gebleven waren.

Liever geen app? De kale zip (binary + Start nzbfast.command-starter, dezelfde engine) werkt nog steeds als vanouds - de stappen staan hieronder bij "Vanuit een terminal".

Windows

  1. Draai nzbfast-setup-<version>.exe. Hij installeert alleen voor jouw gebruiker (geen administratorwachtwoord). Omdat deze release nog niet code-signed is, kan SmartScreen "Je pc is beschermd" tonen - klik op Meer informatieToch uitvoeren.
  2. nzbfast leeft in het systeemvak: dubbelklik op het tray-icoon (of kies Open dashboard in het rechtsklikmenu) om het dashboard te openen, en voeg daarna je Usenet-server toe via de welkomstkaart. Het tray-menu heeft ook Pauzeren/Hervatten, je downloadmap en Afsluiten.
  3. Dubbelklikken op een .nzb-bestand zet hem in de wachtrij. Windows Defender kan eenmalig vragen of lokaal netwerkverkeer is toegestaan - sta het toe.

Liever een portable versie? De -windows-x64.zip werkt nog steeds: pak hem uit waar je wilt en dubbelklik op nzbfast.exe (of Start nzbfast.bat) voor de terminalwizard.

Vanuit een terminal (elk platform)

nzbfast setup            # interactive server setup (writes config.local.json)
nzbfast serve --open     # start the daemon and open the dashboard
TipDraai je al SABnzbd of NZBGet? Bespaar je het overtypen van inloggegevens: Instellingen → Usenet-servers → Importeren uit SABnzbd / NZBGet… vindt je bestaande installatie en neemt de servers over. Op de commandoregel is er ook nzbfast import-sab.

3 · Hoe nzbfast werkt

Eerst wat vocabulaire, dan leest de rest van de handleiding makkelijk:

TermBetekenis
Provider / serverEen Usenet-dienst waar je een account bij hebt (Newshosting, Eweka, XS News…). Elke provider staat een bepaald aantal gelijktijdige verbindingen toe.
BackboneDe infrastructuur achter een provider. Meerdere merken verkopen vaak dezelfde backbone door - nuttig om te weten, want twee providers op één backbone missen dezelfde artikelen. Zie Serverdiversiteit.
NZBEen klein XML-bestand met de lijst artikelen waaruit een post bestaat. Dit is wat je aan nzbfast voert.
PAR2Hersteldata die naast een release wordt gepost. nzbfast verifieert ertegen tijdens de download en repareert automatisch wanneer artikelen beschadigd zijn of ontbreken.
Store-mode RARDe meeste releases zijn zonder compressie in RAR-volumes verpakt. nzbfast herkent dat en schrijft het binnenste bestand tijdens het downloaden rechtstreeks naar zijn definitieve plek - geen uitpakstap achteraf.

De pipeline draait download → decode → verificatie → uitpakken gelijktijdig. De Pipeline-kaart op het dashboard laat alle drie de banen tegelijk bewegen. Als de laatste byte binnenkomt is de verificatie al gedaan en het bestand al uitgepakt; de "nabewerkingstijd" van een typische taak is nul. Alleen als er gerepareerd moet worden, worden volumes alsnog op schijf gezet, ter plekke gerepareerd door de native GF(2¹⁶)-engine (hernoemde of byte-verschoven geobfusceerde data wordt gevonden en meegenomen door een glijdende blokscan) en opnieuw uitgepakt - allemaal automatisch.

Onderbroken downloads (crash, stroomuitval, kill -9) hervatten vanuit het artikeljournal: bytes die al op schijf staan worden nooit twee keer opgehaald. Het journal registreert waar de bytes van elk artikel fysiek terechtkwamen - ook bytes die rechtstreeks in het eindbestand zijn uitgepakt - dus een hervatting bouwt verder vanaf de lokale schijf en verifieert alles wat hij terughaalde eerst tegen de PAR2-blokmap voordat het wordt vertrouwd.

Hoe dat zich verhoudt

Gemeten tegen SABnzbd 5.0.4 en NZBGet 26.2 op dezelfde machine, dezelfde providers en dezelfde NZB's, geklokt tot een bruikbaar bestand - download, verificatie, reparatie en uitpakken allemaal meegerekend, want dán is de taak pas echt klaar:

TaakgroottenzbfastNZBGet 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%

Het gat is de nabewerking die de anderen na de laatste byte nog moeten doen. Beide concurrenten waren voor de vergelijking getuned, niet op standaardinstellingen gelaten - SABnzbd wordt met name met request-pipelining uit geleverd, wat hem duur komt te staan, dus die is aangezet.

Twee verschillen wegen net zo zwaar als de tijden:

Crash-hervatting, gemetenSchiet een download halverwege af (kill -9 op 15 GB van een taak van 34,5 GB) en de hervatting haalt ~0,3 GB opnieuw op - alleen de artikelen die op het moment van de kill echt onderweg waren - tegenover 0,2 GB bij NZBGet in dezelfde test. Dit was ooit een verlies dat we publiceerden (15,3 GB opnieuw opgehaald, toen het journal direct-uitgepakte bytes nog niet kon verantwoorden); het placement-journal heeft dat opgelost: de hervatting haalt die bytes terug uit de lokale uitvoerbestanden en verifieert elke teruggehaalde byte tegen de PAR2-blokmap voordat hij wordt vertrouwd. Elk scenario dat we verliezen wordt naast de winsten gepubliceerd, met de volledige methode en de ruwe cijfers.

4 · Het dashboard

Open http://localhost:6789 (of het adres van je machine vanaf een ander apparaat - de telefoonlay-out past zich automatisch aan). Alles wordt live bijgewerkt, één keer per seconde. De kaarten, van boven naar beneden:

Kopbalk

Doorvoer

Live MB/s met een scrollende grafiek; de gestippelde watermerken markeren het hoog/laag van deze sessie, de vage lijn is een voortschrijdend gemiddelde. Daaronder toont een histogram hoe de snelheidsmetingen van de sessie verdeeld zijn - gemiddeld vs piek. Maak het venster breder en de grafieken tonen meer geschiedenis (tot een uur).

Stat-tegels

Gedownload deze sessie, wachtrijdiepte, aantallen voltooid/mislukt, pieksnelheid van de sessie.

Resources - één machine, vier plafonds

CPU, RAM (tegenover het geheugenbudget van nzbfast), schrijfsnelheid naar schijf en netwerk op één genormaliseerde grafiek, met echte waarden in de legenda en een waarschuwing bij weinig schijfruimte. Geen enkele andere NZB-client laat je dit zien; het bestaat om een punt te bewijzen - nzbfast trekt je lijn vol, niet je machine.

Pipeline - fasen overlappen

Drie banen: downloaden, verifiëren (gecontroleerde PAR2-blokken), uitpakken. Bij een gezonde taak bewegen ze alle drie tegelijk.

Providers

Per server de live snelheid, verbindingsbenutting, aandeel in het verkeer, GB deze sessie en een artikel-completionscore over de hele levensduur (gekleurd zodra een server onder de 98% zakt). Een gestapelde vlakgrafiek toont de bijdrage van elke provider door de tijd. Rijen hersorteren zich elke 10 s op live prestaties (instelbaar in Instellingen → Interface), zodat je snelste provider altijd bovenaan staat.

Wachtrij

Index doorzoeken

Doorzoek alles wat de ingebouwde indexer uit je gescande groepen heeft gecatalogiseerd (zie Automatisering) en download met één klik - geen externe indexer nodig. De statusregel toont de scanvoortgang; Nu scannen forceert een ronde.

Watchlist

Voeg titels op naam toe - ook titels die nog niet gepost zijn. Zodra een passende release in de index verschijnt wordt hij automatisch opgehaald, met kwaliteitsvoorkeuren en upgraderegels (een betere versie vervangt een slechtere).

Geschiedenis

Recente downloads met status, grootte en locatie; mislukte taken bieden Opnieuw proberen (gaat verder vanuit het journal). Versleutelde archieven tonen een 🔑-ontgrendelknop - voer het wachtwoord in en de taak maakt zichzelf ter plekke af. De verificatiegezondheidsstrook zet beschadigde PAR2-blokken per download uit - een oplopende staart betekent dat artikelen beschadigd binnenkomen.

Dataverbruik

Dagelijkse balken per provider en totalen voor Vandaag / 7 dagen / 30 dagen - onmisbaar voor accounts met een datalimiet en blokaccounts. Blokaccounts tonen het totale verbruik tegenover hun grootte.

Log, Systeembenchmark, Verbindingstuning, Serverdiversiteit

Een logviewer op de pagina zelf, plus de drie zelfmeet-tools die worden beschreven in Prestatietools.

5 · Downloads toevoegen

MethodeHoe
Slepen & neerzettenSleep één of meer .nzb-bestanden waar dan ook op het dashboard.
WatchmapStel een map in bij Instellingen; elke .nzb die je erin opslaat wordt binnen 5 seconden opgepikt en het bestand verwijderd. Zet de downloadmap van je browser erop voor één-klik-grabs vanaf indexersites.
Vanaf een URLPlak een NZB-link (API mode=addurl, of via elke gekoppelde app).
Index doorzoekenKlik op een complete release in de kaart Index doorzoeken.
Watchlist / RSSAutomatisch - zie Automatisering.
Sonarr/Radarr e.d.Die sturen grabs rechtstreeks de wachtrij in - zie §11.
Commandoregelnzbfast get file.nzb downloadt zonder de daemon.

Categorieën, prioriteiten, wachtwoorden

6 · De posterwall

Klik op 🎬 wall in de kopbalk. De wall maakt van je index een mediabrowser: elke herkende film- en tv-release als postertegel met beoordeling, jaar, genres, cast en synopsis - je nieuwsgroepen, doorbladerbaar als catalogus.

7 · Voorvertoning & verificatie

Je hoeft niet te wachten tot een download klaar is om te weten dat het het juiste bestand is. Open het terwijl het downloadt, controleer of inhoud, taal en kwaliteit zijn wat je verwachtte, en breek vroeg af als dat niet zo is - in plaats van het pas na de volledige download te ontdekken.

Over spelersVLC, IINA, mpv en Infuse openen allemaal /stream-URL's. Om vanaf een andere machine te controleren, gebruik het LAN-adres van je machine in plaats van localhost.
Over authenticatieMet een ingestelde API-sleutel vereist het openen van een geparkeerd bibliotheekitem via /stream/<id> een taakgebonden token (?t=…) - spelers kunnen geen API-sleutels meesturen, dus de /m3u-handoff en de .strm-pointer bedden hem voor je in; het uitgeven ervan (/m3u) vereist de sleutel. Het gewone byte-serveren van een al actieve download blijft open, en installaties zonder sleutel gedragen zich als vanouds.

8 · Usenet-servers

Instellingen → Usenet-servers is de volledige editor: toevoegen, bewerken, verwijderen, herordenen en elke server in of uit de pool halen. Elke server heeft:

VeldToelichting
Host / poortGebruik SSL-poort 563. TLS kost niets meetbaars - nzbfast versleutelt altijd.
Gebruikersnaam / wachtwoordLokaal opgeslagen in config.local.json, nooit terug naar de browser gestuurd. Laat je het wachtwoord bij bewerken leeg, dan blijft het opgeslagen wachtwoord staan.
VerbindingenGelijktijdige verbindingen per server. Gebruik Verbindingstuning (§13) om de sweet spot van elke provider te vinden in plaats van hoog te gokken.
Niveau (tier)0 = primair; hogere niveaus zijn fill-servers, die alleen artikelen gevraagd worden die elk lager niveau miste. Zet onbeperkte accounts op 0, blokaccounts op 1+.
Blokgrootte (GB)Voor blokaccounts (betalen per GB): nzbfast houdt hiertegen het totale verbruik bij en stopt met de server zodra het blok op is (waarschuwing bij 85%).

Twee andere opties per server hebben nog geen bediening in het dashboard: zet ze met de hand bij de vermelding van die server in config.local.json (zie §17) en herstart.

SleutelOpmerkingen
bind_ipBindt de uitgaande verbindingen van deze server aan een specifiek lokaal adres, voor machines met meerdere uitgangen en VPN-splittunnels. De adresfamilie kiest meteen de doelfamilie: een v4-binding verbindt met het v4-adres van de server.
socks5Stuurt het NNTP-verkeer van deze server via een SOCKS5-proxy: host:port, of user:pass@host:port. De hostnaam wordt door de proxy opgezocht, dus geen lokaal DNS-lek.
AanbevelingTwee providers op verschillende backbones verslaan drie op dezelfde. Draai Serverdiversiteit (§13) om te zien welke van je providers je dekking echt diversifiëren en welke redundante kopieën van elkaar zijn.

9 · Instellingen-naslag

Bijna alles is instelbaar vanuit het dashboard, onder ⚙ Instellingen; de vier uitzonderingen staan aan het eind van deze sectie. Waarden met live gelden meteen; restart-waarden bij de volgende start. Elke wijziging hier wordt bewaard in settings.json en overleeft herstarts (waarden uit de interface winnen van opties op de opdrachtregel).

Snelheid & planning live

InstellingWat het doet
SnelheidslimietLimiet in bytes/sec (50M, 1G, 0 = onbeperkt). Remote-apps kunnen percentages sturen - stel Lijnsnelheid in zodat die goed vertaald worden.
AutosnelheidRTT-gestuurde limiet die wijkt voor ander thuisverkeer en weer oprekt zodra de lijn stil is.
Trage downloads automatisch uitstellenEen taak die vastzit op één trage server terwijl andere wachten gaat naar achteren in de wachtrij (voortgang blijft bewaard). Zie §13.
Prefetch op inactieve serversServers die de actieve taak niets opleveren beginnen alvast aan de volgende in de wachtrij. Zie §13.
Auto-update / Update-check-URLZie §14.
LijnsnelheidDe nominale snelheid van je verbinding - maakt procentuele limieten vanuit SABnzbd-compatibele apps mogelijk.
WeekschemaRijeneditor voor regels per moment van de week: pauzeren, hervatten of een snelheidslimiet instellen op bepaalde dagen/tijden (lokale tijd). Bijv. door de week van 9–17 uur begrensd op 20 MB/s, daarbuiten onbeperkt.

Volgende download live

Verbindingen (per server), venster (pipelining-diepte per verbinding), decoders (parallelle decodeerthreads). Wordt bij de start van elke taak uitgelezen. De standaardwaarden zijn goed voor de meeste lijnen; gebruik de tuningtools voordat je blind verhoogt.

Snelle verificatie (CRC32) (standaard aan) claimt PAR2-blokken via CRC32 terwijl de download nog loopt, wat 2-3x sneller is op een trage CPU. De eigen controlesom van elk artikel wordt nog steeds gecontroleerd, en de afsluitende ronde gebruikt altijd volledige MD5: aan correctheid wordt niets ingeleverd. Vink uit om ook tijdens de download MD5 per blok te doen.

Schijf & quotum live

Minimale vrije ruimte (pauzeer nieuwe taken eronder), downloadquotum per dag of maand (UTC; taken met Geforceerd negeren het), geheugenlimiet - het RAM-budget van de engine (standaard: ¼ van het RAM, begrensd; verhoog hem op een machine met veel RAM voor maximale snelheid bij enorme taken, en zie wat weinig geheugen kost voordat je hem verlaagt) herstart.

Voltooide verplaatsen naar: na uitpakken, opschonen en hernoemen verhuizen voltooide downloads hierheen - een NAS-share, een mediaschijf, waar je bibliotheek ook staat. De categorie-indeling blijft behouden (een taak die onder tv/ klaar was, belandt op de bestemming onder tv/), en de geschiedenis verhuist mee, zodat gekoppelde apps op de nieuwe locatie importeren en verwijderen. Is de bestemming onbereikbaar wanneer een taak klaar is (share offline, schijf vol), dan blijven de bestanden in de downloadmap en wordt de taak toch gewoon afgerond. Leeg = uit. Bestemmingen per categorie sturen specifieke categorieën ergens anders heen (tv=/Volumes/NAS/TV, movies=/Volumes/NAS/Movies); elk vermeld pad is de map van die categorie, er wordt dus geen extra categoriesubmap in aangemaakt. Niet-vermelde categorieën volgen Voltooide verplaatsen naar.

Diepte van geneste archieven (standaard 5) is hoeveel lagen archief-in-archief automatisch worden uitgepakt: een RAR-set met daarin een 7z met daarin weer een RAR is normaal op Usenet, en nzbfast volgt de keten zonder tweede ronde. Op de grens blijft het diepste archief gewoon liggen, niet verder uitgepakt, en de download wordt toch voltooid. Verhoog dit alleen voor ongewoon diepe releases.

Automatisch hernoemen & opschonen live

Voltooide downloads hernoemen (standaard aan) geeft de map en het hoofdbestand een schone, informatieve naam: een film wordt Example Movie (2024), series houden Show - S01E02. Versluierde of niet-herkende namen blijven precies zoals ze gepost zijn in plaats van geraden te worden.

InstellingWat het doet
Resolutie opnemenZet 1080p, 2160p… in de naam. Standaard aan; de andere vier labels staan uit.
Videocodec opnemenx265, x264, AV1
Audiocodec opnemenAtmos, DTS-HD, AC3
Bron opnemenBluRay, WEB, REMUX
Releasegroep opnemenHet label -GROUP aan het eind.
Junkbestanden verwijderenStandaard aan. Verwijdert achtergebleven .par2, .nzb, .sfv, .nfo en samplefragmenten uit voltooide film- en seriemappen. Nooit de video of de ondertitels.
Alleen het mediabestand bewarenStandaard uit, en destructief: verwijdert permanent alles in de map behalve de video('s) en de ondertitels. Elke aflevering van een seizoenspakket blijft staan. Gaat vóór Junkbestanden verwijderen als beide aan staan.

De hele groep draait na reparatie en uitpakken en vóór Voltooide verplaatsen naar, en wordt volledig overgeslagen bij een taak die nog op een wachtwoord wacht. Beide verwijderstappen gelden alleen voor releases die als film of serie zijn herkend: een softwarepayload of een niet te classificeren (versluierde) set wordt nooit opgeruimd.

Mappen & nabewerking

Downloadmap herstart, watchmap, nabewerkingsscript (draait na elke taak met SABnzbd-compatibele argumenten en SAB_*-omgeving - bestaande SAB-scripts werken ongewijzigd), opruimextensies (rommelbestanden die na voltooiing worden verwijderd), Slimme mappen en tv-opbergen (zie §10).

Indexeren live

InstellingWat het doet
GroepenNieuwsgroepen die de ingebouwde indexer scant (bijv. alt.binaries.teevee).
ScanintervalSeconden tussen rondes (standaard 900).
Backfill-artikelenHeaders die bij de allereerste scan van een groep worden opgehaald.
Verdiepen per scanElke ronde indexeert ook dit aantal oudere artikelen, zodat je doorzoekbare geschiedenis op de achtergrond groeit tot Max leeftijd is bereikt (standaard 200.000 per ronde ≈ tientallen miljoenen artikelen per dag uptime).
Max leeftijdNegeer posts ouder dan dit (90d, 6m, 2y) - begrenst indexgrootte en scantijd.
Trimmen tot het leeftijdsvensterStandaard aan. Verwijdert ook al opgeslagen releases zodra ze ouder worden dan Max leeftijd, zodat de index ongeveer dat venster houdt in plaats van eindeloos te groeien. Uit = alleen nieuwe posts worden gefilterd en wat opgeslagen is blijft. Dode junkfragmenten (verborgen, na een week nog onvolledig) worden hoe dan ook opgeruimd.
Ingest-filtersJSON-regels die filteren wat de index in gaat: soorten (geobfusceerde rommel wordt standaard genegeerd), jaar/resolutie/taal, grootte-grenzen.
Nu scannen / diepe rescanVoer direct een ronde uit; met een diepte worden zoveel recente headers opnieuw gescand.
OMDb-sleutel / metadata verversen / wissenBediening van de wall-verrijking (§6). Wissen bouwt de database vanaf nul opnieuw op - de reddingsboei als hij ooit corrupt raakt.

Bibliotheek, Beveiliging, Interface

Bibliotheek: categorieën die als directe bibliotheekitems worden behandeld + het hercontrole-interval. Beveiliging: de volledige API-sleutel (alles) en de NZB-sleutel (alleen toevoegen - veilig om aan indexersites te geven), beide live te roteren. Interface: klikgeluiden, bureaubladmeldingen bij voltooiing, provider-hersorteerinterval.

Snelheidseenheden live bepaalt hoe elke snelheid in het dashboard wordt getoond: megabytes (MB/s, de norm bij downloadmanagers, de standaard) of megabits (Mb/s, zoals providers lijnen opgeven). Bestandsgroottes blijven in bytes. Dit is een eigenschap van de daemon, niet van je browser, dus het geldt voor elk apparaat dat naar deze installatie kijkt.

Geavanceerd: instellingen zonder bediening in het dashboard

Vier instellingen hebben geen bediening in de interface en geen optie op de opdrachtregel. Zet ze via de API (§16), bijv. /api?mode=config&name=verify_mode&value=lean&apikey=…. Net als alle andere worden ze bewaard in settings.json.

NaamWat het doet
verify_modefull | fast | lean (standaard fast). lean is de duw voor trage CPU's: als fast, maar slaat daarnaast de yEnc-CRC per artikel over zodra PAR2 een bestand dekt, wat één CRC32-laag oplevert in plaats van twee. Downloads zonder PAR2 houden hun artikel-CRC's, en de verificatie en reparatie aan het eind van de taak veranderen in geen geval. De Snelle verificatie hierboven is dezelfde bediening voor full tegenover fast.
auto_retry_minsWachttijd vóór de ene automatische nieuwe poging die een eerste mislukking met ontbrekende artikelen krijgt (standaard 20). Propagatievertraging is een echte oorzaak van ontbrekende artikelen en lost zichzelf op; dankzij het journaal haalt de herhaling alleen op wat nog ontbreekt. Mislukkingen door wachtwoord of takedown komen nooit in aanmerking.
index_scan_parHoeveel groepen de indexeerder parallel scant (standaard 3, begrensd op 1-8).
oracle_sampleSTAT-budget in rust van het beschikbaarheidsorakel (§13), peilingen per uur per server. Standaard 300, maximaal 3600, 0 schakelt het bemonsteren helemaal uit.

10 · Automatisering

Watchlist

De simpelste automatisering: voeg op het dashboard een titel toe, stel kwaliteitsvoorkeuren in, klaar. Nieuwe releases worden opgehaald zodra ze in je geïndexeerde groepen verschijnen; versies van betere kwaliteit upgraden eerdere grabs; een kalender laat zien wat eraan komt.

RSS-feeds

Instellingen → RSS: elke newznab/indexer-RSS-URL met per feed een interval, een categorie en filterregels (titelpatronen, grootte-grenzen). Passende items worden automatisch gedownload.

Slimme mappen

Regels die worden geëvalueerd zodra een taak wordt toegevoegd: match op patroon/trefwoorden en grootte, wijs een categorie toe (de eerste match wint). Met tv-opbergen aan worden voltooide tv-afleveringen hernoemd en opgeborgen als Show/Season 01/Show - S01E02.mkv - klaar voor Plex/Jellyfin zonder externe tool.

Planner

Het weekschema (zie §9) automatiseert pauzeren/hervatten/snelheid op tijdstip.

Scripts

Een nabewerkingsscript krijgt SABnzbd's positionele argumenten en SAB_*-omgevingsvariabelen - het grote ecosysteem aan SAB-scripts draait ongewijzigd.

11 · Sonarr, Radarr & co

nzbfast spreekt de SABnzbd-API native, dus elke *arr werkt out of the box - en hij kan ook als hun indexer optreden.

Als downloadclient

  1. In Sonarr/Radarr: Settings → Download Clients → voeg SABnzbd toe.
  2. Host: je nzbfast-machine · Poort: 6789 · API-sleutel: je volledige API-sleutel (Instellingen → Beveiliging; de QR-/kopieerknop staat ernaast).
  3. Categorie naar wens (bijv. tv / movies). Test → groen vinkje → Save.

Wachtrij, geschiedenis, status per taak, "verwijderen & wissen", opnieuw proberen en categorierouting gedragen zich allemaal zoals de *arrs verwachten.

Als indexer (newznab)

  1. Settings → Indexers → voeg Newznab toe.
  2. URL: http://<host>:6789/ · API-pad: /api · sleutel: je API-sleutel.
  3. nzbfast beantwoordt caps-, search-, tvsearch- en movie-queries uit zijn eigen index van je gescande groepen, en /getnzb/<id> levert de NZB terug.
Waarom zou je?Een zelfgehoste indexer van precies de groepen die jou interesseren: geen accounts, geen API-hit-limieten, retentie zo diep als je hem laat scannen.

12 · Telefoon & remote-apps

nzbfast implementeert beide grote afstandsbedieningsprotocollen, dus vrijwel elke mobiele/tablet-app werkt. Kies het protocol dat jouw app ondersteunt:

Apps die NZBGet spreken (nzb360, LunaSea, NZB Unity…)

Veld in de appWaarde
TypeNZBGet
Host / poortje machine : 6789
Gebruikersnaammaakt niet uit (bijv. nzbfast)
Wachtwoordje API-sleutel

Het volledige JSON-RPC-oppervlak dat deze apps gebruiken wordt geserveerd: status, wachtrij met herordenen/pauzeren/verwijderen, geschiedenis, NZB toevoegen, snelheidslimiet, pauzeren/hervatten, log.

Apps die SABnzbd spreken

Veld in de appWaarde
TypeSABnzbd
Host / poortje machine : 6789
API-sleutelje API-sleutel (of de NZB-sleutel voor alleen-toevoegen-toegang)

Het dashboard op je telefoon

Open gewoon http://<machine>:6789 in een mobiele browser - het hele dashboard en de wall hebben een touch-lay-out. Het paneel Instellingen → Externe toegang toont de exacte URL's en een QR-code om te scannen.

13 · Prestatietools

Systeembenchmark

Eén klik meet je drie plafonds - netwerkdoorvoer (een echte meting van 8 seconden over meerdere verbindingen), CPU-verificatiesnelheid en schrijfsnelheid van de schijf - en opent met het antwoord: je verwachte maximale downloadsnelheid en welk plafond de limiet is. De kortste balk is je bottleneck; de andere tonen hun marge. Plan hem in (elke 6 uur → wekelijks) en elke run wordt in een geschiedenistabel gelogd, zodat je ziet wanneer je provider, ISP of hardware zich anders ging gedragen. Geplande runs draaien alleen als de wachtrij inactief is.

Verbindingstuning

Meet één provider bij oplopende aantallen verbindingen en adviseert de instelling - meer sockets helpen tot de provider of je lijn verzadigd raakt, en sommige providers straffen te veel vragen af. Test alles vergelijkt elke provider en burst ze daarna allemaal samen om te checken of de pool je lijn verzadigt.

Serverdiversiteit

STAT-bemonstert artikelen van verschillende leeftijden op elke server en clustert providers op gedeelde gaten: providers met ~100% gedeelde ontbrekende artikelen zijn dezelfde backbone (redundant voor herstel); onafhankelijke providers breiden je dekking echt uit. Eindigt met een aanbeveling in gewone taal.

Automatische wachtrij-intelligentie

Het beschikbaarheidsorakel

Takedowns zijn de belangrijkste reden dat een Usenet-download mislukt, en ze zijn voorspelbaar: dezelfde release verdwijnt bij de ene backbone terwijl een andere hem nog heeft. nzbfast houdt een klein register bij van wat je eigen providers werkelijk geleverd hebben, en besteedt een minuscuul rustbudget aan STAT-peilingen (een paar honderd per uur per server, nooit tijdens een download) om het actueel te houden. Het haalt daarvoor nooit payload op.

Wat het je oplevert:

Het oordeel is een voorspelling op basis van aanwijzingen, geen garantie. Voor een hard antwoord over één NZB telt nzbfast check (§15) de werkelijke artikelen.

Geheugenbudget - en wat weinig geheugen kost

Alle engine-caches delen één budget (standaard ¼ van het fysieke RAM, begrensd op 256 MB–16 GB). Stel het expliciet in met Geheugenbudget in Instellingen, of --mem-limit op de commandoregel.

nzbfast is gebouwd om je netwerk en je schijf tegelijk vol te trekken, en RAM is wat dat in één pass mogelijk maakt: artikelen worden gedecodeerd, geverifieerd en rechtstreeks naar hun definitieve offsets geschreven, zodat archiefvolumes de schijf helemaal niet hoeven te raken. Knijp het geheugen af en er breekt niets - elke cache heeft een spill-pad, en de engine wijkt uit naar meer schijf-I/O in plaats van te swappen of te falen. Maar die spill is niet gratis, en bij grote taken kun je hem meten.

Gemeten op één machine en één lijn (M1 Ultra, 10 GbE), dezelfde bestanden bij elk budget. Elke run leverde een correct, volledig geverifieerd en uitgepakt resultaat op:

TaakgrootteRAM in overvloed2 GB budget
≈ machine met 8 GB
1 GB budget
≈ machine met 4 GB
256 MB budget
≈ NAS met 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%

Het piekgeheugen volgt het budget, niet de taak: die download van 190 GB voltooit in ongeveer 1,1 GB RAM. Wat je ervoor inlevert is tijd - en alleen bij grote taken.

AanbevelingGeef nzbfast grofweg 2 GB budget per 100 GB van de grootste taak die je downloadt, en laat verder de standaard staan - ¼ van het RAM is op de meeste machines al het juiste antwoord. In de praktijk: 4 GB RAM dekt taken tot ~35 GB op volle snelheid; 8–16 GB houdt ook taken van 100 GB-plus daar; een NAS met 2 GB maakt alles af wat je hem voert, maar zie hem als een achtergrond-downloader en niet als iets dat een snelle lijn zal verzadigen.

Zet op een kleine NAS ook Verbindingen lager (2–4), samen met het budget. Bij een budget van 256 MB en 2 verbindingen blijft het piekgeheugen rond de 190 MB - ruim binnen wat een NAS met 2 GB overheeft. Besef dat op dat punt het aantal verbindingen, niet het geheugen, de beperking is: dezelfde taak van 35 GB duurde 286 s in plaats van 65 s. Dat is de eerlijke vorm van de afweging - hij maakt het altijd af, en correct; hij trekt alleen de lijn niet vol.

Benchmarks worden voor elke release opnieuw gedraaid; de methode en de cijfers per machine worden naast de resultaten gepubliceerd.

14 · Updates

15 · Commandoregel

Alles wat de daemon doet is ook scriptbaar. De alledaagse commando's:

CommandoDoel
nzbfast setupInteractieve serverinstallatie.
nzbfast serveDraai de daemon (dashboard + API + automatisering). --open opent de browser; zie --help voor de volledige vlaggenlijst - elke dashboardinstelling heeft een vlag als tweelingbroer.
nzbfast get file.nzbDownload één NZB, volledige pipeline, zonder daemon. --preflight breekt vroeg af als de post niet compleet kán zijn; --password voor versleutelde sets.
nzbfast check file.nzbBeschikbaarheidsoordeel - COMPLETE / REPAIRABLE / IMPOSSIBLE - zonder payload te downloaden.
nzbfast verify DIRVerifieer bestanden tegen de PAR2-set in een map.
nzbfast sysbenchDe systeembenchmark + het diversiteitsrapport, in de terminal.
nzbfast index / searchScan groepen de index in / doorzoek hem, zonder de daemon.
nzbfast import-sabImporteer servers uit een SABnzbd-ini.

Ook beschikbaar: inspect, probe, bench, bench-cpu, soak, fetch, spots/spot-search/spot-get (Spotnet), make-release-nzb/make-test-nzb (testfixtures). Elk commando accepteert --config en --help. Daar komt post bij: het uploadt bestanden als yEnc-artikelen en schrijft de bijbehorende NZB. Een operationeel gereedschap; het vereist een expliciete --post-server en kiest nooit zelf een server.

16 · API-overzicht

Basis-endpoint: http://host:6789/api?mode=…&apikey=…&output=json - SABnzbd-compatibel, dus bestaande SAB-integraties werken ongewijzigd. Twee sleutels: de API-sleutel (volledige controle) en de NZB-sleutel (alleen toevoegen: addfile/addurl).

GebiedModes
Wachtrijqueue (met name=delete/pause/resume/priority/switch), pause, resume, addfile, addurl, retry, set_password
Infohistory, status/fullstatus, stats, version, server_stats, usage, log, warnings
Configget_config, config&name=<setting>&value=… (elk veld uit Instellingen), server_save/delete/test/enable/reorder, import_probe/apply
Index & wallindex_search, index_get, index_stats, index_scan_now, wall, wall_search/fix/refresh/art, plus newznab op /api?t=caps|search|tvsearch|movie en /getnzb/<id>
Automatiseringwatchlist, watchlist_check_now, watch_calendar, feeds, smart_folders, schedule
Diagnostieksysbench, bench_history, connladder, pooltest, diversity, update_check, update_apply
NZBGet JSON-RPC/jsonrpc - status, listgroups, history, append, editqueue, rate, pause, log (Basic auth: willekeurige gebruiker, API-sleutel als wachtwoord)
Voorvertoning / afspelen/stream/<nzo_id> (HTTP-ranges; het starten van een geparkeerde bibliotheektaak vereist een ?t=-token of de sleutel), /m3u/<id> (vereist de sleutel; geeft het token uit), /wall, /art/…

17 · Bestanden & locaties

BestandInhoud
config.local.jsonServerinloggegevens en opties per server. Aangemaakt door de wizard; te bewerken in Instellingen. Houd hem privé.
settings.jsonElke instelling die in het dashboard is gewijzigd. Staat naast de config; UI-waarden overschrijven commandoregelvlaggen. Verwijder een sleutel (of het bestand) om terug te vallen op vlaggen/standaardwaarden.
index.dbDe release-index (SQLite) + wall-metadata. Veilig te verwijderen - hij wordt door het scannen opnieuw opgebouwd (Instellingen → Indexeren → Wissen doet dit voor je).
<config>/.spool/Wachtrijstatus (overleeft herstarts), NZB's per taak, verbruiksgrootboek, benchmarkgeschiedenis, posterart-cache.
ArtikeljournalStaat in de uitvoermap van elke taak zolang die incompleet is - drijft crash-hervatting en opnieuw proberen aan. Wordt bij succes verwijderd.
Externe toolsGeen nodig - RAR-uitpakken en PAR2-herstel zijn native. Mocht een exotische set ooit een externe unrar of par2 als fallback nodig hebben, dan kijkt nzbfast eerst naast zijn executable en daarna op $PATH.

18 · Problemen oplossen

SymptoomControleer
Trage downloadsDraai de Systeembenchmark - die benoemt de bottleneck ronduit. Is het het netwerk: draai Verbindingstuning, check de aantallen verbindingen per server en controleer of je providers niet allemaal op één backbone zitten (Serverdiversiteit).
Alleen traag bij heel grote taken
(NAS of machine met weinig RAM)
Verwacht, en meetbaar: een uitgehongerd geheugenbudget spilt caches naar schijf en kost 20–40% voorbij ~87 GB. Zie Geheugenbudget voor de cijfers en hoeveel RAM je moet geven. Kleinere taken merken er niets van.
Download mislukt met "articles missing"De post is verlopen of bij je providers weggehaald. Een tweede provider op een andere backbone redt de meeste van deze gevallen. nzbfast check voorspelt dit vóór het downloaden. En de muur markeert de waarschijnlijk verdwenen releases vooraf met zijn beschikbaarheidsstip (§13). Een eerste mislukking van deze vorm probeert het na een wachttijd één keer vanzelf opnieuw, want propagatievertraging ziet er precies zo uit en lost zichzelf op.
Voltooid archief vraagt om een wachtwoordDe geschiedenisregel toont 🔑 - voer daar het wachtwoord in; de taak maakt zichzelf ter plekke af.
Sonarr/Radarr krijgt geen verbindingPoort 6789 bereikbaar? API-sleutel correct (volledige sleutel, niet de NZB-sleutel)? Clienttype op SABnzbd gezet?
De kaart Index doorzoeken blijft kleinDe indexer groeit op de achtergrond - check of er groepen zijn ingesteld bij Instellingen → Indexeren, en geef Verdiepen per scan de tijd om geschiedenis op te bouwen. "Nu scannen" forceert een ronde; de statusregel toont live de voortgang.
De wall toont verkeerde/geen artworkDetailblad → ✎ Match corrigeren of ↻ Metadata verversen. Filmlookups worden beter met een gratis OMDb-sleutel.
Daemon start niet: poort in gebruikEr draait al een instantie - of wijzig --port.
Waar zijn de logs?De Log-kaart op het dashboard, of de terminal/het logbestand waarmee je serve startte.
Kom je er niet uit?De Log-kaart benoemt meestal de boosdoener - stuur de staart ervan mee als je een probleem meldt, samen met je nzbfast --version.

nzbfast - deze handleiding wordt met elke release meegeleverd. De instellingen, endpoints en standaardwaarden hierin horen bij de versie waarmee hij is meegeleverd.