⚡ nzbfast

Den hurtige Usenet-downloader - brugermanual

1 · Velkommen

nzbfast henter fra Usenet så hurtigt, som din linje, dine udbydere og din maskine tillader - og som regel betyder det så hurtigt som din linje. Det er ét enkelt selvstændigt program: motoren, et web-dashboard, en postervægs-mediebrowser, en indbygget indexer, realtids-forhåndsvisning, native PAR2-reparation og native RAR-udpakning er alle inde i én eksekverbar fil. Der er ikke andet at installere.

Det, der gør den hurtig, er arkitektur, ikke finjusteringer:

Målt mod feltet på identisk hardware, samme jobs og udbydere har nzbfast fuldført en 190 GB-download på omkring 5 minutter på en 10 GbE-linje - med de førende alternativer 30–220% bagefter på de samme tests, dér hvor de overhovedet fuldførte dem. Tallene står i §3.

2 · Kom hurtigt i gang

macOS

  1. Åbn nzbfast-<version>-macos.dmg og træk NzbFast ind i Programmer (universal: Apple Silicon + Intel).
  2. Første start: macOS advarer om, at nzbfast endnu ikke er Apple-notariseret. Højreklik på appen → Åbn - eller åbn Systemindstillinger → Anonymitet & sikkerhed, rul ned, og klik Åbn alligevel. Dette er et engangstrin.
  3. App-vinduet viser dashboardet med et velkomstkort - klik på det og tilføj mindst én Usenet-server (host, port 563, brugernavn, adgangskode). Du kan tilføje flere senere under Indstillinger.
  4. Slip en .nzb hvor som helst på dashboardet - eller dobbeltklik bare på .nzb-filer i Finder. Downloads lander i ~/Downloads/nzbfast. Afslut fra menuen; downloads genoptager, hvor de slap.

Vil du hellere undvære app'en? Den almindelige zip (binær + Start nzbfast.command-starter, samme motor) virker stadig som før - trin nedenfor under "Fra en terminal".

Windows

  1. Kør nzbfast-<version>-windows-x64-setup.exe. Den installeres kun for din bruger (ingen administratoradgangskode). Da denne udgivelse endnu ikke er kodesigneret, viser SmartScreen måske "Windows beskyttede din pc" - klik Flere oplysningerKør alligevel.
  2. nzbfast bor i systembakken: dobbeltklik på bakke-ikonet (eller brug Åbn dashboard i dets højrekliksmenu) for at åbne dashboardet, og tilføj så din Usenet-server fra velkomstkortet. Bakke-menuen har også Pause/Genoptag, din downloadmappe og Afslut.
  3. At dobbeltklikke på en .nzb-fil sætter den i kø. Windows Defender spørger måske én gang om at tillade lytning på det lokale netværk - tillad det.

Vil du hellere have en bærbar kopi? -windows-x64.zip virker stadig: pak ud hvor som helst og dobbeltklik på nzbfast.exe (eller Start nzbfast.bat) for terminal-guiden.

Fra en terminal (enhver platform)

nzbfast setup            # interactive server setup (writes config.local.json)
nzbfast serve --open     # start the daemon and open the dashboard
TipKører du allerede SABnzbd eller NZBGet? Spring indtastning af loginoplysninger over: Indstillinger → Usenet-servere → Importér fra SABnzbd / NZBGet… finder din eksisterende installation og kopierer dens servere over. Der findes også nzbfast import-sab på kommandolinjen.

Din API-nøgle

På en helt ny installation laver nzbfast selv en API-nøgle, første gang daemonen starter, og skriver den ud én gang i et banner lige under dashboardets adresse. Fra da af kræver hver forespørgsel den nøgle, så dashboardet og API'et ikke står åbne for alt, hvad der kan nå maskinen.

Hvad du skal gøre med den, afhænger af, hvordan du startede nzbfast:

Nøglen gemmes i en fil ved navn apikey ved siden af din konfigurationsfil, så den er den samme på tværs af genstarter, og du kan læse den igen, når du har brug for det. På macOS og Linux kan den fil kun læses af den konto, der kører nzbfast. Den står også i daemonens egen udskrift, så dashboardets Log-kort har den, hvis terminalen er rullet væk.

Opgradering ændrer intet.En installation, der allerede findes, bliver præcis, som den var, med eller uden nøgle. En nøgle bliver kun nogensinde lavet ved en første kørsel - en uden dashboard-indstillinger og uden gemt kø - fordi en nøgle, der dukkede op under en fungerende installation, ville lukke hver eneste Sonarr, Radarr og telefon-app, du allerede havde forbundet, ude ved en genstart, som du aldrig koblede sammen med en ændret indstilling.

Vil du hellere bruge din egen nøgle, skriver du den ind under Indstillinger → Sikkerhed; den træder i kraft med det samme. Det panel ændrer nøglen, men viser aldrig den nuværende, så læs filen apikey, hvis du har brug for den genererede værdi igen. Vil du køre helt uden nøgle, fordi noget foran nzbfast allerede håndterer login, så start den med NZBFAST_OPEN=1 i miljøet. nzbfast forbliver så åben og siger det ligeud ved opstart.

Hvilke maskiner der overhovedet kan nå daemonen, er et separat valg: serve --bind. Standarden er 0.0.0.0, altså hver eneste netværksgrænseflade, fordi en NAS-boks, en telefon og en Sonarr på en anden computer alle skal kunne forbinde. --bind 127.0.0.1 indsnævrer det til den maskine, nzbfast kører på, hvilket er det, du vil have på en enkelt stationær computer, hvor intet andet har brug for adgang.

3 · Sådan virker nzbfast

En hurtig ordliste, så resten af manualen er let at læse:

BegrebBetydning
Udbyder / serverEn Usenet-tjeneste, du har en konto hos (Newshosting, Eweka, XS News…). Hver tillader et vist antal samtidige forbindelser.
BackboneInfrastrukturen bag en udbyder. Flere brands videresælger ofte den samme backbone - nyttigt at vide, fordi to udbydere på én backbone mangler de samme artikler. Se Server-diversitet.
NZBEn lille XML-fil, der viser de artikler, en post består af. Det er den, du fodrer nzbfast med.
PAR2Genoprettelsesdata, der postes sammen med en release. nzbfast verificerer mod den under downloaden og reparerer automatisk, når artikler er beskadigede eller mangler.
Store-mode-RARDe fleste releases er pakket i RAR-volumener uden komprimering. nzbfast genkender dette og skriver den indre fil direkte til dens endelige placering, mens den henter - ingen udpakningsfase bagefter.

Pipelinen kører download → afkod → verificér → udpak samtidig. Pipeline-kortet på dashboardet viser alle tre baner bevæge sig på én gang. Når den sidste byte ankommer, er verificeringen allerede færdig, og filen er allerede udpakket; et typisk jobs "efterbehandlings"-tid er nul. Er reparation nødvendig, materialiseres volumenerne først da til disk, repareres på stedet af den native GF(2¹⁶)-motor (omdøbte eller byte-forskudte obfuskerede data findes og adopteres af en glidende blokscanning) og udpakkes igen - alt automatisk.

Afbrudte downloads (crash, strømsvigt, kill -9) genoptager fra artikel-journalen: bytes, der allerede ligger på disken, hentes aldrig to gange. Journalen registrerer, hvor hver artikels bytes fysisk landede - selv bytes, der blev direkte-udpakket ind i den endelige fil - så en genoptagelse genopbygger fra lokal disk og genverificerer alt, den gendannede, mod PAR2-blok-mappet, før den stoler på det.

Sådan står det til sammenligning

Målt mod SABnzbd 5.0.4 og NZBGet 26.2 på samme maskine, samme udbydere og samme NZB'er, taget tid til en brugbar fil - download, verificering, reparation og udpakning alt inkluderet, for det er, når jobbet reelt er færdigt:

JobstørrelsenzbfastNZBGet 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%

Forskellen er den efterbehandling, de andre stadig skal lave, efter den sidste byte lander. Begge konkurrenter blev tunet til sammenligningen, ikke efterladt på standardindstillinger - SABnzbd leveres i særdeleshed med anmodnings-pipelining slået fra, hvilket koster den dyrt, så den blev slået til.

To forskelle betyder lige så meget som tiderne:

Crash-genoptagelse, måltDræb en download midt i flugten (kill -9 ved 15 GB af et 34.5 GB-job), og genoptagelsen gen-henter ~0.3 GB - kun de artikler, der reelt var undervejs ved drabet - mod NZBGets 0.2 GB i samme test. Dette var engang et nederlag, vi offentliggjorde (15.3 GB gen-hentet, dengang journalen ikke kunne gøre rede for direkte-udpakkede bytes); placerings-journalen løste det: genoptagelsen gendanner de bytes fra de lokale output- filer og genverificerer hver gendannet byte mod PAR2-blok-mappet, før den stoler på det. Hvert scenarie, vi taber, offentliggøres sammen med sejrene, med hele metoden og de rå tal.

4 · Dashboardet

Åbn http://localhost:6789 (eller din maskines adresse fra en anden enhed - telefonlayoutet tilpasser sig automatisk). Alt opdateres live, én gang i sekundet. Kortene, oppefra og ned:

Header-bjælken

Gennemløb

Live MB/s med et rullende diagram; de stiplede vandmærker markerer denne sessions høj/lav, den svage linje er et glidende gennemsnit. Nedenunder viser et histogram, hvordan sessionens hastighedsmålinger fordeler sig - typisk vs. top. Gør vinduet bredere, og diagrammerne viser mere historik (op til en time).

Statistik-fliser

Hentet i denne session, kødybde, antal fuldført/mislykket, sessionens tophastighed.

Ressourcer - én maskine, fire lofter

CPU, RAM (mod nzbfasts hukommelsesbudget), diskskrivningshastighed og netværk på ét normaliseret diagram, med rigtige værdier i signaturforklaringen og en advarsel ved lav disk. Ingen anden NZB-klient viser dig dette; det findes for at bevise en pointe - nzbfast maksimerer din linje, ikke din maskine.

Pipeline - faser overlapper

Tre baner: download, verificér (PAR2-blokke tjekket), udpak. På et sundt job bevæger alle tre sig sammen.

Udbydere

Live-hastighed pr. server, forbindelsesudnyttelse, andel af trafikken, sessions-GB og en livstids-score for artikel-fuldførelse (farvet, når en server falder under 98%). Et stablet arealdiagram viser hver udbyders bidrag over tid. Rækker gensorteres efter live- ydelse hvert 10. s (kan konfigureres under Indstillinger → Grænseflade), så din hurtigste udbyder altid er øverst.

Gennemse indeks

Søg i alt, hvad den indbyggede indexer har katalogiseret fra dine overvågede grupper (se Automatisering) og hent med ét klik - ingen ekstern indexer nødvendig. Statuslinjen viser scanningsfremgang; Scan nu fremtvinger en gennemgang.

Overvågningsliste

Tilføj titler ved navn - også dem, der endnu ikke er postet. Når en matchende release dukker op i indekset, hentes den automatisk, med kvalitetspræferencer og opgraderingsregler (en bedre kopi erstatter en dårligere).

Historik

Seneste downloads, én række hver. Mislykkede jobs tilbyder Prøv igen (genoptager fra journalen). Krypterede arkiver viser en 🔑 lås-op-kontrol - indtast adgangskoden, og jobbet bliver færdigt på stedet. Verificerings-sundhedsstriben viser defekte PAR2- blokke pr. download - en stigende hale betyder, at artikler kommer beskadigede frem. Hver rækkes skuffe fortæller, hvem der tilføjede jobbet, og har den samme Hent .nzb-filen-knap som køen - praktisk til at hente en release igen et andet sted, eller til at vedhæfte dens .nzb til en fejlrapport.

Kortet viser ti downloads som standard, og resten er ét klik væk, på knappen ▤. Status, placering og årsagen til et fejlet job ligger bag et klik på selve rækken, så det almindelige tilfælde - hvad der blev færdigt, hvor stort, hvornår - forbliver læsbart uden at scrolle. Træk i kortets nederste kant for i stedet at lade listen scrolle i en højde, du selv vælger. History rows under Indstillinger → Grænseflade ændrer de ti; da det er en egenskab ved daemonen og ikke ved din browser, gælder det enhver enhed, der kigger på denne installation. Colour History names ved siden af farver færdige navne grønne og fejlede røde; slået fra forbliver navnene neutrale, og den farvede prik og rækkens egne detaljer siger stadig, hvad der er hvad.

Dataforbrug

Daglige bjælker pr. udbyder og totaler for I dag / 7 dage / 30 dage - uundværligt for målte og blok-konti. Blok-konti viser livstidsforbrug mod deres størrelse.

Log, System-benchmark, Forbindelsestuning, Server-diversitet

En logfremviser på siden og de tre selvmålingsværktøjer beskrevet i Ydelsesværktøjer.

5 · Tilføj downloads

MetodeHvordan
Træk & slipSlip en eller flere .nzb-filer hvor som helst på dashboardet.
Watch-mappeVælg en mappe under Indstillinger; enhver .nzb, der gemmes i den, opfanges inden for 5 sekunder og flyttes til papirkurven, og et åbent dashboard melder hver afhentning ved navn ("… hentet fra Downloads"), så en fil, der forlader mappen, aldrig er et mysterium. Vil du hellere beholde dine filer? Slå Behold .nzb-filer efter afhentning til (se §9). Peg din browsers downloadmappe mod den for hentninger med ét klik fra indexer-sites.
Fra en URLIndsæt et NZB-link (API mode=addurl, eller via en tilsluttet app).
nzblnk:-linksIndsæt et nzblnk:-link hvor som helst på dashboardet, eller træk det ind. Har du installeret fra macOS-DMG'en eller Windows-installationsprogrammet, kan du også klikke på et direkte på et board. Se nzblnk-links nedenfor.
Gennemse indeksKlik på en hvilken som helst komplet release i Gennemse-kortet.
Overvågningsliste / RSSAutomatisk - se Automatisering.
Sonarr/Radarr osv.De sender hentninger direkte til køen - se §11.
Kommandolinjenzbfast get file.nzb henter uden daemonen.

Kategorier, prioriteter, adgangskoder

nzblnk-links

Nogle boards, mest tyske og hollandske, udgiver et nzblnk:-link i stedet for en NZB-fil. Indlægget er sløret, så der er slet ikke noget filnavn at linke til. Linket bærer i stedet et header, h=, som er en søgenøgle og ikke et sted, plus en valgfri titel t=, en adgangskode p= og en gruppe g=. Nogen skal først ud og finde indlægget.

nzbfast slår headeren op i sit eget indeks først, hvilket slet ikke kræver netværk, og kun hvis det ikke rammer, spørger den de søgeindeksere, du har sat op (Indstillinger → Søgeindeksere, §9), under de samme dagsbudgetter og den samme backoff som enhver anden søgning. Titlen bliver jobbets navn, og adgangskoden lægges automatisk på jobbet.

6 · Postervæggen

Klik på 🎬 væg i headeren. Væggen forvandler dit indeks til en medie- browser: hver genkendt film- og tv-release som en posterflise med bedømmelse, år, genrer, medvirkende og synopsis - dine newsgroups, til at gennemse som et katalog.

7 · Forhåndsvisning & verificering

Du behøver ikke vente på, at en download bliver færdig, for at vide, om det er den rigtige fil. Åbn den, mens den henter, tjek at indhold, sprog og kvalitet er som forventet, og annuller tidligt, hvis de ikke er - i stedet for først at opdage det efter hele downloaden.

Afspiller-noteVLC, IINA, mpv og Infuse åbner alle /stream-URL'er. For at kontrollere fra en anden maskine: brug din maskines LAN-adresse i stedet for localhost.
Godkendelses-noteMed en API-nøgle sat kræver det en pr.-job-token (?t=…) at åbne en parkeret biblioteks-post over /stream/<id> - afspillere kan ikke sende API-nøgler, så /m3u-overdragelsen og .strm-pegepinden indlejrer den for dig; at udstede den (/m3u) kræver nøglen. Ren byte-servering af en allerede aktiv download er fortsat åben, og nøglefri installationer opfører sig som før.

8 · Usenet-servere

Indstillinger → Usenet-servere er den fulde editor: tilføje, redigere, fjerne, omarrangere og tage enhver server ind i eller ud af puljen. Hver server har:

FeltNoter
Host / portBrug SSL-port 563. TLS koster intet måleligt - nzbfast krypterer altid.
Brugernavn / adgangskodeGemmes lokalt i config.local.json, vises aldrig tilbage til browseren. Lader du adgangskoden stå tom ved redigering, beholdes den gemte. Adgangskoder er sløret på disken, ikke krypteret.
ForbindelserSamtidige forbindelser pr. server. Brug Forbindelsestuning (§13) til at finde hver udbyders bedste punkt frem for at gætte højt.
Niveau (tier)0 = primær; højere niveauer er fill-servere, der kun spørges om artikler, som alle lavere niveauer missede. Sæt ubegrænsede konti på 0, blok-konti på 1+.
Blokstørrelse (GB)Til blok-konti (betaling pr. GB): nzbfast holder styr på livstidsforbruget mod dette og holder op med at bruge serveren, når den er brugt op (advarsel ved 85%).

Lad der være lidt luft under kontoens forbindelsesgrænse. At sætte forbindelserne lidt under grænsen koster ingenting: gennemløbet flader ud længe før de sidste en eller to forbindelser, og Forbindelsestuning (§13) lander alligevel under. Det er de ledige pladser, der lader en anden enhed, et andet program eller et nyt forsøg efter en afbrudt socket komme ind alligevel i stedet for at blive afvist, mens denne her optager hver eneste plads.

Sådan gemmes dine udbyderadgangskoder

Udbyderadgangskoder i config.local.json er sløret, ikke krypteret. De gemmes som obf1: efterfulgt af en kodet form, så filen ikke læses som ren tekst, hvis den dukker op i et skærmbillede, et forumindlæg, en fejlrapport eller på en skærm, en anden kan se.

Lad os være tydelige om, hvad det giver dig, og hvad det ikke giver:

Til sammenligning gemmer NZBGet og SABnzbd begge udbyderadgangskoder som læsbar ren tekst i deres konfigurationsfiler. Vi mener, at sløring er en lille forbedring oven på det, ikke en sikkerhedsfunktion.

Hvorfor ikke systemets nøglering? macOS Keychain, Windows Credential Manager og Linux' secret services ville give ægte beskyttelse, og vi vender måske tilbage til det. To ting stopper os i dag. Adgang til nøgleringen hænger på programmets identitet, og nzbfast er endnu ikke kodesigneret, så dialogerne og opførslen efter hver opdatering er dårlige. Og en stor del af installationerne er Docker, servere uden skærm og NAS-kasser, hvor der slet ikke findes en nøglering, hvilket ville efterlade to forskellige lagringsveje at holde korrekte. Ét velforstået format, der opfører sig ens alle steder, er indtil videre den bedre handel.

To yderligere indstillinger pr. server har endnu ingen betjening i dashboardet: skriv dem i hånden ved den servers post i config.local.json (se §17), og genstart.

NøgleNoter
bind_ipBinder denne servers udgående forbindelser til en bestemt lokal adresse, til maskiner med flere udgange og delte VPN-tunneler. Adressefamilien vælger samtidig målfamilien: en v4-binding forbinder til serverens v4-adresse.
socks5Sender denne servers NNTP-trafik gennem en SOCKS5-proxy: host:port, eller user:pass@host:port. Værtsnavnet slås op af proxyen, så der er intet lokalt DNS-læk.
AnbefalingTo udbydere på forskellige backbones slår tre på den samme. Kør Server-diversitet (§13) for at se, hvilke af dine udbydere der reelt spreder din dækning, og hvilke der er redundante kopier af hinanden.

9 · Indstillingsoversigt

Næsten alt kan indstilles fra dashboardet under ⚙ Indstillinger; de fire undtagelser står sidst i dette afsnit. Værdier mærket live gælder med det samme; restart-værdier ved næste opstart. Hver ændring, der foretages her, gemmes i settings.json og overlever genstart (værdier fra brugerfladen slår flag på kommandolinjen).

Hastighed & planlægning live

IndstillingHvad den gør
HastighedsgrænseLoft i bytes/sek. (50M, 1G, 0 = ubegrænset). Fjern-apps kan sende procenter - sæt Linjehastighed, så de oversættes korrekt.
Auto-hastighedRTT-styret loft, der viger for anden trafik i husstanden og udvider sig igen, når linjen er stille.
Udskyd langsomme downloads automatiskEt job, der hænger på én langsom server, mens andre venter, flyttes bagest i køen (fremgang beholdes). Se §13.
Prefetch på ledige servereServere, der er ubrugelige for det aktive job, starter det næste i køen. Se §13.
Auto-opdatering / URL til opdateringstjekSe §14.
LinjehastighedDin forbindelses angivne hastighed - muliggør procentvise grænser fra SABnzbd-kompatible apps.
UgeplanRækkeeditor til regler efter ugetidspunkt: pause, genoptag eller sæt en hastighedsgrænse på givne dage/tidspunkter (lokal tid). F.eks. begræns til 20 MB/s på hverdage 9–17, ubegrænset ellers.

Næste download live

Forbindelser (pr. server), vindue (pipelining-dybde pr. forbindelse), decodere (parallelle afkodningstråde). Aflæses, når hvert job starter. Standardværdierne passer til de fleste linjer; brug tuning-værktøjerne, før du hæver blindt.

Kontrol under download vælger, hvor meget der verificeres, mens data kommer ind. Fuld bekræfter hver PAR2-blok med MD5. Hurtig (standard) gør krav på blokke via CRC32, hvilket er 2-3x hurtigere på en langsom CPU, og verificerer stadig hver artikels egen kontrolsum. Let springer desuden de artikelkontrolsummer over, så snart PAR2 dækker en fil: skaden dukker så op et øjeblik senere, ved sin blok. I alle tre bruger den afsluttende runde og enhver reparation fuld MD5, og et download uden PAR2-filer beholder sine artikelkontrolsummer.

Disk & kvote live

Minimum fri plads (sæt nye jobs på pause under den; 2 GB som standard, 0 slår det fra), downloadkvote pr. dag eller måned (UTC; Tving-jobs omgår den), hukommelsesgrænse - motorens RAM-budget (standard: ¼ af RAM, med loft; hæv den på en maskine med meget RAM for maksimal hastighed på kæmpe jobs, og se hvad lav hukommelse koster, før du sænker den) genstart.

Flyt fuldførte til: efter udpakning, oprydning og omdøbning flyttes færdige downloads hertil - et NAS-share, et mediedrev, dér hvor dit bibliotek bor. Kategoristrukturen bevares (et job, der blev færdigt under tv/, lander under tv/ på destinationen), og historikken følger med flytningen, så tilsluttede apps importerer og sletter på den nye placering. Er destinationen utilgængelig, når et job bliver færdigt (share offline, ikke mere plads), bliver filerne i downloadmappen, og jobbet fuldføres alligevel helt normalt. Tom = fra. Destinationer pr. kategori sender bestemte kategorier et andet sted hen (tv=/Volumes/NAS/TV, movies=/Volumes/NAS/Movies); hver angivet sti er den kategoris mappe, så der oprettes ingen ekstra kategoriundermappe i den. Kategorier uden en regel følger Flyt fuldførte til.

Dybde for indlejrede arkiver (standard 5) er, hvor mange lag arkiv-i-arkiv der pakkes ud automatisk: et RAR-sæt med en 7z indeni, som igen indeholder en RAR, er normalt på Usenet, og nzbfast følger kæden uden en ekstra omgang. Ved grænsen bliver det dybeste arkiv simpelthen liggende, ikke pakket videre ud, og downloadet fuldføres alligevel. Hæv den kun til usædvanligt dybe udgivelser.

Auto-omdøbning & oprydning live

Omdøb færdige downloads (slået til som standard) giver mappen og hovedfilen et rent, sigende navn: en film bliver Example Movie (2024), serier beholder Show - S01E02. Slørede eller ukendte navne får lov at stå præcis som postet i stedet for at blive gættet.

IndstillingHvad den gør
Medtag opløsningSætter 1080p, 2160p… i navnet. Slået til som standard; de øvrige fire mærker er slået fra.
Medtag videocodecx265, x264, AV1
Medtag lydcodecAtmos, DTS-HD, AC3
Medtag kildeBluRay, WEB, REMUX
Medtag release-gruppeMærket -GROUP til sidst.
Fjern skraldefilerSlået til som standard. Sletter efterladte .par2, .nzb, .sfv, .nfo og sample-klip fra færdige film- og seriemapper. Aldrig videoen eller dens undertekster.
Behold kun mediefilenSlået fra som standard, og destruktiv: sletter permanent alt i mappen undtagen videoen (eller videoerne) og underteksterne. Hvert afsnit i en sæsonpakke bevares. Går forud for Fjern skraldefiler, når begge er slået til.
Keep the other words in the nameSlået til som standard. Sport, løb og andre begivenheder er ofte én og samme titel gentaget hele sæsonen, kun et ord eller to fra hinanden - "Round11 Hungary Race" over for "Round11 Hungary Qualifying". At beholde de ord er det, der forhindrer en hel sæson i at falde sammen til samme navn. Gælder kun, hvor navnet ikke kunne ryddes op på anden vis, så almindelige film og afsnit røres ikke.

Hele gruppen kører efter reparation og udpakning og før Flyt fuldførte til, og springes helt over for et job, der stadig venter på en adgangskode. Begge sletttrin gælder kun udgivelser, der er genkendt som film eller serie: en softwarelast eller et sæt, der ikke kan klassificeres (sløret), bliver aldrig ryddet.

Slettede filer ryger i papirkurven afgør, hvad "slette" betyder ovenfor. Slået til flytter oprydningen filer til systemets papirkurv, så et forkert gæt om, hvad der var skrald, kan fortrydes; slået fra slettes de med det samme. Den er slået til som standard på macOS og Windows, hvor papirkurven er et sted, du kan se og tømme, og slået fra som standard på Linux, hvor den som regel ikke er det.

På en NAS eller i en container: lad den være slået fra. Når dine downloads ligger på en anden disk end din hjemmemappe - hvilket er det normale setup på Unraid, Synology, en seedbox eller enhver Docker-installation med et monteret share - bruger Linux' papirkurvsregler slet ikke nogen skrivebordspapirkurv. De opretter en skjult mappe .Trash-1000 (tallet er dit bruger-id) øverst på downloaddisken og flytter filerne derhen i stedet. Intet viser dig den mappe, intet tømmer den, og pladsen, den holder på, kommer aldrig tilbage.

Har du kørt en tidligere version af nzbfast på Linux med den slået til, så kig efter den mappe i roden af dit download-share. Den er sikker at tømme: alt i den er filer, en oprydning allerede har afgjort, at du ikke ville have. nzbfast tømmer den ikke for dig, for den ligger på din disk, og det er dig, der dømmer.

Mapper & behandling

Downloadmappe genstart, watch-mappe, efterbehandlingsscript (kører efter hvert job med SABnzbd-kompatible argumenter og SAB_*-miljø - eksisterende SAB-scripts virker uændret), oprydningsendelser (skraldfiler slettet efter fuldførelse), Smarte mapper og tv-arkivering (se §10).

Behold .nzb-filer efter afhentning (slået fra som standard) lader den originale .nzb blive i watch-mappen, efter den er sat i kø, i stedet for at flytte den til papirkurven - for samlere, og til at give filen videre, når en download driller. En beholdt fil huskes, også på tværs af genstarter, og sættes ikke i kø igen; gem den igen for at hente den på ny. Uanset hvad du vælger, har hvert jobs skuffe en Hent .nzb-filen-knap, så en kopi af ethvert jobs .nzb aldrig er mere end et klik væk.

Indeksering live

Den indbyggede indekser er slået fra som standard. Den finder indlæg, der er postet under et rigtigt filnavn, og en stor og voksende del af Usenet postes bevidst uden et: tilfældigt emne, tilfældige filnavne indeni, smidt i en samlegruppe. Det rigtige navn lever kun i en NZB, som uploaderen udgiver et andet sted, så det var aldrig på Usenet, hvor en skanner kunne læse det. Målt på vores eget indeks gav 14,8 millioner skannede indlæg omkring 31.000 gennemsøgelige releases, groft sagt én ud af fem hundrede. Bliv ved med at bruge kommercielle indeksere, og tilføj dem under Indstillinger → Søgeindeksere, så du kan søge i dem fra væggen. Slå det her til, hvis du følger bestemte grupper, hvor folk stadig poster under rigtige navne, eller hvis du vil se, hvad din udbyder faktisk fører. Med kontakten slået fra skannes eller hentes ingenting, der oprettes ingen database, og væggen, Gennemse, overvågningslisten og newznab-feedet er skjult.
IndstillingHvad den gør
Indbygget indekserHovedkontakten, slået fra medmindre du slår den til. Fra betyder ingen skanning, ingen metadataopslag, ingen tilgængelighedsstikprøver og intet newznab-feed; et indeks, der allerede ligger på disken, bevares (der er en sletteknap), så at slå til igen fortsætter i stedet for at skanne forfra.
GrupperNewsgroups, som den indbyggede indexer scanner (f.eks. alt.binaries.teevee).
ScanningsintervalSekunder mellem gennemgange (standard 900).
Backfill-artiklerHeaders hentet ved en gruppes allerførste scanning.
Uddyb pr. scanningHver gennemgang indekserer også så mange ældre artikler og lader din søgbare historik vokse i baggrunden, indtil Maks-alder er nået (standard 200,000 pr. gennemgang ≈ titusinder af millioner artikler pr. døgns oppetid).
Maks-alderIgnorér poster ældre end dette (90d, 6m, 2y) - begrænser indeksstørrelse og scanningstid.
Beskær til aldersvinduetSlået til som standard. Sletter også allerede gemte udgivelser, når de bliver ældre end Maks. alder, så indekset holder omtrent det vindue i stedet for at vokse i det uendelige. Slået fra = kun nye poster filtreres, og det gemte bliver stående. Døde skraldefragmenter (skjulte, stadig ufuldstændige efter en uge) høstes under alle omstændigheder.
Ingest-filtreJSON-regler, der filtrerer, hvad der kommer ind i indekset: typer (obfuskeret skrald droppes som standard), år/opløsning/sprog, størrelsesgrænser.
Scan nu / dyb genscanningKør en gennemgang med det samme; med en dybde genscannes så mange nylige headers.
OMDb-nøgle / genopfrisk metadata / sletKontroller til væg-berigelse (§6). Slet genopbygger databasen fra bunden - genoprettelsesvejen, hvis den nogensinde bliver korrupt.
Pre-feedSlået fra, indtil du slår det til. Mange uploads udgives uden deres navn, og så har en skanning intet at læse. Offentlige relækanaler annoncerer det rigtige navn, den eneste åbne vej til at parre de indlæg. At slå til holder en forbindelse til et IRC-net åben og lytter: der sendes aldrig noget, og der oprettes ingen konto. Kræver at indekseringen er slået til, for et feed uden et sted at lægge det, det hører, er bare en socket, der står åben til ingen nytte.
Relæserver, RelækanalerIRC-nettet, der bærer annonceringerne (vært eller vært:port), og kanalerne at lytte med i, kommasepareret. En ændring træder i kraft ved næste forbindelse: slå feedet fra og til igen for at anvende den straks.
Navngiv ved korrelationDe offentlige direkte relæer bærer ingen filnavne, så de fleste sløre indlæg kan ikke parres direkte. Hvad en annoncering derimod fastslår, er hvornår en udgivelse dukkede op, og hvor stor den er. Dette sammenligner annonceret tid og størrelse med navnløse indlæg og foreslår, når de passer, det rigtige navn under Gennemse. Et forslag er markeret som et forslag, kræver dit klik og omdøber aldrig filer på disken.
Anvend stærke match automatiskSlået fra som standard, og streng når den er til: størrelsen skal passe tæt, ingen anden annoncering må passe næsten lige så godt, og annonceringen skal vælge dette indlæg tilbage ved kontrollen den anden vej. Et anvendt navn ændrer kun, hvordan udgivelsen vises, er markeret som udledt og trækker sig selv tilbage, hvis en færdig download modbeviser det. Alt svagere forbliver et forslag.
AnnonceringshistorikDet direkte feed hører kun annonceringer fra efter det blev slået til. Dette henter cirka seks måneders tidligere annonceringer fra en offentlig pre-database, høfligt og én gang, så også allerede indekserede indlæg kan parres. Kører en halv times tid i baggrunden.

Bibliotek, Sikkerhed, Grænseflade

Bibliotek: kategorier behandlet som øjeblikkelige biblioteksposter + gentjek-interval. Sikkerhed: den fulde API-nøgle (alt) og NZB-nøglen (kun-tilføj - sikker at give til indexer-sites), begge kan roteres live. Hvert af felterne erstatter den nøgle, det hører til, så snart du forlader feltet, og lader du et felt stå tomt, beholder det den nøgle, det allerede har. API-nøglen har desuden Show, som viser og kopierer den nuværende nøgle, så du kan sætte den ind i Sonarr, Radarr eller NZB360, når det passer dig, og Create new, som laver en afløser - den gamle nøgle holder op med at virke med det samme, så alt, der allerede er forbundet, skal have den nye. Begge afhænger af selve API-nøglen: den kun-tilføjende NZB-nøgle kan ikke læse den, hvilket er hele pointen med den nøgle. Hvor nøglen kommer fra på en ny installation, se §2. Grænseflade: kliklyde, skrivebords-notifikationer ved fuldførelse, interval for gensortering af udbydere.

Hastighedsenheder live afgør, hvordan hver hastighed vises i dashboardet: megabyte (MB/s, normen blandt downloadprogrammer, standarden) eller megabit (Mb/s, sådan som udbydere angiver linjer). Filstørrelser bliver i byte. Det er en egenskab ved daemonen, ikke ved din browser, så det gælder hver enhed, der kigger på denne installation.

Avanceret: knapperne bag de indlysende

Seks indstillinger uden flag på kommandolinjen. Hver har nu en avanceret række på det indstillingskort, den hører til, og kan stadig sættes via API'et (§16), f.eks. /api?mode=config&name=verify_mode&value=lean&apikey=…. Som alle andre gemmes de i settings.json.

NavnHvad den gør
verify_modefull | fast | lean (standard fast). lean er skubbet til langsomme CPU'er: som fast, men springer desuden yEnc-CRC pr. artikel over, så snart PAR2 dækker en fil, altså ét CRC32-lag i stedet for to. Downloads uden PAR2 beholder deres artikel-CRC'er, og verificering og reparation i slutningen af jobbet er uændrede i begge tilfælde. Vælgeren Kontrol under download ovenfor er denne indstilling.
auto_retry_minsVentetid før det ene automatiske gentagne forsøg, som en første fejl med manglende artikler får (standard 20). Propagationsforsinkelse er en reel årsag til manglende artikler og løser sig selv; takket være journalen henter genkørslen kun det, der stadig mangler. Fejl på grund af adgangskode eller takedown kvalificerer sig aldrig.
index_scan_parHvor mange grupper indekseringen skanner parallelt (standard 3, begrænset til 1-8).
oracle_sampleTilgængelighedsoraklets STAT-budget i tomgang (§13), sonderinger i timen pr. server. Standard 300, maks. 3600, 0 slår sampling helt fra.
predb_max_rowsHvor mange pre-annonceringer feed-tabellen beholder (standard 250000, begrænset til 10000-5000000). Den timelige beskæring skærer ned til det tal, og den historiske import nægter at starte, hvis den ville gå forbi det, så en import aldrig tilføjer rækker, som den næste beskæring sletter.
predb_seed_daysHvor langt tilbage en historisk import når, når den startes uden sit eget vindue (standard 180 dage, højst 366). Et større vindue er flere forespørgsler til pre-kilden, som kører i takten en hvert andet sekund.

10 · Automatisering

Overvågningsliste

Den enkleste automatisering: tilføj en titel på dashboardet, sæt kvalitetspræferencer, færdig. Nye releases hentes, efterhånden som de dukker op i dine indekserede grupper; kopier af bedre kvalitet opgraderer tidligere hentninger; en kalendervisning viser, hvad der er på vej.

RSS-feeds

Indstillinger → RSS: enhver newznab-/indexer-RSS-URL med interval pr. feed, kategori og filterregler (titelmønstre, størrelsesgrænser). Matchende emner hentes automatisk.

Smarte mapper

Regler, der evalueres, når et job tilføjes: match efter mønster/nøgleord og størrelse, tildel en kategori (første match vinder). Med tv-arkivering slået til omdøbes og arkiveres færdige tv-episoder som Show/Season 01/Show - S01E02.mkv - klar til Plex/Jellyfin uden et eksternt værktøj.

Planlægger

Ugeplanen (se §9) automatiserer pause/genoptag/hastighed efter tidspunkt på dagen.

Scripts

Et efterbehandlingsscript modtager SABnzbds positionsargumenter og SAB_*-miljøvariabler - det store økosystem af SAB-scripts kører som det er.

11 · Sonarr, Radarr & venner

nzbfast taler SABnzbd-API'et native, så hvert *arr virker ud af boksen - og den kan også fungere som deres indexer.

Som downloadklient

  1. I Sonarr/Radarr: Settings → Download Clients → tilføj SABnzbd.
  2. Host: din nzbfast-maskine · Port: 6789 · API-nøgle: din fulde API-nøgle (hvor du finder den: §2).
  3. Kategori efter ønske (f.eks. tv / movies). Test → grønt flueben → Gem.

Kø, historik, status pr. job, "fjern & slet", nyt forsøg og kategoridirigering opfører sig alle, som *arr-programmerne forventer.

Som en indexer (newznab)

  1. Settings → Indexers → tilføj Newznab.
  2. URL: http://<host>:6789/ · API-sti: /api · nøgle: din API-nøgle.
  3. nzbfast serverer caps-, search-, tvsearch- og movie-forespørgsler fra sit eget indeks over dine overvågede grupper, og /getnzb/<id> giver NZB'en tilbage.
Slå den indbyggede indekser til først (Indstillinger → Indeksering). Den er slået fra som standard, og så længe den er det, svarer denne facade på hver forespørgsel med <error code="101"> i stedet for et tomt resultat, så en fejl viser sig, når du tilføjer indekseren, og ikke uger senere.

Hvorfor overhovedet? En selvhostet indekser over præcis de grupper, du går op i: ingen konti, ingen API-kaldsgrænser, opbevaring så dyb, som du lader den skanne. Den er en tilføjelse til dine sædvanlige indeksere frem for en erstatning, for den finder kun det, der blev postet under et rigtigt filnavn.

12 · Telefon & fjernbetjenings-apps

nzbfast implementerer begge de store fjernbetjeningsprotokoller, så næsten alle mobil-/tablet-apps virker. Vælg den protokol, din app understøtter:

Apps, der taler NZBGet (nzb360, LunaSea, NZB Unity…)

Felt i app'enVærdi
TypeNZBGet
Host / portdin maskine : 6789
Brugernavnhvad som helst (f.eks. nzbfast)
Adgangskodedin API-nøgle

Hele den JSON-RPC-flade, disse apps bruger, serveres: status, kø med omorganisér/pause/slet, historik, tilføj-NZB, hastighedsgrænse, pause/genoptag, log.

Apps, der taler SABnzbd

Felt i app'enVærdi
TypeSABnzbd
Host / portdin maskine : 6789
API-nøgledin API-nøgle (eller NZB-nøglen for kun-tilføj-adgang)

Dashboardet på din telefon

Åbn bare http://<machine>:6789 i en mobilbrowser - hele dashboardet og væggen har et touch-layout. Panelet Indstillinger → Fjernadgang viser de præcise URL'er og en QR-kode til at scanne.

Nå nzbfast udefra

Der er ingen loginside, og det er med vilje. Et login med sessionscookie er en sikkerhedsflade, der skal vedligeholdes for altid, og den ville stadig være den svageste lås på noget, der vender mod det åbne internet. nzbfast godkender i stedet med din API-nøgle og tager nøglen både i en forespørgselsheader og i URL'en (X-Api-Key eller Authorization: Bearer) - og det er netop det, der lader noget foran klare loginet ordentligt.

Det enkleste er slet ikke at offentliggøre den. Installer Tailscale på denne maskine og på telefonen, så er begge på det samme private net: intet er eksponeret, hverken router eller certifikat skal røres, og Indstillinger → Fjernadgang viser en adresse, der virker overalt, så snart Tailscale kører. Vælg det, medmindre du direkte har brug for et offentligt domæne.

Har du det, så sæt en omvendt proxy foran, giv den certifikatet, og lad den stå for godkendelsen. Start nzbfast med --bind 127.0.0.1, så proxyen er eneste vej ind, og peg proxyen på http://127.0.0.1:6789:

# Caddy
example.com {
    reverse_proxy 127.0.0.1:6789
}

# nginx
location / {
    proxy_pass http://127.0.0.1:6789;
    proxy_set_header Host              $host;
    proxy_set_header X-Forwarded-For   $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
}

Læg det på, som din proxy tilbyder: basic auth, en forward-auth-tjeneste som Authelia eller Authentik, eller klientcertifikater. Én ting fanger alle - Sonarr, Radarr og telefonapperne kan ikke gennemføre et browserlogin, så lad dem slippe udenom. De fleste proxyer kan lukke en forespørgsel med en gyldig X-Api-Key-header igennem og kræve godkendelse af alt andet.

Videresend ikke bare port 6789 på routeren. Dashboardet taler almindelig HTTP, så din API-nøgle og alt, hvad du bruger den til, ville krydse internettet læsbart for enhver undervejs, og en installation helt uden nøgle står åben for den, der finder den. Videresender du alligevel en port, så sæt en API-nøgle først.

13 · Ydelsesværktøjer

System-benchmark

Ét klik måler dine tre lofter - netværksgennemløb (en rigtig 8-sekunders multi-forbindelses-sondering), CPU-verificeringshastighed og diskskrivningshastighed - og leder med svaret: din forventede maksimale downloadhastighed, og hvilket loft der er grænsen. Den korteste bjælke er din flaskehals; de andre viser deres reserve. Planlæg den (hver 6. time → ugentligt), og hver kørsel logges til en historiktabel, så du kan se, hvornår din udbyder, ISP eller hardware ændrede adfærd. Planlagte kørsler sker kun, mens køen er i tomgang.

Forbindelsestuning

Måler én udbyder ved stigende antal forbindelser og anbefaler indstillingen - flere sockets hjælper, indtil udbyderen eller din linje mættes, og nogle udbydere straffer, hvis man beder om for meget. Test alle sammenligner hver udbyder og lader dem så alle burste sammen for at tjekke, om poolen mætter din linje.

Server-diversitet

STAT-sampler artikler på tværs af aldre på hver server og klynger udbydere efter fælles huller: udbydere med ~100% fælles manglende artikler er den samme backbone (redundante til genoprettelse); uafhængige udvider reelt din dækning. Slutter med en anbefaling i klart sprog.

Automatisk kø-intelligens

Tilgængelighedsoraklet

Takedowns er den vigtigste grund til, at et Usenet-download slår fejl, og de kan forudsiges: den samme udgivelse forsvinder hos én backbone, mens en anden stadig har den. nzbfast fører et lille register over, hvad dine egne udbydere faktisk har leveret, og bruger et bittelille tomgangsbudget på STAT-sonderinger (nogle få hundrede i timen pr. server, aldrig under et download) for at holde det aktuelt. Den henter aldrig nyttelast for at finde ud af det.

Hvad du får ud af det:

Dommen er en forudsigelse ud fra indicier, ikke en garanti. For et håndfast svar om én NZB tæller nzbfast check (§15) de faktiske artikler.

Hukommelsesbudget - og hvad lav hukommelse koster

Alle motorens caches deler ét budget (standard ¼ af den fysiske RAM, begrænset til 256 MB–16 GB). Sæt det eksplicit med Hukommelsesgrænse under Indstillinger, eller --mem-limit på kommandolinjen.

nzbfast er bygget til at mætte dit netværk og din disk på samme tid, og RAM er det, der lader den gøre begge dele i ét gennemløb: artikler afkodes, verificeres og skrives direkte til deres endelige offsets, så arkivvolumener aldrig behøver at røre disken overhovedet. Sult den for hukommelse, og intet går i stykker - hver cache har en spill-vej, og motoren degraderer til mere disk-I/O frem for at swappe eller fejle. Men den spill er ikke gratis, og på store jobs kan du måle den.

Målt på én maskine og én linje (M1 Ultra, 10 GbE), samme filer ved hvert budget. Hver kørsel frembragte et korrekt, fuldt verificeret, udpakket resultat:

JobstørrelseRigeligt RAM2 GB-budget
≈ 8 GB-maskine
1 GB-budget
≈ 4 GB-maskine
256 MB-budget
≈ 2 GB-NAS
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%

Topforbruget følger budgettet, ikke jobbet: den 190 GB-download fuldføres i cirka 1.1 GB RAM. Det, du bytter for det, er tid - og kun på store jobs.

AnbefalingGiv nzbfast cirka 2 GB budget pr. 100 GB af det største job, du henter, og lad ellers standarden være - ¼ af RAM er allerede det rigtige svar på de fleste maskiner. I praksis: 4 GB RAM dækker jobs op til ~35 GB ved fuld hastighed; 8–16 GB holder også 100 GB-plus-jobs der; en 2 GB-NAS gør alt, du kaster efter den, færdigt, men behandl den som en baggrunds-downloader snarere end noget, der vil mætte en hurtig linje.

På en lille NAS: sænk også Forbindelser (2–4) sammen med budgettet. Ved et 256 MB-budget og 2 forbindelser holder topforbruget sig nær 190 MB - komfortabelt inden for, hvad en 2 GB-NAS har til overs. Vær opmærksom på, at det på det tidspunkt er antallet af forbindelser, ikke hukommelsen, der begrænser dig: samme 35 GB-job tog 286 s i stedet for 65 s. Det er den ærlige form på afvejningen - den bliver altid færdig, og færdig korrekt; den mætter bare ikke linjen.

Benchmarks køres igen for hver udgivelse; metode og tal pr. maskine offentliggøres sammen med resultaterne.

14 · Opdateringer

Opdatering uden at miste dine indstillinger

Én regel dækker enhver installation: en opdatering udskifter programmet, aldrig dine indstillinger. Alt, hvad du har konfigureret - servere, stier, API-nøglen, køen - bor i en håndfuld filer i én mappe (§17), og intet installationsprogram, image-pull eller pakkeopgradering rører den mappe. Når indstillinger alligevel ser væk ud efter en opdatering, er det næsten altid, fordi den nye installation læser en anden, tom mappe, ikke fordi noget blev slettet; de gamle filer ligger stadig, hvor de altid har ligget. §18 har trinnene til at få dem tilbage.

InstallationSådan opdaterer du
macOS-appenÅbn den nye DMG og træk NzbFast ind i Programmer, så den gamle erstattes. Din datamappe er separat og bliver ikke rørt.
Windows-installationsprogrammetKør den nye installation oven på den gamle. Din datamappe er separat og bliver ikke rørt.
Docker (kommandolinjen)docker pull nzbfast/nzbfast, fjern den gamle container, og kør så den nye med præcis de samme -v-mapninger. Imaget er til at smide væk; den mappede /config-mappe er din installation. Bruger din run-kommando en relativ sti som -v ./config:/config, så kør den fra den samme mappe hver gang - alle andre steder fra er ./config en anden, tom mappe.
Docker Composedocker compose pull && docker compose up -d, med den samme compose-fil samme sted. ./config i filen er forankret i filens egen mappe, så lad filen blive, hvor den er.
WatchtowerIntet at gøre: den genskaber containeren med de samme mapninger, når et nyt image udkommer.
UnraidDocker-fanen → Check for UpdatesApply Update. Fjern og gentilføj aldrig appen for at opdatere den; skulle du en dag geninstallere, så behold den samme appdata-sti, så den finder din eksisterende /config.
Synology (Container Manager)Hent det nye image, stop containeren, og genskab den med de samme volume-indstillinger - gennemgangen i Synology-guiden dækker det klik for klik, inklusive hvordan du gør det efter et skema.
Synology (pakke)Installér den nye .spk i Package Center; den opgraderer på stedet.
Homebrewbrew upgrade nzbfast
Ren binærUdskift binæren. Din konfiguration bliver, hvor du lavede den (§17).
TipDocker-brugere, der kobler Sonarr eller Radarr på: læg API-nøglen i selve containerdefinitionen (-e NZBFAST_APIKEY=…, eller environment-blokken i din compose-fil eller Unraid-skabelon). En nøgle, der ligger dér, overlever ethvert containeruheld, fordi den bor på værten, i definitionen, og bliver lagt på igen ved hver start. En nøgle, du senere sætter under Indstillinger, vinder stadig over den.

15 · Kommandolinje

Alt, hvad daemonen gør, kan også scriptes. De daglige kommandoer:

KommandoFormål
nzbfast setupInteraktiv serveropsætning.
nzbfast serveKør daemonen (dashboard + API + automatisering). --open åbner browseren; --apikey sætter nøglen i hånden (§2); --bind vælger lytteadressen, standard 0.0.0.0 (hver grænseflade), 127.0.0.1 for kun denne maskine. Se --help for hele flag-listen; hver dashboard-indstilling har en flag-tvilling.
nzbfast get file.nzbHent én NZB, fuld pipeline, ingen daemon. --preflight afbryder tidligt, hvis posten ikke kan fuldføres; --password til krypterede sæt.
nzbfast check file.nzbTilgængeligheds-dom - COMPLETE / REPAIRABLE / IMPOSSIBLE - uden at hente payload.
nzbfast verify DIRVerificér filer mod PAR2-sættet i en mappe.
nzbfast sysbenchSystem-benchmarken + diversitetsrapporten, i terminalen.
nzbfast index / searchScan grupper ind i indekset / søg i det, uden daemonen.
nzbfast import-sabImportér servere fra en SABnzbd-ini.

Også tilgængelige: inspect, probe, bench, bench-cpu, soak, fetch, spots/spot-search/spot-get (Spotnet), predb-seed (fylder pre-databasen med tiden før feedet blev slået til), make-release-nzb/make-test-nzb (test-fixtures). Hver kommando tager --config og --help. Dertil kommer post: den uploader filer som yEnc-artikler og skriver den tilhørende NZB. Et driftsværktøj; det kræver et udtrykkeligt --post-server og vælger aldrig en server for dig.

16 · API-oversigt

Basis-endpoint: http://host:6789/api?mode=…&apikey=…&output=json - SABnzbd-kompatibelt, så eksisterende SAB-integrationer virker uændret. To nøgler: API-nøglen (fuld kontrol) og NZB-nøglen (kun-tilføj: addfile/addurl). addnzblnk er med vilje ikke med i sættet for kun at tilføje: at slå et link op kan bruge målt indekserkvote, og det har en nøgle til kun at tilføje ikke noget at gøre med.

OmrådeModes
queue (med name=delete/pause/resume/priority/switch), pause, resume, addfile, addurl, addnzblnk, retry, set_password
Infohistory, status/fullstatus, stats, version, server_stats, usage, log, warnings, plus /jobnzb/<nzo_id> (jobbets egen gemte .nzb ud igen, kø eller historik; kun fuld API-nøgle)
Konfigurationget_config, config&name=<setting>&value=… (hvert Indstillinger-felt), server_save/delete/test/enable/reorder, import_probe/apply
Indeks & vægindex_search, index_get, index_stats, index_scan_now, wall, wall_search/fix/refresh/art, plus newznab på /api?t=caps|search|tvsearch|movie og /getnzb/<id>
Automatiseringwatchlist, watchlist_check_now, watch_calendar, feeds, smart_folders, schedule
Diagnostiksysbench, bench_history, connladder, pooltest, diversity, update_check, update_apply
NZBGet JSON-RPC/jsonrpc - status, listgroups, history, append, editqueue, rate, pause, log (Basic auth: enhver bruger, API-nøgle som adgangskode)
Forhåndsvisning / afspilning/stream/<nzo_id> (HTTP-ranges; at starte et parkeret biblioteksjob kræver ?t=-token eller nøgle), /m3u/<id> (kræver nøgle; udsteder token'en), /wall, /art/…

17 · Filer & placeringer

Hvor indstillingsmappen ligger, afhænger af, hvordan nzbfast blev installeret. Denne ene mappe rummer alt, hvad der er værd at tage backup af:

InstallationIndstillingsmappe
macOS-appen~/Library/Application Support/nzbfast/
Windows%LOCALAPPDATA%\nzbfast\
Docker / NAS-containere/config inde i containeren, som er den værtsmappe, du har mappet til den. På Unraid er det appens appdata-mappe.
Synology-pakken/var/packages/nzbfast/var/
TerminalDen mappe, du kørte nzbfast setup i, eller hvor end --config / $NZBFAST_CONFIG peger hen.

Og hvad der ligger i den:

FilIndhold
config.local.jsonServer-loginoplysninger og indstillinger pr. server. Oprettet af guiden; kan redigeres under Indstillinger. Hold den privat. Adgangskoder er sløret, ikke krypteret.
settings.jsonHver indstilling, der er ændret i dashboardet. Ligger ved siden af konfigurationen; UI-værdier tilsidesætter kommandolinje-flag. Slet en nøgle (eller filen) for at falde tilbage til flag/standarder.
apikeyDen API-nøgle, nzbfast lavede til sig selv ved en første kørsel (§2). Ligger ved siden af konfigurationen; kan på macOS og Linux kun læses af den konto, der kører nzbfast. Slet den ikke for at få en frisk nøgle: på en installation, der allerede har kørt, kommer der intet i stedet, og daemonen starter op igen helt uden nøgle. Sæt i stedet en ny under Indstillinger → Sikkerhed.
index.dbRelease-indekset (SQLite) + væg-metadata. Sikkert at slette - det genopbygges ved scanning (Indstillinger → Indeksering → Slet gør dette for dig).
<config>/.spool/Kø-tilstand (overlever genstarter), NZB'er pr. job, forbrugsregnskab, benchmark-historik, poster-artwork-cache.
Artikel-journalInde i hvert jobs outputmappe, mens det er ufuldstændigt - driver crash-genoptagelse og nyt forsøg. Fjernes ved succes.
Eksterne værktøjerIngen nødvendige - RAR-udpakning og PAR2-reparation er native. Hvis et eksotisk sæt nogensinde kræver en ekstern unrar eller par2 som fallback, kigger nzbfast ved siden af sin eksekverbare fil, derefter på $PATH.

18 · Fejlfinding

SymptomTjek
Langsomme downloadsKør System-benchmark - den udpeger flaskehalsen direkte. Er det netværket: kør Forbindelsestuning, tjek antal forbindelser pr. server, og bekræft, at dine udbydere ikke alle er én backbone (Server-diversitet).
Langsom kun på meget store jobs
(NAS eller maskine med lidt RAM)
Forventet og måleligt: et udsultet hukommelsesbudget spiller caches til disk og koster 20–40% efter ~87 GB. Se Hukommelsesbudget for tallene og hvor meget RAM, den skal have. Mindre jobs er upåvirkede.
Download fejler med "articles missing"Posten er udløbet eller blev fjernet hos dine udbydere. En anden udbyder på en anden backbone redder de fleste af disse. nzbfast check forudsiger dette før download. Og væggen markerer på forhånd de sandsynligt forsvundne med sin tilgængelighedsprik (§13). En første fejl af den type prøver sig selv igen én gang efter en ventetid, for propagationsforsinkelse ser præcis sådan ud og løser sig selv.
Færdigt arkiv vil have en adgangskodeHistorik-rækken viser 🔑 - indtast adgangskoden der; jobbet bliver færdigt på stedet.
Et arkiv pakkes ikke udAdgangskode- og reparationsfejl navngiver sig selv i historik-rækken. For alt andet findes der en nødudgang: Indstillinger → Watch-mappe & efterbehandling → Udpak med eksternt unrar (en avanceret indstilling) overlader udpakningen til programmet unrar, der er installeret på din maskine, i stedet for den indbyggede udpakker. Lad den ellers være slået fra: den indbyggede vej er hurtigere på alle former, vi har målt, og slørede poster med hash-navne bruger den alligevel altid, fordi unrar ikke kan følge deres omdøbning. Den samme kontakt for nzbfast get-kørsler er miljøvariablen NZBFAST_NO_NATIVE_UNRAR=1. Hvis unrar udpakker et arkiv, som den indbyggede udpakker afviste, så meld det gerne, så vi kan reparere den indbyggede vej.
Sonarr/Radarr kan ikke forbindeKan port 6789 nås? API-nøgle korrekt (fuld nøgle, ikke NZB-nøgle)? Klienttype sat til SABnzbd?
Dashboardet beder om en API-nøgle, jeg aldrig har satEn ny installation laver selv en og skriver den ud én gang ved opstart (§2). Den står i filen apikey ved siden af din konfiguration, og i opstartsudskriften. Eller skriv din egen nøgle ind under Indstillinger → Sikkerhed fra en browser, der allerede er logget ind.
Alle mine indstillinger ser væk ud efter en opdatering
(servere, stier, API-nøgle)
Intet i en opdatering sletter indstillinger; det her betyder, at nzbfast læser en anden, tom mappe. Først: API-nøglefeltet under Indstillinger vises tomt med vilje - klik Show, før du konkluderer, at den er væk. På Docker: sammenlign den nye containers /config-mapning med den gamles: en ændret værtssti, en relativ sti kørt fra en anden mappe eller en frisk appdata-mappe starter alle sammen nzbfast helt forfra, mens dine rigtige indstillinger ligger urørte på den tidligere sti. Find den gamle mappe (kig efter settings.json, din konfigurationsfil og apikey - placeringer i §17), og peg så enten mapningen tilbage på den, eller kopiér de filer ind i den nye mappe og genstart. Opstartsloggen navngiver præcis den indstillingsfil, der er i brug: [settings] applying saved settings from …
Intet på netværket kan nå daemonenTjek --bind: 127.0.0.1 betjener kun den maskine, nzbfast kører på. Standarden, 0.0.0.0, betjener hver grænseflade. Tjek derefter maskinens egen firewall for port 6789.
Gennemse-kortet forbliver lilleIndexeren vokser i baggrunden - tjek, at grupper er sat under Indstillinger → Indeksering, og giv Uddyb pr. scanning tid til at opbygge historik. "Scan nu" fremtvinger en gennemgang; statuslinjen viser live fremgang.
Væggen viser forkert/intet artworkDetaljeark → ✎ Ret match eller ↻ Genopfrisk metadata. Filmopslag forbedres med en gratis OMDb-nøgle.
macOS siger, at programmet "nzbfast" ikke kan åbnesTo årsager, begge hurtige. Bruger du den enkle -macos-universal.zip, så dobbeltklik på Start nzbfast.command og ikke på filen nzbfast ved siden af - den er selve programmet, og Finder svarer på et dobbeltklik der med præcis denne besked. Det er starteren, der sætter det hele op og starter det. Giver starteren den samme besked, har kopien mistet sin Unix-kørselsbit undervejs: macOS bevarer den bit inde i .zip-filen, men chat-apps, cloud-drev og ny zipning gør det ikke, så en kopi, der er sendt videre i hånden, ankommer uden kørselstilladelse. Hent .dmg eller .zip direkte fra releases-siden, så sker det ikke. For at redde den kopi, du allerede har: åbn Terminal, skriv chmod +x med et mellemrum til sidst, træk Start nzbfast.command og filen nzbfast ind i vinduet og tryk Retur - dobbeltklik derefter på starteren igen.
Daemonen vil ikke starte: porten er i brugEn anden instans kører - eller skift --port.
Hvor er loggene?Log-kortet på dashboardet, eller den terminal/logfil, du startede serve med.
Stadig gået i stå?Log-kortet udpeger som regel synderen - vedlæg dens hale, når du rapporterer et problem, sammen med din nzbfast --version.

nzbfast - denne manual følger med hver udgivelse. Indstillinger, endpoints og standarder, der er nævnt her, svarer til den version, den blev leveret med.