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

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

  1. Apri nzbfast-<version>-macos.dmg e trascina NzbFast in Applicazioni (universale: Apple Silicon + Intel).
  2. 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.
  3. 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.
  4. Trascina un .nzb ovunque sulla dashboard - o semplicemente fai doppio clic sui file .nzb nel 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

  1. 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 informazioniEsegui comunque.
  2. 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.
  3. Il doppio clic su un file .nzb lo 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
SuggerimentoUsi già SABnzbd o NZBGet? Evita di ridigitare le credenziali: Impostazioni → Server Usenet → Importa da SABnzbd / NZBGet… trova l'installazione esistente e ne copia i server. Da riga di comando c'è anche nzbfast import-sab.

3 · Come funziona nzbfast

Un rapido vocabolario, perché il resto del manuale si legga senza intoppi:

TermineSignificato
Provider / serverUn servizio Usenet con cui hai un account (Newshosting, Eweka, XS News…). Ciascuno consente un certo numero di connessioni simultanee.
BackboneL'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.
NZBUn piccolo file XML che elenca gli articoli che compongono un post. È ciò che dai in pasto a nzbfast.
PAR2Dati 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-modeLa 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 jobnzbfastNZBGet 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%

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:

Ripresa dopo crash, misurataUccidi un download in piena corsa (kill -9 a 15 GB di un job da 34,5 GB) e la ripresa riscarica ~0,3 GB - solo gli articoli davvero in volo al momento del kill - contro gli 0,2 GB di NZBGet nello stesso test. Un tempo era una sconfitta che pubblicavamo (15,3 GB riscaricati, quando il journal non sapeva rendere conto dei byte estratti direttamente); il journal dei posizionamenti l'ha risolta: la ripresa ripristina quei byte dai file di output locali e ri-verifica ogni byte ripristinato contro la mappa dei blocchi PAR2 prima di fidarsene. Ogni scenario in cui perdiamo è pubblicato accanto alle vittorie, con il metodo completo e i numeri grezzi.

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

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

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

MetodoCome
Trascina e rilasciaTrascina uno o più file .nzb ovunque sulla dashboard.
Cartella monitorataImposta 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 URLIncolla un link NZB (API mode=addurl, o tramite qualsiasi app collegata).
Sfoglia indiceClicca una release completa nella scheda Sfoglia.
Watchlist / RSSAutomatico - vedi Automazione.
Sonarr/Radarr ecc.Mandano i prelievi dritti in coda - vedi §11.
Riga di comandonzbfast get file.nzb scarica senza il daemon.

Categorie, priorità, password

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.

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.

Nota sui playerVLC, IINA, mpv e Infuse aprono tutti gli URL /stream. Per controllare da un'altra macchina usa l'indirizzo LAN della macchina al posto di localhost.
Nota sull'autenticazioneCon una chiave API impostata, aprire una voce di libreria parcheggiata via /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:

CampoNote
Host / portaUsa la porta SSL 563. Il TLS non costa nulla di misurabile - nzbfast cifra sempre.
Nome utente / passwordMemorizzati in locale in config.local.json, mai rimandati al browser. Lasciare vuota la password in modifica mantiene quella memorizzata.
ConnessioniConnessioni 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.

ChiaveNote
bind_ipLega 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.
socks5Manda 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.
ConsiglioDue provider su backbone diversi battono tre sullo stesso. Esegui Diversità dei server (§13) per vedere quali dei tuoi provider diversificano davvero la tua copertura e quali sono copie ridondanti l'uno dell'altro.

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

ImpostazioneCosa 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à automaticaTetto governato dall'RTT che cede il passo al resto del traffico di casa e si riespande quando la linea è tranquilla.
Rinvio automatico dei download lentiUn job bloccato su un server lento mentre altri attendono viene spostato in fondo alla coda (avanzamento conservato). Vedi §13.
Prefetch sui server inattiviI server inutili al job attivo avviano il prossimo in coda. Vedi §13.
Aggiornamento automatico / URL di controllo aggiornamentiVedi §14.
Velocità della lineaLa velocità nominale della tua connessione - abilita i limiti percentuali dalle app compatibili SABnzbd.
Pianificazione settimanaleEditor 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.

ImpostazioneCosa fa
Includi risoluzioneAggiunge 1080p, 2160p… al nome. Attiva per impostazione predefinita; gli altri quattro contrassegni sono spenti.
Includi codec videox265, x264, AV1
Includi codec audioAtmos, DTS-HD, AC3
Includi sorgenteBluRay, WEB, REMUX
Includi gruppo di releaseIl contrassegno -GROUP alla fine.
Rimuovi i file spazzaturaAttiva 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 multimedialeSpenta 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

ImpostazioneCosa fa
GruppiI newsgroup che l'indexer integrato scansiona (es. alt.binaries.teevee).
Intervallo di scansioneSecondi tra una passata e l'altra (default 900).
Articoli di backfillHeader recuperati alla primissima scansione di un gruppo.
Approfondimento per scansioneOgni 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à massimaIgnora 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 ingressoRegole JSON che filtrano cosa entra nell'indice: tipi (la spazzatura offuscata viene scartata di default), anno/risoluzione/lingua, limiti di dimensione.
Scansiona ora / riscansione profondaEsegue subito una passata; con una profondità, riscansiona quel numero di header recenti.
Chiave OMDb / aggiornamento metadati / azzeramentoControlli 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.

NomeCosa fa
verify_modefull | 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_minsAttesa 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_parQuanti gruppi l'indicizzatore analizza in parallelo (predefinito 3, limitato a 1-8).
oracle_sampleBudget 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

  1. In Sonarr/Radarr: Settings → Download Clients → aggiungi SABnzbd.
  2. Host: la macchina con nzbfast · Porta: 6789 · chiave API: la tua chiave API completa (Impostazioni → Sicurezza; il controllo QR/copia è lì accanto).
  3. 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)

  1. Settings → Indexers → aggiungi Newznab.
  2. URL: http://<host>:6789/ · percorso API: /api · chiave: la tua chiave API.
  3. nzbfast serve le query caps, search, tvsearch e movie dal proprio indice dei tuoi gruppi osservati, e /getnzb/<id> restituisce l'NZB.
Perché farlo?Un indexer self-hosted esattamente dei gruppi che ti interessano: niente account, niente limiti di chiamate API, retention profonda quanto gli lasci scansionare.

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'appValore
TipoNZBGet
Host / portala tua macchina : 6789
Nome utentequalsiasi (es. nzbfast)
Passwordla 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'appValore
TipoSABnzbd
Host / portala tua macchina : 6789
Chiave APIla 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

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:

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 jobRAM in abbondanzaBudget 2 GB
≈ macchina da 8 GB
Budget 1 GB
≈ macchina da 4 GB
Budget 256 MB
≈ NAS da 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%

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.

ConsiglioDai a nzbfast circa 2 GB di budget ogni 100 GB del job più grande che scarichi, e per il resto lascia il valore predefinito - ¼ della RAM è già la risposta giusta sulla maggior parte delle macchine. In pratica: 4 GB di RAM coprono a piena velocità job fino a ~35 GB; 8–16 GB ci tengono anche i job da 100 GB e oltre; un NAS da 2 GB finirà qualsiasi cosa gli lanci, ma trattalo come un downloader in background, non come qualcosa che saturerà una linea veloce.

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

15 · Riga di comando

Tutto ciò che fa il daemon è anche scriptabile. I comandi di tutti i giorni:

ComandoScopo
nzbfast setupConfigurazione interattiva dei server.
nzbfast serveEsegue 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.nzbScarica un NZB, pipeline completa, senza daemon. --preflight interrompe subito se il post non può completarsi; --password per i set cifrati.
nzbfast check file.nzbVerdetto di disponibilità - COMPLETE / REPAIRABLE / IMPOSSIBLE - senza scaricare il payload.
nzbfast verify DIRVerifica i file contro il set PAR2 in una directory.
nzbfast sysbenchIl benchmark di sistema + il report di diversità, nel terminale.
nzbfast index / searchScansiona gruppi nell'indice / lo interroga, senza daemon.
nzbfast import-sabImporta 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).

AreaModalità
Codaqueue (con 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=… (ogni campo delle Impostazioni), server_save/delete/test/enable/reorder, import_probe/apply
Indice e bachecaindex_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>
Automazionewatchlist, watchlist_check_now, watch_calendar, feeds, smart_folders, schedule
Diagnosticasysbench, 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

FileContenuto
config.local.jsonCredenziali dei server e opzioni per server. Creato dalla procedura guidata; modificabile nelle Impostazioni. Tienilo privato.
settings.jsonOgni 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.dbL'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 articoliDentro la cartella di output di ogni job finché incompleto - alimenta la ripresa dopo crash e Riprova. Rimosso a successo avvenuto.
Strumenti esterniNessuno 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

SintomoDa controllare
Download lentiEsegui 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 passwordLa riga dello Storico mostra 🔑 - inserisci lì la password; il job si completa sul posto.
Sonarr/Radarr non si collegaLa porta 6789 è raggiungibile? Chiave API corretta (chiave completa, non chiave NZB)? Tipo di client impostato su SABnzbd?
La scheda Sfoglia resta piccolaL'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 assentiScheda di dettaglio → ✎ Correggi corrispondenza o ↻ Aggiorna metadati. Le ricerche dei film migliorano con una chiave OMDb gratuita.
Il daemon non parte: porta occupataC'è 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.
Ancora bloccato?La scheda Log di solito nomina il colpevole - includine la parte finale quando segnali un problema, insieme al tuo nzbfast --version.

nzbfast - questo manuale accompagna ogni release. Impostazioni, endpoint e valori predefiniti citati qui corrispondono alla versione con cui è stato distribuito.