⚡ nzbfast
Il downloader Usenet veloce - manuale utente
1 · Benvenuto
nzbfast scarica da Usenet alla massima velocità che la tua linea, i tuoi provider e la tua macchina consentono - e di solito questo significa alla velocità della linea. È un unico programma autonomo: il motore, la dashboard web, la bacheca dei poster per sfogliare i media, l'indexer integrato, l'anteprima in tempo reale, la riparazione PAR2 nativa e l'estrazione RAR nativa stanno tutti dentro un solo eseguibile. Non c'è nient'altro da installare.
A renderlo veloce è l'architettura, non i ritocchi:
- NNTP in pipeline - molte richieste di articoli viaggiano una dietro l'altra su ciascuna connessione, tenendo ogni connessione a piena velocità invece di aspettare i round-trip.
- Una pipeline a passata unica - download, verifica ed estrazione si sovrappongono. I volumi degli archivi vengono estratti nel flusso; in un tipico post in store-mode i file RAR non toccano mai il disco, quindi il job richiede 1× la dimensione della release, non 2×, e termina quando termina il download.
- Unione multi-provider - ogni server configurato contribuisce; un articolo assente su un backbone viene recuperato da un altro. I server lenti o morti non bloccano mai la coda.
- Un budget di memoria - il motore si adatta a una dotazione di RAM limitata e ripiega sul disco se serve. Non manda mai in swap la tua macchina.
Misurato contro la concorrenza su hardware, job e provider identici, nzbfast ha completato un download da 190 GB in circa 5 minuti su una linea 10 GbE - con le alternative principali indietro del 30–220% sugli stessi test, quando riuscivano a completarli. Le cifre sono in §3.
2 · Avvio rapido
macOS
- Apri
nzbfast-<version>-macos.dmge trascina NzbFast in Applicazioni (universale: Apple Silicon + Intel). - Primo avvio: macOS avvisa che nzbfast non è ancora notarizzato da Apple. Clic destro sull'app → Apri - oppure apri Impostazioni di Sistema → Privacy e sicurezza, scorri in basso e clicca Apri comunque. Va fatto una volta sola.
- La finestra dell'app mostra la dashboard con una scheda di benvenuto - cliccala e aggiungi almeno un server Usenet (host, porta 563, nome utente, password). Altri si possono aggiungere in seguito dalle Impostazioni.
- Trascina un
.nzbovunque sulla dashboard - o semplicemente fai doppio clic sui file.nzbnel Finder. I download finiscono in~/Downloads/nzbfast. Esci dal menu; i download riprendono da dove erano rimasti.
Preferisci fare senza app? Lo zip semplice
(binario + launcher Start nzbfast.command, stesso motore) funziona come
prima - i passaggi sono più sotto, in "Da terminale".
Windows
- Esegui
nzbfast-setup-<version>.exe. Si installa solo per il tuo utente (nessuna password di amministratore). Poiché questa release non è ancora firmata, SmartScreen può mostrare "PC protetto da Windows" - clicca Ulteriori informazioni → Esegui comunque. - nzbfast vive nell'area di notifica: doppio clic sull'icona (o Open Dashboard nel menu del tasto destro) apre la dashboard; aggiungi poi il tuo server Usenet dalla scheda di benvenuto. Il menu dell'icona offre anche Pausa/Riprendi, la cartella dei download e l'uscita.
- Il doppio clic su un file
.nzblo mette in coda. Windows Defender può chiedere una volta il permesso di ascoltare sulla rete locale - concedilo.
Preferisci una copia portable? Lo zip -windows-x64.zip funziona
ancora: scompattalo dove vuoi e fai doppio clic su nzbfast.exe (o
Start nzbfast.bat) per la procedura guidata da terminale.
Da terminale (qualsiasi piattaforma)
nzbfast setup # interactive server setup (writes config.local.json)
nzbfast serve --open # start the daemon and open the dashboard
nzbfast import-sab.3 · Come funziona nzbfast
Un rapido vocabolario, perché il resto del manuale si legga senza intoppi:
| Termine | Significato |
|---|---|
| Provider / server | Un servizio Usenet con cui hai un account (Newshosting, Eweka, XS News…). Ciascuno consente un certo numero di connessioni simultanee. |
| Backbone | L'infrastruttura dietro un provider. Spesso più marchi rivendono lo stesso backbone - utile saperlo, perché due provider sullo stesso backbone mancano degli stessi articoli. Vedi Diversità dei server. |
| NZB | Un piccolo file XML che elenca gli articoli che compongono un post. È ciò che dai in pasto a nzbfast. |
| PAR2 | Dati di recupero pubblicati insieme a una release. nzbfast verifica su di essi durante il download e ripara automaticamente quando gli articoli sono danneggiati o mancanti. |
| RAR in store-mode | La maggior parte delle release è impacchettata in volumi RAR senza compressione. nzbfast lo riconosce e scrive il file interno direttamente nella sua posizione finale mentre scarica - nessuna fase di scompattamento dopo. |
La pipeline esegue download → decodifica → verifica → estrazione in parallelo. La scheda Pipeline sulla dashboard mostra le tre corsie muoversi insieme. Quando arriva l'ultimo byte, la verifica è già conclusa e il file è già estratto; il tempo di "post-elaborazione" di un job tipico è zero. Se serve una riparazione, solo allora i volumi vengono materializzati su disco, riparati sul posto dal motore GF(2¹⁶) nativo (i dati offuscati rinominati o traslati di qualche byte vengono trovati e recuperati da una scansione a blocchi scorrevole) e ri-estratti - tutto in automatico.
I download interrotti (crash, mancanza di corrente, kill -9) riprendono dal journal degli articoli: i byte già su disco non vengono mai scaricati due volte. Il journal registra dove sono finiti fisicamente i byte di ogni articolo - anche quelli estratti direttamente nel file finale - così una ripresa ricostruisce dal disco locale e ri-verifica tutto ciò che ha ripristinato contro la mappa dei blocchi PAR2 prima di fidarsene.
Il confronto
Misurato contro SABnzbd 5.0.4 e NZBGet 26.2 sulla stessa macchina, con gli stessi provider e gli stessi NZB, cronometrato fino al file utilizzabile - download, verifica, riparazione ed estrazione inclusi, perché è quello il momento in cui il job è davvero finito:
| Dimensione job | 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% |
Il divario è la post-elaborazione che gli altri devono ancora fare dopo l'arrivo dell'ultimo byte. Entrambi i concorrenti erano stati ottimizzati per il confronto, non lasciati sui valori predefiniti - SABnzbd in particolare esce di fabbrica con il pipelining delle richieste spento, cosa che gli costa cara, quindi è stato attivato.
Due differenze contano quanto i tempi:
- Spazio su disco. La passata unica richiede 1× la dimensione della release; i client che scrivono i volumi d'archivio e poi li scompattano richiedono 2×. Su una macchina di test con 97 GB liberi, un job da 87 GB qui è finito in 3 m 08 s e gli altri due non potevano nemmeno partire.
- Memoria. Sul job da 190 GB il picco è stato di 3,9 GB contro i 9,3 GB di SABnzbd - e nzbfast fa lo stesso job in circa 1 GB se glielo chiedi (vedi Budget di memoria).
4 · La dashboard
Apri http://localhost:6789 (o l'indirizzo della tua macchina da un
altro dispositivo - il layout per telefono si adatta da solo). Tutto si aggiorna in
tempo reale, una volta al secondo. Le schede, dall'alto in basso:
Barra d'intestazione
- Menu Limite di velocità - tetti fissi, auto · cede alla LAN (una modalità governata dall'RTT che si fa da parte quando qualcun altro in casa ha bisogno della linea), o nessun limite.
- Pausa per… - metti tutto in pausa per 15 min/30 min/1 h/3 h con ripresa automatica, oppure usa il pulsante Pausa per una pausa a tempo indeterminato. La pausa è immediata: il trasferimento attivo si ferma in pochi secondi e riprende poi dal journal, senza perdere nulla. (I job con priorità Forza continuano a scaricare, come in SABnzbd.)
- Qui compare un banner di aggiornamento quando è disponibile una nuova versione (vedi Aggiornamenti).
Velocità
MB/s in tempo reale con un grafico a scorrimento; le linee tratteggiate segnano massimo e minimo di questa sessione, la linea tenue è una media mobile. Sotto, un istogramma mostra come si distribuiscono i campioni di velocità della sessione - tipico contro picco. Allarga la finestra e i grafici mostrano più storia (fino a un'ora).
Riquadri statistici
Scaricato in questa sessione, profondità della coda, conteggio completati/non riusciti, velocità di picco della sessione.
Risorse - una macchina, quattro tetti
CPU, RAM (rispetto al budget di memoria di nzbfast), velocità di scrittura su disco e rete su un unico grafico normalizzato, con i valori reali in legenda e un avviso di spazio scarso. Nessun altro client NZB te lo mostra; esiste per dimostrare un punto - nzbfast satura la tua linea, non la tua macchina.
Pipeline - le fasi si sovrappongono
Tre corsie: download, verifica (blocchi PAR2 controllati), estrazione. In un job sano si muovono tutte e tre insieme.
Provider
Per ogni server: velocità in tempo reale, utilizzo delle connessioni, quota di traffico, GB della sessione e un punteggio storico di completamento articoli (che si colora quando un server scende sotto il 98%). Un grafico ad aree impilate mostra il contributo di ciascun provider nel tempo. Le righe si riordinano per prestazioni in tempo reale ogni 10 s (configurabile in Impostazioni → Interfaccia), così il tuo provider più veloce è sempre in cima.
Coda
- Trascina le righe per riordinare (entro la stessa fascia di priorità - Forza/Alta scaricano comunque per prime); cambia la priorità direttamente in riga.
- Clicca una riga per il pannello dei dettagli: barre di avanzamento per file, conteggi dei blocchi di verifica e quanto ha contribuito ciascun server a questo job.
- I badge segnalano gli stati speciali: rinviato (lento), prefetch in corso, in pausa (vedi Strumenti per le prestazioni).
- Un grafico burn-down traccia i GB totali rimanenti nell'intera coda.
Sfoglia indice
Cerca in tutto ciò che l'indexer integrato ha catalogato dai tuoi gruppi osservati (vedi Automazione) e scarica con un clic - nessun indexer esterno necessario. La riga di stato mostra l'avanzamento della scansione; Scansiona ora forza una passata.
Watchlist
Aggiungi titoli per nome - anche non ancora pubblicati. Quando una release corrispondente compare nell'indice viene prelevata automaticamente, con preferenze di qualità e regole di upgrade (una copia migliore sostituisce una peggiore).
Storico
I download recenti con stato, dimensione, posizione; i job non riusciti offrono Riprova (riprende dal journal). Gli archivi cifrati mostrano un controllo di sblocco 🔑 - inserisci la password e il job si completa sul posto. La striscia della salute delle verifiche traccia i blocchi PAR2 danneggiati per download - una coda in crescita indica articoli che arrivano danneggiati.
Utilizzo dati
Barre giornaliere per provider e totali Oggi / 7 giorni / 30 giorni - essenziali per gli account a consumo e a blocchi. Gli account a blocco mostrano l'uso complessivo rispetto alla loro dimensione.
Log, Benchmark di sistema, Ottimizzazione connessioni, Diversità dei server
Un visore di log nella pagina, e i tre strumenti di auto-misurazione descritti in Strumenti per le prestazioni.
5 · Aggiungere download
| Metodo | Come |
|---|---|
| Trascina e rilascia | Trascina uno o più file .nzb ovunque sulla dashboard. |
| Cartella monitorata | Imposta una cartella nelle Impostazioni; ogni
.nzb salvato lì dentro viene raccolto entro 5 secondi e il file rimosso.
Punta lì la cartella di download del browser per prelievi a un clic dai siti
indexer. |
| Da un URL | Incolla un link NZB (API mode=addurl, o tramite qualsiasi app collegata). |
| Sfoglia indice | Clicca una release completa nella scheda Sfoglia. |
| Watchlist / RSS | Automatico - vedi Automazione. |
| Sonarr/Radarr ecc. | Mandano i prelievi dritti in coda - vedi §11. |
| Riga di comando | nzbfast get file.nzb scarica senza il daemon. |
Categorie, priorità, password
- Le categorie sono etichette libere; ciascuna diventa una sottocartella della cartella di download, e le Cartelle smart (vedi §10) possono assegnarle per regola.
- Priorità: Forza > Alta > Normale > Bassa. Forza ignora pausa e quota.
- Le password degli archivi cifrati vengono raccolte automaticamente da
<meta type="password">dentro l'NZB o da un nome fileName{{password}}.nzb, e si possono fornire per job tramite l'API o in seguito dallo Storico (🔑).
6 · La bacheca dei poster
Clicca 🎬 bacheca nell'intestazione. La bacheca trasforma il tuo indice in un browser multimediale: ogni film e ogni release TV riconosciuti diventano un riquadro-poster con voto, anno, generi, cast e trama - i tuoi newsgroup, sfogliabili come un catalogo.
- Schede Film / Serie TV / Altro, ricerca istantanea e sette ordinamenti: Per te, Post più recenti, Anno di uscita, Più votati, Titolo A–Z, Più grandi e I più postati.
- Solo abbinati è attivo di default e nasconde la robaccia non identificata; un chip "+N non abbinati" la rivela.
- Clicca un riquadro per la scheda di dettaglio: trama, voto IMDb e numero di voti, cast - e ▶ Riproduci (anteprima immediata, vedi §7) o ⬇ Scarica.
- ✎ Correggi corrispondenza - se un titolo è stato abbinato alla serie o al film sbagliato, scegli quello giusto tra i poster candidati, oppure inserisci a mano titolo/anno/tipo. Il testo manuale non viene mai sovrascritto dall'arricchitore. ↻ Aggiorna metadati ricarica un titolo; Impostazioni → Indicizzazione può aggiornarli tutti o azzerare/ricostruire l'intero indice.
- I metadati sono senza chiavi di default - TVmaze, iTunes, i dataset IMDb, Wikidata, Wikipedia e AniList non richiedono account. Una chiave OMDb (gratuita, basta un'email - c'è un assistente alla registrazione in Impostazioni → Indicizzazione) migliora l'abbinamento dei film; una chiave TMDB viene usata se già ne hai una.
- Per te ordina il muro in base a un profilo di gusti costruito su questa macchina a partire dalla tua cronologia completata e dalla tua watchlist: generi preferiti, se penda verso il cinema o le serie, e all'incirca quale epoca. I titoli che hai già scendono in fondo invece di sparire, e una didascalia «Perché guardi …» dice su cosa si è basato. Senza cronologia ripiega su I più postati, quindi la scheda non è mai vuota. Niente di tutto questo lascia il daemon.
- Non mi interessa su una scheda nasconde quel titolo, e nasconderne alcuni simili insegna qualcosa al muro: propone un filtro da accettare con un clic («Nascondere tutti i titoli Reality d'ora in poi?»). Tutto ciò che hai nascosto, e ogni filtro appreso, si trova sotto Nascosti e filtri e lì si può annullare.
- Un piccolo punto di disponibilità su una scheda è il verdetto dell'oracolo (§13): un «?» ambra significa incerto sui tuoi provider, rosso che le sue parti continuano a mancare. I gruppi in via di ripulitura portano un distintivo ripulito.
7 · Anteprima e verifica
Non devi aspettare la fine di un download per sapere se è il file giusto. Aprilo mentre scarica, verifica che contenuto, lingua e qualità siano quelli che ti aspettavi, e annullalo subito se non lo sono - invece di scoprirlo a download completato.
- ▶ Riproduci sulla bacheca (o
/m3u/<id>) consegna al tuo player multimediale un URL; il daemon avvia o riusa il download che ci sta dietro. - L'endpoint
/stream/<nzo_id>serve il file con pieno supporto degli HTTP range mentre scarica. Controllare qualsiasi punto funziona: fai un controllo a campione al minuto 40 e gli articoli di quella regione vengono promossi in testa alla coda di download - si apre lì in un paio di secondi invece che in minuti. Testa e coda del file vengono scaricate per prime, così i player trovano subito i loro dati di indice. - Modalità libreria: le categorie elencate in library_cats diventano
voci istantanee di soli metadati - un file
.strmcompare subito, la disponibilità viene verificata in background e il download vero parte quando lo apri per la prima volta.
/stream. Per controllare da un'altra macchina usa l'indirizzo LAN della
macchina al posto di localhost./stream/<id>
richiede un token per job (?t=…) - i player non possono inviare chiavi
API, quindi il passaggio /m3u e il puntatore .strm lo
incorporano per te; per coniarlo (/m3u) serve la chiave. Il semplice
servizio dei byte di un download già attivo resta aperto, e le installazioni senza
chiave si comportano come prima.8 · Server Usenet
Impostazioni → Server Usenet è l'editor completo: aggiungere, modificare, rimuovere, riordinare e far entrare o uscire dal pool qualsiasi server. Ogni server ha:
| Campo | Note |
|---|---|
| Host / porta | Usa la porta SSL 563. Il TLS non costa nulla di misurabile - nzbfast cifra sempre. |
| Nome utente / password | Memorizzati in locale in config.local.json, mai rimandati al browser. Lasciare vuota la password in modifica mantiene quella memorizzata. |
| Connessioni | Connessioni simultanee per server. Usa Ottimizzazione connessioni (§13) per trovare il punto ideale di ciascun provider invece di sparare alto. |
| Livello (tier) | 0 = primario; i livelli superiori sono server di riempimento, interpellati solo per gli articoli mancati da tutti i livelli inferiori. Metti gli account illimitati a 0, quelli a blocchi a 1+. |
| Dimensione blocco (GB) | Per gli account a blocchi (a pagamento per GB): nzbfast traccia l'uso complessivo rispetto a questo valore e smette di usare il server a blocco esaurito (avviso all'85%). |
Altre due opzioni per server non hanno ancora un controllo nella dashboard:
aggiungile a mano nella voce di quel server dentro config.local.json
(vedi §17) e riavvia.
| Chiave | Note |
|---|---|
bind_ip | Lega le connessioni in uscita di questo server a un indirizzo locale preciso, per macchine con più uscite e tunnel VPN divisi. La famiglia di indirizzi sceglie anche la famiglia di destinazione: un bind v4 si collega all'indirizzo v4 del server. |
socks5 | Manda il traffico NNTP di questo server attraverso un proxy SOCKS5: host:port, oppure user:pass@host:port. Il nome host viene risolto dal proxy, quindi nessuna fuga DNS locale. |
- La spunta accanto a ogni server è il suo interruttore: spuntata, il server è nel pool di download; non spuntata, è disattivato. Un server disattivato mantiene credenziali e impostazioni e resta testabile; semplicemente non gli vengono mai chiesti articoli. La sua riga si attenua, il conteggio nell'intestazione (2 di 3 attivi) cala e la modifica vale dal download successivo. Comodo per tenere a riposo un account a blocchi che stai risparmiando, o per dimostrare che un provider è all'origine di un problema senza cancellarlo.
- Prova connessione esegue una connessione reale + TLS + login e riporta il tempo di andata e ritorno.
- Importa da SABnzbd / NZBGet… scansiona le consuete posizioni d'installazione, mostra cosa ha trovato e copia i server (saltando i duplicati).
- Le modifiche ai server valgono dal prossimo download - nessun riavvio.
9 · Guida alle impostazioni
Quasi tutto è configurabile dalla dashboard, sotto ⚙ Impostazioni; le quattro
eccezioni sono elencate in fondo a questa sezione. I valori marcati
live si applicano subito, quelli
restart al lancio successivo. Ogni modifica fatta qui
viene salvata in settings.json e sopravvive ai riavvii (i valori
dell'interfaccia battono le opzioni da riga di comando).
Velocità e pianificazione live
| Impostazione | Cosa fa |
|---|---|
| Limite di velocità | Tetto in byte/sec (50M, 1G, 0 = illimitato). Le app remote possono inviare percentuali - imposta la Velocità della linea perché vengano tradotte correttamente. |
| Velocità automatica | Tetto governato dall'RTT che cede il passo al resto del traffico di casa e si riespande quando la linea è tranquilla. |
| Rinvio automatico dei download lenti | Un job bloccato su un server lento mentre altri attendono viene spostato in fondo alla coda (avanzamento conservato). Vedi §13. |
| Prefetch sui server inattivi | I server inutili al job attivo avviano il prossimo in coda. Vedi §13. |
| Aggiornamento automatico / URL di controllo aggiornamenti | Vedi §14. |
| Velocità della linea | La velocità nominale della tua connessione - abilita i limiti percentuali dalle app compatibili SABnzbd. |
| Pianificazione settimanale | Editor a righe per regole settimanali: pausa, ripresa o limite di velocità in giorni e orari dati (ora locale). Es.: limita a 20 MB/s nei feriali 9–17, illimitato altrimenti. |
Prossimo download live
Connessioni (per server), finestra (profondità di pipelining per connessione), thread di decodifica (decodifica in parallelo). Campionati all'avvio di ogni job. I valori predefiniti vanno bene per la maggior parte delle linee; usa gli strumenti di ottimizzazione prima di alzare alla cieca.
Verifica rapida (CRC32) (attiva per impostazione predefinita) rivendica i blocchi PAR2 tramite CRC32 mentre il download è ancora in corso, il che è 2-3x più veloce su una CPU lenta. Il checksum proprio di ogni articolo viene comunque verificato e la passata finale usa sempre MD5 completo: non si sacrifica nulla in correttezza. Toglila per calcolare anche l'MD5 per blocco durante il download.
Disco e quota live
Spazio libero minimo (sotto la soglia i nuovi job vanno in pausa), quota di download per giorno o mese (UTC; i job Forza la ignorano), budget di memoria - la dotazione di RAM del motore (default: ¼ della RAM, con limiti; alzalo su una macchina con molta RAM per la velocità massima sui job enormi, e vedi quanto costa poca memoria prima di abbassarlo) riavvio.
Sposta i completati in: dopo estrazione, pulizia e rinomina, i download
completati vengono spostati qui - una condivisione NAS, un disco multimediale,
ovunque viva la tua libreria. La struttura delle categorie è mantenuta (un job
terminato sotto tv/ arriva sotto tv/ a destinazione) e
la cronologia segue lo spostamento, così le app collegate importano ed eliminano
nella nuova posizione. Se la destinazione non è raggiungibile quando un job
termina (condivisione offline, spazio esaurito), i file restano nella cartella di
download e il job si completa comunque normalmente. Vuoto = disattivato. Le
Destinazioni per categoria dirottano categorie specifiche altrove
(tv=/Volumes/NAS/TV, movies=/Volumes/NAS/Movies); ogni percorso elencato è la cartella di quella categoria,
quindi al suo interno non viene creata alcuna sottocartella di categoria
aggiuntiva. Le categorie non elencate seguono Sposta i completati in.
Profondità degli archivi annidati (predefinita 5) è quanti strati di archivio-dentro-archivio vengono estratti automaticamente: un set RAR che contiene un 7z che contiene un altro RAR è normale su Usenet, e nzbfast segue la catena senza una seconda passata. Al limite l'archivio più profondo viene semplicemente lasciato dov'è, non estratto oltre, e il download si completa lo stesso. Alzala solo per release insolitamente profonde.
Rinomina automatica e pulizia live
Rinomina i download completati (attiva per impostazione predefinita) dà alla
cartella e al file principale un nome pulito e informativo: un film diventa
Example Movie (2024), le serie mantengono Show - S01E02. I
nomi offuscati o non riconosciuti restano esattamente come sono stati postati, senza
tentativi di indovinare.
| Impostazione | Cosa fa |
|---|---|
| Includi risoluzione | Aggiunge 1080p, 2160p… al nome. Attiva per impostazione predefinita; gli altri quattro contrassegni sono spenti. |
| Includi codec video | x265, x264, AV1… |
| Includi codec audio | Atmos, DTS-HD, AC3… |
| Includi sorgente | BluRay, WEB, REMUX… |
| Includi gruppo di release | Il contrassegno -GROUP alla fine. |
| Rimuovi i file spazzatura | Attiva per impostazione predefinita. Elimina .par2, .nzb, .sfv, .nfo residui e le clip di anteprima dalle cartelle film e serie completate. Mai il video o i suoi sottotitoli. |
| Conserva solo il file multimediale | Spenta per impostazione predefinita, e distruttiva: elimina definitivamente tutto nella cartella tranne il video (o i video) e i sottotitoli. Ogni episodio di un pacchetto stagione viene mantenuto. Prevale su Rimuovi i file spazzatura quando sono attive entrambe. |
L'intero gruppo agisce dopo riparazione ed estrazione e prima di Sposta i completati in, ed è saltato del tutto per un lavoro ancora in attesa di password. Entrambi i passi di cancellazione valgono solo per release riconosciute come film o serie: un payload software o un set non classificabile (offuscato) non viene mai ripulito.
Cartelle ed elaborazione
Cartella di download riavvio, cartella monitorata,
script di post-elaborazione (eseguito dopo ogni job con argomenti compatibili
SABnzbd e ambiente SAB_* - gli script SAB esistenti funzionano senza
modifiche), estensioni da ripulire (file spazzatura eliminati a job
completato), Cartelle smart e archiviazione TV (vedi
§10).
Indicizzazione live
| Impostazione | Cosa fa |
|---|---|
| Gruppi | I newsgroup che l'indexer integrato scansiona (es. alt.binaries.teevee). |
| Intervallo di scansione | Secondi tra una passata e l'altra (default 900). |
| Articoli di backfill | Header recuperati alla primissima scansione di un gruppo. |
| Approfondimento per scansione | Ogni passata indicizza anche questo numero di articoli più vecchi, ampliando in background lo storico ricercabile fino a raggiungere l'Età massima (default 200.000 per passata ≈ decine di milioni di articoli per giorno di attività). |
| Età massima | Ignora i post più vecchi di così (90d, 6m, 2y) - contiene la dimensione dell'indice e i tempi di scansione. |
| Limita alla finestra di età | Attiva per impostazione predefinita. Elimina anche le release già memorizzate quando superano l'età massima, così l'indice tiene all'incirca quella finestra invece di crescere all'infinito. Spenta = vengono filtrati solo i post nuovi e ciò che è memorizzato resta. I frammenti morti (nascosti, ancora incompleti dopo una settimana) vengono raccolti in ogni caso. |
| Filtri di ingresso | Regole JSON che filtrano cosa entra nell'indice: tipi (la spazzatura offuscata viene scartata di default), anno/risoluzione/lingua, limiti di dimensione. |
| Scansiona ora / riscansione profonda | Esegue subito una passata; con una profondità, riscansiona quel numero di header recenti. |
| Chiave OMDb / aggiornamento metadati / azzeramento | Controlli di arricchimento della bacheca (§6). Azzera ricostruisce il database da zero - la via di recupero se mai dovesse corrompersi. |
Libreria, Sicurezza, Interfaccia
Libreria: categorie trattate come voci di libreria istantanee + intervallo di ricontrollo. Sicurezza: la chiave API completa (tutto) e la chiave NZB (solo inserimento - sicura da dare ai siti indexer), entrambe ruotabili a caldo. Interfaccia: suoni dei clic, notifiche desktop a fine download, intervallo di riordino dei provider.
Unità di velocità live decide come viene mostrata ogni velocità nella dashboard: megabyte (MB/s, la norma dei download manager, il valore predefinito) o megabit (Mb/s, come gli ISP dichiarano le linee). Le dimensioni dei file restano in byte. È una proprietà del daemon, non del tuo browser, quindi vale per ogni dispositivo che guarda questa installazione.
Avanzate: impostazioni senza controllo nella dashboard
Quattro impostazioni non hanno né un controllo nell'interfaccia né un'opzione da
riga di comando. Impostale tramite l'API (§16), ad es.
/api?mode=config&name=verify_mode&value=lean&apikey=…. Come
tutte le altre finiscono in settings.json.
| Nome | Cosa fa |
|---|---|
verify_mode | full | fast | lean (predefinito fast). lean è la spinta per CPU lente: come fast, ma salta anche il CRC yEnc per articolo non appena PAR2 copre un file, lasciando uno strato di CRC32 invece di due. I download senza PAR2 mantengono i CRC degli articoli, e la verifica e la riparazione di fine lavoro non cambiano in nessun caso. La Verifica rapida qui sopra è lo stesso controllo per full contro fast. |
auto_retry_mins | Attesa prima dell'unico ritentativo automatico concesso a un primo fallimento con articoli mancanti (predefinito 20). Il ritardo di propagazione è una causa reale di articoli mancanti e si risolve da sé; grazie al journal la ripetizione recupera solo ciò che manca ancora. I fallimenti per password o rimozione non rientrano mai. |
index_scan_par | Quanti gruppi l'indicizzatore analizza in parallelo (predefinito 3, limitato a 1-8). |
oracle_sample | Budget di STAT a riposo dell'oracolo di disponibilità (§13), sonde all'ora per server. Predefinito 300, massimo 3600, 0 disattiva del tutto il campionamento. |
10 · Automazione
Watchlist
L'automazione più semplice: aggiungi un titolo sulla dashboard, imposta le preferenze di qualità, fatto. Le nuove release vengono prelevate appena compaiono nei tuoi gruppi indicizzati; le copie di qualità migliore fanno l'upgrade dei prelievi precedenti; una vista calendario mostra cosa sta per arrivare.
Feed RSS
Impostazioni → RSS: qualsiasi URL RSS newznab/indexer, con intervallo, categoria e regole di filtro per feed (pattern sul titolo, limiti di dimensione). Gli elementi corrispondenti vengono scaricati automaticamente.
Cartelle smart
Regole valutate all'aggiunta di un job: corrispondenza per pattern/parole chiave
e dimensione, assegnazione di una categoria (vince la prima corrispondenza). Con
l'archiviazione TV attiva, gli episodi TV finiti vengono rinominati e
archiviati come Show/Season 01/Show - S01E02.mkv -
pronti per Plex/Jellyfin senza strumenti esterni.
Pianificatore
La pianificazione settimanale (vedi §9) automatizza pausa/ripresa/velocità in base all'ora del giorno.
Script
Uno script di post-elaborazione riceve gli argomenti posizionali di SABnzbd e le
variabili d'ambiente SAB_* - il vasto ecosistema di script SAB gira
così com'è.
11 · Sonarr, Radarr e compagnia
nzbfast parla nativamente l'API di SABnzbd, quindi ogni *arr funziona senza configurazioni particolari - e può fare anche da loro indexer.
Come client di download
- In Sonarr/Radarr: Settings → Download Clients → aggiungi SABnzbd.
- Host: la macchina con nzbfast · Porta: 6789 · chiave API: la tua chiave API completa (Impostazioni → Sicurezza; il controllo QR/copia è lì accanto).
- Categoria a piacere (es.
tv/movies). Test → spunta verde → Save.
Coda, storico, stato per job, "rimuovi ed elimina", riprova e instradamento per categoria si comportano tutti come i vari *arr si aspettano.
Come indexer (newznab)
- Settings → Indexers → aggiungi Newznab.
- URL:
http://<host>:6789/· percorso API:/api· chiave: la tua chiave API. - nzbfast serve le query
caps,search,tvsearchemoviedal proprio indice dei tuoi gruppi osservati, e/getnzb/<id>restituisce l'NZB.
12 · Telefono e app remote
nzbfast implementa entrambi i principali protocolli di controllo remoto, quindi quasi ogni app per telefono/tablet funziona. Scegli il protocollo che la tua app supporta:
App che parlano NZBGet (nzb360, LunaSea, NZB Unity…)
| Campo nell'app | Valore |
|---|---|
| Tipo | NZBGet |
| Host / porta | la tua macchina : 6789 |
| Nome utente | qualsiasi (es. nzbfast) |
| Password | la tua chiave API |
Viene servita l'intera superficie JSON-RPC usata da queste app: stato, coda con riordino/pausa/eliminazione, storico, aggiunta di NZB, limite di velocità, pausa/ripresa, log.
App che parlano SABnzbd
| Campo nell'app | Valore |
|---|---|
| Tipo | SABnzbd |
| Host / porta | la tua macchina : 6789 |
| Chiave API | la tua chiave API (o la chiave NZB per l'accesso di solo inserimento) |
La dashboard sul telefono
Basta aprire http://<machine>:6789 in un browser mobile -
dashboard e bacheca hanno un layout touch completo. Il pannello Impostazioni →
Accesso remoto mostra gli URL esatti e un codice QR da inquadrare.
13 · Strumenti per le prestazioni
Benchmark di sistema
Un clic misura i tuoi tre tetti - velocità di rete (una vera sonda multi-connessione di 8 secondi), velocità di verifica della CPU e velocità di scrittura su disco - e apre con la risposta: la velocità di download massima che puoi aspettarti e quale tetto è il limite. La barra più corta è il tuo collo di bottiglia; le altre mostrano il loro margine. Programmalo (da ogni 6 ore a settimanale) e ogni esecuzione finisce in una tabella storica, così vedi quando provider, ISP o hardware hanno cambiato comportamento. Le esecuzioni pianificate avvengono solo a coda inattiva.
Ottimizzazione connessioni
Misura un provider a numeri di connessioni crescenti e consiglia l'impostazione - più socket aiutano finché il provider o la tua linea non saturano, e alcuni provider puniscono chi chiede troppo. Testa tutti confronta ogni provider, poi li lancia tutti insieme per verificare che il pool saturi la tua linea.
Diversità dei server
Campiona con STAT articoli di varie età su ogni server e raggruppa i provider per lacune condivise: provider con ~100% di articoli mancanti in comune sono lo stesso backbone (ridondante per il recupero); quelli indipendenti estendono davvero la tua copertura. Chiude con una raccomandazione in linguaggio semplice.
Intelligenza automatica della coda
- Rinvio automatico: un download che arranca su un unico server lento mentre altri job attendono viene parcheggiato in fondo (il journal ne conserva l'avanzamento) e ritentato quando la coda è libera.
- Prefetch sui server inattivi: i server che non possono aiutare il job attivo (le loro copie sono sparite) iniziano intanto a scaricare il job successivo in coda. Nessun altro client sovrappone job diversi.
- Staffetta tra job: mentre la fase finale di un job concluso (verifica/estrazione) si completa su disco, il download del job successivo possiede già la linea.
L'oracolo di disponibilità
Le rimozioni sono il motivo principale per cui un download Usenet fallisce, e sono prevedibili: la stessa release sparisce da un backbone mentre un altro ce l'ha ancora. nzbfast tiene un piccolo registro di ciò che i tuoi provider hanno davvero servito e spende un budget minimo di sonde STAT a riposo (qualche centinaio all'ora per server, mai durante un download) per tenerlo aggiornato. Per farlo non scarica mai payload.
Cosa ne ricavi:
- Un verdetto di disponibilità sulle schede del muro e sulle righe dell'indice (§6): «?» ambra per incerto sui tuoi provider, rosso per sicuramente perso. Nessun segno significa che sembra a posto.
- Un distintivo ripulito sui gruppi in cui i post recenti vengono già rimossi, così distingui un gruppo che muore da una release sfortunata.
- Salta i provider che l'oracolo dà per persi (Impostazioni, spenta per impostazione predefinita, sperimentale): quando il controllo è sicuro che il backbone di un provider ha perso una release, lo salta subito per quel download invece di aspettarne il fallimento. Non salterà mai il tuo ultimo provider rimasto.
Il verdetto è una previsione basata su indizi, non una garanzia. Per una
risposta netta su un NZB, nzbfast check (§15) conta gli
articoli reali.
Budget di memoria - e quanto costa poca memoria
Tutte le cache del motore condividono un unico budget (default ¼ della RAM
fisica, limitato a 256 MB–16 GB). Impostalo esplicitamente con Budget di
memoria nelle Impostazioni, o con --mem-limit da riga di comando.
nzbfast è costruito per saturare rete e disco allo stesso tempo, e la RAM è ciò che gli permette di farlo in una passata: gli articoli vengono decodificati, verificati e scritti dritti ai loro offset finali, così i volumi d'archivio possono non toccare mai il disco. Affamalo di memoria e non si rompe nulla - ogni cache ha una via di sfogo, e il motore ripiega su più I/O su disco invece di andare in swap o fallire. Ma quello sfogo non è gratis, e sui job grandi si misura.
Misurato su una macchina e una linea (M1 Ultra, 10 GbE), stessi file a ogni budget. Ogni esecuzione ha prodotto un risultato corretto, pienamente verificato ed estratto:
| Dimensione job | RAM in abbondanza | Budget 2 GB ≈ macchina da 8 GB | Budget 1 GB ≈ macchina da 4 GB | Budget 256 MB ≈ NAS da 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% |
Il picco di memoria segue il budget, non il job: quel download da 190 GB si completa in circa 1,1 GB di RAM. In cambio paghi tempo - e solo sui job grandi.
- Fino a ~35 GB, poca memoria è gratis. Il working set ci sta comunque, quindi una macchina da 4 GB finisce un job del genere alla stessa velocità di una da 64 GB.
- Oltre ~87 GB paghi il 20–40% - ma solo quando la linea corre più del disco. I blocchi di verifica e i volumi d'archivio che sarebbero rimasti in RAM vengono scritti fuori e riletti, e questo costa tempo solo se la rete consegna più in fretta di quanto il disco riesca ad assorbire il traffico extra. Il 20–40% qui sopra è stato misurato su 10 GbE; lo stesso job da 87 GB agli stessi budget su una linea da ~2,4 Gbps non ha mostrato alcuna penalità (da −1 a +7%, dentro il rumore tra esecuzioni). La penalità dipende da quanto la linea supera il disco, non dalla dimensione del job - su una tipica connessione domestica un budget piccolo è quasi gratis anche su job molto grandi.
- La penalità si appiattisce. Quando un job è abbastanza grande da traboccare, ogni budget stretto trabocca più o meno della stessa quantità - le esecuzioni a 2 GB, 1 GB e 256 MB rileggono in pratica lo stesso numero di blocchi da disco e finiscono a distanza di rumore l'una dall'altra. Un po' di RAM in più, sotto la soglia che evita del tutto il trabocco, non ricompra quindi il costo: dagli abbastanza da tenere il job in memoria, oppure la cifra esatta conta poco.
Su un NAS piccolo, abbassa anche le Connessioni (2–4) insieme al budget. Con un budget di 256 MB e 2 connessioni, il picco di memoria resta intorno a 190 MB - comodamente dentro quel che un NAS da 2 GB ha di riserva. Sappi che a quel punto è il numero di connessioni, non la memoria, a limitarti: lo stesso job da 35 GB ha impiegato 286 s invece di 65 s. È la forma onesta del compromesso - finirà sempre, e finirà correttamente; solo, non saturerà la linea.
I benchmark vengono rieseguiti a ogni release; metodo e cifre per macchina sono pubblicati insieme ai risultati.
14 · Aggiornamenti
- Gli aggiornamenti sono solo notifiche: nzbfast non scarica né sostituisce mai il proprio binario, e non contiene codice in grado di farlo. Quando esiste una nuova versione, l'intestazione mostra ⬆ v X disponibile - scarica; il chip porta alla pagina di download ufficiale (il link è fisso nell'app, non arriva mai dal manifesto degli aggiornamenti). Installa la nuova versione nello stesso modo in cui hai installato quella attuale.
- nzbfast controlla le nuove versioni due volte al giorno. Disattiva Controlla aggiornamenti (Impostazioni) e non contatterà più affatto il manifesto degli aggiornamenti; un URL di controllo vuoto fa lo stesso.
15 · Riga di comando
Tutto ciò che fa il daemon è anche scriptabile. I comandi di tutti i giorni:
| Comando | Scopo |
|---|---|
nzbfast setup | Configurazione interattiva dei server. |
nzbfast serve | Esegue il daemon (dashboard + API + automazione). --open apre il browser; vedi --help per l'elenco completo dei flag - ogni impostazione della dashboard ha il suo gemello flag. |
nzbfast get file.nzb | Scarica un NZB, pipeline completa, senza daemon. --preflight interrompe subito se il post non può completarsi; --password per i set cifrati. |
nzbfast check file.nzb | Verdetto di disponibilità - COMPLETE / REPAIRABLE / IMPOSSIBLE - senza scaricare il payload. |
nzbfast verify DIR | Verifica i file contro il set PAR2 in una directory. |
nzbfast sysbench | Il benchmark di sistema + il report di diversità, nel terminale. |
nzbfast index / search | Scansiona gruppi nell'indice / lo interroga, senza daemon. |
nzbfast import-sab | Importa i server da un ini di SABnzbd. |
Disponibili anche: inspect, probe,
bench, bench-cpu, soak, fetch,
spots/spot-search/spot-get (Spotnet),
make-release-nzb/make-test-nzb (fixture di test). Ogni
comando accetta --config e --help. Si aggiunge post: carica file come articoli
yEnc e scrive l'NZB corrispondente. È uno strumento operativo, richiede un
--post-server esplicito e non sceglie mai un server al posto tuo.
16 · Panoramica dell'API
Endpoint di base: http://host:6789/api?mode=…&apikey=…&output=json -
compatibile SABnzbd, quindi le integrazioni SAB esistenti funzionano senza
modifiche. Due chiavi: la chiave API (controllo completo) e la chiave
NZB (solo inserimento: addfile/addurl).
| Area | Modalità |
|---|---|
| Coda | queue (con name=delete/pause/resume/priority/switch), pause, resume, addfile, addurl, retry, set_password |
| Info | history, status/fullstatus, stats, version, server_stats, usage, log, warnings |
| Config | get_config, config&name=<setting>&value=… (ogni campo delle Impostazioni), server_save/delete/test/enable/reorder, import_probe/apply |
| Indice e bacheca | index_search, index_get, index_stats, index_scan_now, wall, wall_search/fix/refresh/art, più newznab su /api?t=caps|search|tvsearch|movie e /getnzb/<id> |
| Automazione | watchlist, watchlist_check_now, watch_calendar, feeds, smart_folders, schedule |
| Diagnostica | sysbench, bench_history, connladder, pooltest, diversity, update_check, update_apply |
| NZBGet JSON-RPC | /jsonrpc - status, listgroups, history, append, editqueue, rate, pause, log (Basic auth: utente qualsiasi, chiave API come password) |
| Anteprima / riproduzione | /stream/<nzo_id> (range HTTP; avviare un job di libreria parcheggiato richiede il token ?t= o la chiave), /m3u/<id> (richiede la chiave; conia il token), /wall, /art/… |
17 · File e percorsi
| File | Contenuto |
|---|---|
config.local.json | Credenziali dei server e opzioni per server. Creato dalla procedura guidata; modificabile nelle Impostazioni. Tienilo privato. |
settings.json | Ogni impostazione cambiata dalla dashboard. Sta accanto al config; i valori dell'interfaccia prevalgono sui flag da riga di comando. Elimina una chiave (o il file) per tornare a flag e valori predefiniti. |
index.db | L'indice delle release (SQLite) + i metadati della bacheca. Si può eliminare senza rischi - si ricostruisce con la scansione (Impostazioni → Indicizzazione → Azzera lo fa per te). |
<config>/.spool/ | Stato della coda (sopravvive ai riavvii), NZB per job, registro dei consumi, storico dei benchmark, cache delle copertine. |
| Journal degli articoli | Dentro la cartella di output di ogni job finché incompleto - alimenta la ripresa dopo crash e Riprova. Rimosso a successo avvenuto. |
| Strumenti esterni | Nessuno necessario - l'estrazione RAR e la riparazione PAR2 sono native. Se un set esotico dovesse mai richiedere un unrar o par2 esterno come ripiego, nzbfast cerca accanto al proprio eseguibile, poi nel $PATH. |
18 · Risoluzione dei problemi
| Sintomo | Da controllare |
|---|---|
| Download lenti | Esegui il Benchmark di sistema - nomina il collo di bottiglia senza giri di parole. Se è la rete: esegui Ottimizzazione connessioni, controlla le connessioni per server e verifica che i tuoi provider non siano tutti sullo stesso backbone (Diversità dei server). |
| Lento solo sui job molto grandi (NAS o macchina con poca RAM) | Atteso, e misurabile: un budget di memoria affamato riversa le cache su disco e costa il 20–40% oltre ~87 GB. Vedi Budget di memoria per le cifre e per quanta RAM dargli. I job più piccoli non ne risentono. |
| Il download fallisce con "articles missing" | Il post è scaduto o è stato rimosso presso i tuoi provider. Un secondo provider su un backbone diverso salva la maggior parte di questi casi. nzbfast check lo predice prima di scaricare. E il muro segnala in anticipo quelle probabilmente sparite con il suo punto
di disponibilità (§13). Un primo fallimento di questa forma si
ritenta da solo una volta dopo un'attesa, perché il ritardo di propagazione ha lo stesso
aspetto e si risolve da sé. |
| L'archivio finito chiede una password | La riga dello Storico mostra 🔑 - inserisci lì la password; il job si completa sul posto. |
| Sonarr/Radarr non si collega | La porta 6789 è raggiungibile? Chiave API corretta (chiave completa, non chiave NZB)? Tipo di client impostato su SABnzbd? |
| La scheda Sfoglia resta piccola | L'indexer cresce in background - controlla che i gruppi in Impostazioni → Indicizzazione siano impostati, e dai all'Approfondimento per scansione il tempo di accumulare storico. "Scansiona ora" forza una passata; la riga di stato mostra l'avanzamento in tempo reale. |
| La bacheca mostra copertine sbagliate o assenti | Scheda di dettaglio → ✎ Correggi corrispondenza o ↻ Aggiorna metadati. Le ricerche dei film migliorano con una chiave OMDb gratuita. |
| Il daemon non parte: porta occupata | C'è un'altra istanza in esecuzione - oppure cambia --port. |
| Dove sono i log? | Nella scheda Log della dashboard, o nel terminale/file di log con cui hai lanciato serve. |
nzbfast --version.nzbfast - questo manuale accompagna ogni release. Impostazioni, endpoint e valori predefiniti citati qui corrispondono alla versione con cui è stato distribuito.