nzbfast is een Usenet-downloader die om één enkele pass is gebouwd: elke byte wordt gedecodeerd, geverifieerd en uitgepakt tijdens het downloaden. Achteraf volgt geen samenvoegpass, en er blijft niets meer te verifiëren of uit te pakken zodra hij klaar is. Op het moment dat de voortgangsbalk vol loopt, is het bestand af en aantoonbaar intact.
macOS · Windows · Linux · Docker: één op zichzelf staand uitvoerbaar bestand, herstel- en uitpaktools ingebouwd.

Waarom het snel is
Dit is architectuur, geen micro-optimalisatie, en alles ervan is gemeten in de benchmarklog met commando's die je zelf opnieuw kunt draaien.
Meerdere artikelverzoeken blijven tegelijk onderweg per verbinding, dus round-trips laten de socket nooit stilvallen, en TCP laat z'n congestievenster tussen artikelen door nooit inzakken. Gemeten +12% tot +270% t.o.v. serieel op vier locaties; een lijn raakt verzadigd met 8 verbindingen in plaats van 30–50.
Artikelen worden in-place SIMD-gedecodeerd, één keer weggeschreven op hun definitieve offsets, PAR2-geverifieerd vanuit de decodebuffers, en de inhoud van store-mode RAR's wordt tijdens de download uitgepakt. De volumes bestaan nooit als bestand. Schrijfwerk naar schijf = content × 1,0.
Een artikel is pas "ontbrekend" als élke ingestelde backbone het heeft geweigerd. Blok-exacte boekhouding bepaalt COMPLEET / HERSTELBAAR / ONMOGELIJK voordat er bytes verspild worden, haalt het exact passende minimum aan recovery-blokken op, en breekt kansloze downloads binnen seconden af.
De pipeline
De concurrentie schrijft de archiefvolumes weg, leest ze terug om te verifiëren, leest ze nóg eens om uit te pakken, en schrijft dan de uitvoer, grofweg 2× schrijven en 2× lezen. nzbfast doet het zo:
socket ──TLS──▶ rapidyenc SIMD-decode (in-place - 4,95 GB/s per core)
│
├─▶ pwrite op definitieve offset (gewone posts)
│ └─ of: RAR-map vertalen ─▶ pwrite rechtstreeks in het
│ uitgepakte bestand (store-mode posts - de rar-
│ volumes raken de schijf nooit aan)
├─▶ PAR2-blokhasher - elk blok MD5-geverifieerd vanuit de
│ decodebuffer; verificatie is klaar als de download klaar is
└─▶ beschikbaarheidsregister - blok-exacte status, live
Belangrijkste functies
De volledige lijst (elke knop, elke integratie) staat op de functiepagina.
Benchmarks
Zelfde machine, dezelfde zes providers, runs afwisselend achter elkaar gedraaid. Wat geklokt wordt, is wanneer er een bruikbaar, uitgepakt bestand bestaat, de enige maatstaf die er echt toe doet. Elke concurrent is afgesteld op z'n eigen gedocumenteerde optimum, tot en met het aanzetten van SABnzbds pipelining, die het standaard zonder levert.
190,6 GB NZB → één mkv van 167,9 GB, M1 Ultra op 10 GbE, 6 providers × 8 verbindingen. Dezelfde taak voltooit binnen een geheugenbudget van 1 GB. Volledige tabellen, alle zeven scenario's en de legs die we niet winnen (plus hoe je het reproduceert) op de benchmarkpagina.
Past in je stack
Hij draagt de volledige SABnzbd-compatibele API, dus je voegt nzbfast toe als "SABnzbd"-downloadclient en het werkt meteen: grabs, categorieën, prioriteiten, retries, nabewerkingsscripts op het SAB_*-contract, geschiedenis. De Newznab-facade gaat nog een stap verder en laat de *arrs je lokale index doorzoeken alsof het een indexer is.
De daemon spreekt ook NZBGets JSON-RPC, dus de populaire telefoon-remotes bedienen nzbfast zonder enige aanpassing. Het dashboard zelf heeft bovendien een volwaardige telefoonweergave voor als je niet achter het grote scherm zit.
Eén klik haalt je servers binnen uit een bestaande SABnzbd- of NZBGet-installatie, en hij leest sabnzbd.ini rechtstreeks als dat is wat hij aantreft. Watchmappen, gefilterde RSS-feeds, slimme mappen met tv-opberging en opruimregels reizen allemaal mee.
Uitpakken, dubbelklik de launcher, beantwoord drie vragen (of laat hem je bestaande SABnzbd-config vinden), en het dashboard opent. Je eerste download landt binnen twee minuten.