De la NZB la un fișier verificat
înainte ca alții să termine descărcarea.

nzbfast este un descărcător Usenet construit în jurul unui pipeline într-o singură trecere: fiecare octet este decodat, verificat și extras în timp ce se descarcă. Nu urmează nicio trecere de asamblare, nu mai rămâne nimic de verificat sau dezarhivat odată terminat. În clipa în care bara de progres se umple, fișierul e gata și demonstrabil intact.

9.0-9.3 Gbps pe o linie de 10 GbE 190 GB → 4m47s către un fișier verificat Volumele RAR nu ating niciodată discul Jumătate din discul de care au nevoie concurenții Cu buget de RAM · 0 swap-uri, vreodată
Descarcă Vezi cifrele

macOS · Windows · Linux · Docker: un singur executabil de sine stătător, cu instrumentele de reparare și dezarhivare integrate.

panoul nzbfast în timpul unei descărcări, la 61 MB/s: debit cu vârf de 104 MB/s pe un grafic de istoric complet, grafice live de resurse și per provider, și etapele pipeline-ului descărcare/verificare/extragere suprapunându-se

De ce e rapid

Circa 95% dintre descărcările usenet într-o singură trecere

Am măsurat ce se postează de fapt pe usenet înainte de a decide ce optimizăm, iar o singură idee face cea mai mare parte a muncii. Totul este măsurat în jurnalul de benchmark cu comenzi pe care le poți rula din nou.

🚿

O singură trecere, aproape orice formă

Articolele sunt decodate SIMD pe loc, scrise o singură dată direct la offset-urile lor finale și verificate PAR2 din aceleași buffere. Arhiva este extrasă în timpul descărcării, așa că volumele ei nu există niciodată ca fișiere. Asta e valabil pentru arhivele simple, criptate, imbricate și 7z, adică circa 95% din tot ce se postează, ca volum de date. Și arhivele cu adevărat comprimate sunt dezarhivate pe măsură ce sosesc, iar la o a doua trecere se ajunge doar când setul e prea mare ca să încapă în memorie în timpul decomprimării.

🕸️

Disponibilitate prin uniune

Un articol este „lipsă” doar când fiecare backbone configurat l-a refuzat. Contabilitatea exactă la nivel de bloc decide COMPLETE / REPAIRABLE / IMPOSSIBLE înainte de a irosi octeți, preia minimul exact potrivit de blocuri de recuperare și abandonează descărcările fără speranță în câteva secunde.

🔁

NNTP cu pipelining, făcut bine

Să ții mai multe cereri în tranzit per conexiune nu e ideea noastră, iar clienții buni o fac. Al nostru este neobișnuit de eficient: la patru servere am măsurat +12% până la +270% față de serial, iar o linie se saturează cu 8 conexiuni în loc de 30–50, așa că obții viteză maximă fără să-ți suprasoliciți providerul. SABnzbd încă îl livrează dezactivat.

Pipeline-ul

Atinge fiecare octet o singură dată

Concurenții scriu volumele de arhivă, le citesc înapoi pentru verificare, le citesc din nou pentru extragere, apoi scriu ieșirea, aproximativ 2× scrieri și 2× citiri. nzbfast face în schimb asta:

socket ──TLS──▶ rapidyenc SIMD decode (in place - 4.95 GB/s per core)
                   │
                   ├─▶ pwrite at final offset          (plain posts)
                   │      └─ or: RAR-map translate ─▶ (unlock, if encrypted) ─▶
                   │         pwrite straight into the extracted file
                   │         (the rar volumes never touch disk - plain,
                   │         encrypted and nested archives alike)
                   ├─▶ PAR2 block hasher - every block MD5-verified from the
                   │      decode buffer; verification finishes with the download
                   └─▶ availability ledger - block-exact health, live
Postare deteriorată? Blocurile defecte sunt cunoscute în clipa în care articolele lor eșuează, minimul exact potrivit de volume de recuperare este preluat în timpul descărcării (22 de blocuri preluate pentru 20 necesare, în runda de benchmark), iar repararea atinge doar zonele deteriorate. Postare imposibilă? Abandonează în câteva secunde după ce a descărcat aproape nimic, înainte ca cota ta să observe.

Funcții principale

Tot ce are nevoie o configurație serioasă

Lista completă (fiecare reglaj, fiecare integrare) este pe pagina de funcții.

  • Descărcări la viteza liniei: NNTP cu pipelining măsurat la 9.0-9.3 Gbps pe o linie de 10 GbE al cărei plafon propriu este 9.8; cel mai rapid client pe fiecare probă de benchmark curată, la orice dimensiune.
  • Pipeline într-o singură trecere: decodarea, verificarea și extragerea se suprapun; volumele de arhivă nu ating niciodată discul, fie că postarea e simplă, criptată sau imbricată; are nevoie de 1× disc unde alții au nevoie de ~2×. La o lansare criptată de 94 GB, asta înseamnă 90 GB scriși în loc de 180 GB.
  • Disponibilitate prin uniune multi-provider: rutare exactă la nivel de bloc între backbone-uri; verdicte preflight; reparare exact potrivită; abandon timpuriu al postărilor imposibile.
  • Buget de memorie: un singur buget global de RAM cu niveluri elegante de spill. Nu îți solicită niciodată swap-ul mașinii: un job de 190 GB se finalizează într-un buget de 1 GB (~1.1 GB RSS de vârf).
  • Reluare sigură la blocare: un jurnal la nivel de articol înseamnă că o blocare sau un kill −9 în mijlocul descărcării nu costă aproape nimic: se reia, repreluând doar ce nu a fost salvat.
  • API-uri drop-in: API compatibil SABnzbd și NZBGet JSON-RPC: Sonarr, Radarr, nzb360 și LunaSea funcționează nemodificate. Import cu un clic al configurației tale SAB/NZBGet.
  • Legături nzblnk:, rezolvate: lipește una pe panou, sau dă clic pe una direct pe un board după ce instalarea macOS sau Windows a înregistrat schema. Postarea ofuscată este căutată întâi în propriul tău index, apoi la indexatoarele tale, iar parola din legătură merge la sarcină.
  • Indexer integrat: scanează newsgroup-urile tale într-un index local căutabil, servește Newznab ca stack-ul tău *arr să-l poată căuta și el.
  • Perete de postere cu metadate fără cheie: grafică, note, distribuție și sinopsisuri pentru tot ce e în indexul tău, fără nicio cheie API de creat.
  • Automatizare watchlist: numește un serial sau un film (difuzat sau nu); este preluat în clipa în care apare, apoi îmbunătățit ca calitate până se atinge ținta ta.
  • Un singur executabil: repararea (par2) și dezarhivarea (RAR) sunt în interiorul binarului. Dezarhivezi, rulezi, gata, iar amândouă egalează sau depășesc uneltele de sine stătătoare când sunt puse să concureze separat.

Benchmark-uri

190.6 GB → un fișier verificat de 167.9 GB

Aceeași mașină, aceiași șase provideri, rulări intercalate una după alta. Timpul până la existența unui fișier utilizabil și extras, singura măsură care contează. Fiecare concurent reglat la maximul său documentat (inclusiv activarea pipelining-ului SABnzbd, pe care nu îl are pornit din fabrică).

nzbfast4m 47s
NZBGet 26.29m 06s · +90%
SABnzbd 5.0.419m 29s · +307%
rustnzb 1.3.4niciun fișier utilizabil

NZB de 190.6 GB → un singur mkv de 167.9 GB, M1 Ultra pe 10 GbE, 6 provideri × 8 conexiuni. Același job se finalizează într-un buget de memorie de 1 GB. Tabele complete, toate cele șapte scenarii și probele pe care nu le câștigăm (plus cum să reproduci) pe pagina de benchmark-uri.

Se potrivește cu stack-ul tău

Îndreaptă-ți instrumentele existente spre el

Sonarr / Radarr

API complet compatibil SABnzbd. Adaugă nzbfast ca un client de descărcare „SABnzbd” și pur și simplu funcționează: preluări, categorii, priorități, reîncercări, scripturi de post-procesare (contractul SAB_*), istoric. Fațada Newznab le permite și *arr-urilor să caute în indexul tău local ca și cum ar fi un indexer.

Step-by-step setup →

nzb360 / LunaSea

Daemonul vorbește și JSON-RPC-ul NZBGet, telecomenzile populare de telefon controlează nzbfast nemodificat. Iar panoul în sine are un aspect de telefon de primă clasă pentru când ești departe de ecranul mare. (nzb360: SABnzbd API.)

Vii de la SAB sau NZBGet?

Un singur clic îți importă serverele dintr-o instalare SABnzbd sau NZBGet existentă (citește și sabnzbd.ini direct). Folderele monitorizate, feedurile RSS cu filtre, folderele inteligente cu arhivare TV și regulile de curățare vin la pachet.

Încearcă-l în următoarele două minute

Dezarhivează, dublu-clic pe launcher, răspunde la trei întrebări (sau lasă-l să-ți găsească configurația SABnzbd) și panoul se deschide. Prima descărcare în mai puțin de două minute.