nzbfast è un downloader Usenet costruito attorno a un'unica passata: ogni byte viene decodificato, verificato ed estratto mentre scarica. Dopo non resta nessuna passata di assemblaggio, niente da verificare o da estrarre una volta finito. Nell'istante in cui la barra di avanzamento si riempie, il file è pronto e dimostrabilmente integro.
macOS · Windows · Linux · Docker: un unico eseguibile autonomo, strumenti di riparazione ed estrazione integrati.

Perché è veloce
Abbiamo misurato cosa viene davvero pubblicato su usenet prima di decidere cosa ottimizzare, e un'idea da sola fa quasi tutto il lavoro. Tutto è misurato nel log dei benchmark con comandi riproducibili.
Gli articoli vengono decodificati SIMD sul posto, scritti una sola volta ai loro offset finali e verificati PAR2 dagli stessi buffer. L'archivio viene estratto durante il download, così i suoi volumi non esistono mai come file. Vale per gli archivi semplici, cifrati, annidati e 7z, cioè circa il 95% di tutto ciò che viene pubblicato, in volume. Anche gli archivi davvero compressi vengono estratti mentre arrivano, e ricorrono a una seconda passata solo quando il set è troppo grande per stare in memoria durante la decompressione.
Un articolo è «mancante» solo quando ogni backbone configurato lo ha rifiutato. Una contabilità esatta al blocco decide COMPLETO / RIPARABILE / IMPOSSIBILE prima di sprecare byte, recupera il minimo su misura di blocchi di recupero e interrompe in pochi secondi i download senza speranza.
Tenere più richieste in volo per connessione non è un'idea nostra, e i client migliori lo fanno. Il nostro è insolitamente efficiente: su quattro siti abbiamo misurato da +12% a +270% rispetto al seriale, e una linea satura con 8 connessioni invece di 30–50, così hai la piena velocità senza martellare il tuo provider. SABnzbd lo distribuisce ancora disattivato.
La pipeline
I concorrenti scrivono i volumi dell'archivio, li rileggono per verificarli, li rileggono di nuovo per estrarli, poi scrivono l'output, grosso modo 2× scritture e 2× letture. nzbfast fa invece così:
socket ──TLS──▶ decodifica SIMD rapidyenc (sul posto - 4.95 GB/s per core)
│
├─▶ pwrite all'offset finale (post semplici)
│ └─ oppure: traduzione RAR-map ─▶ (sblocco, se cifrato) ─▶
│ pwrite dritto nel file estratto
│ (i volumi rar non toccano mai il disco - archivi
│ semplici, cifrati e annidati allo stesso modo)
├─▶ hasher a blocchi PAR2 - ogni blocco verificato in MD5 dal
│ buffer di decodifica; la verifica finisce col download
└─▶ registro di disponibilità - salute esatta al blocco, in tempo reale
Funzionalità di punta
L'elenco completo (ogni regolazione, ogni integrazione) è nella pagina delle funzionalità.
Benchmark
Stessa macchina, stessi sei provider, esecuzioni alternate una dopo l'altra. Tempo fino a quando esiste un file utilizzabile ed estratto, l'unica metrica che conta. Ogni concorrente ottimizzato al suo meglio documentato (incluso l'attivare il pipelining di SABnzbd, che di serie ne è privo).
NZB da 190.6 GB → singolo mkv da 167.9 GB, M1 Ultra su 10 GbE, 6 provider × 8 connessioni. Lo stesso job si completa dentro un budget di memoria di 1 GB. Tabelle complete, tutti e sette gli scenari e le prove che non vinciamo (più come riprodurle) nella pagina dei benchmark.
Si integra nel tuo stack
API completa compatibile SABnzbd. Aggiungi nzbfast come client di download «SABnzbd» e funziona e basta: prelievi, categorie, priorità, tentativi, script di post-elaborazione (contratto SAB_*), storico. La facciata Newznab permette inoltre agli *arr di cercare nel tuo indice locale come se fosse un indexer.
Il daemon parla anche il JSON-RPC di NZBGet. I telecomandi per telefono più diffusi pilotano nzbfast senza modifiche. E la dashboard stessa ha un layout per telefono di prima classe per quando sei lontano dallo schermo grande. (nzb360: SABnzbd API.)
Un clic importa i tuoi server da un'installazione SABnzbd o NZBGet esistente (legge anche sabnzbd.ini direttamente). Cartelle monitorate, feed RSS con filtri, cartelle smart con archiviazione TV e regole di pulizia vengono al seguito.
Estrai, doppio clic sul launcher, rispondi a tre domande (o lascia che trovi la tua configurazione SABnzbd), e la dashboard si apre. Primo download entro due minuti.