⚡ nzbfast
Den snabba Usenet-nedladdaren - användarhandbok
1 · Välkommen
nzbfast laddar ner från Usenet så snabbt som din linje, dina providers och din maskin tillåter - och oftast betyder det så snabbt som din linje. Det är ett enda fristående program: motorn, en webbaserad instrumentpanel, en postervägg för mediabläddring, en inbyggd indexerare, förhandsgranskning i realtid, native PAR2-reparation och native RAR-uppackning ligger alla inuti en och samma körbara fil. Det finns inget annat att installera.
Det som gör den snabb är arkitektur, inte trixande:
- Pipelinead NNTP - många artikelförfrågningar rider på varje anslutning rygg mot rygg, så att varje anslutning hålls i full fart i stället för att vänta ut tur-och-retur-tider.
- En enpassrörledning - nedladdning, verifiering och uppackning överlappar. Arkivvolymer packas upp i strömmen; på ett typiskt store-mode-inlägg rör RAR-filerna aldrig din disk, så jobbet behöver 1× releasens storlek, inte 2×, och blir klart när nedladdningen blir klar.
- Union över flera providers - varje konfigurerad server bidrar; en artikel som saknas på en backbone hämtas från en annan. Långsamma eller döda servrar stoppar aldrig upp kön.
- En minnesbudget - motorn anpassar sig till en begränsad RAM-tilldelning och faller tillbaka på disk vid behov. Den swappar aldrig din maskin.
Mätt mot fältet på identisk hårdvara, samma jobb och providers har nzbfast gjort klart en 190 GB nedladdning på omkring 5 minuter på en 10 GbE-linje - med de ledande alternativen 30–220 % efter på samma tester, där de överhuvudtaget slutförde dem. Siffrorna finns i §3.
2 · Snabbstart
macOS
- Öppna
nzbfast-<version>-macos.dmgoch dra NzbFast till Program (universell: Apple Silicon + Intel). - Första starten: macOS varnar för att nzbfast ännu inte är Apple-notariserad. Högerklicka på appen → Öppna - eller öppna Systeminställningar → Integritet & säkerhet, scrolla ner och klicka Öppna ändå. Detta är ett engångssteg.
- Appfönstret visar instrumentpanelen med ett välkomstkort - klicka på det och lägg till minst en Usenet-server (host, port 563, användarnamn, lösenord). Du kan lägga till fler senare i Inställningar.
- Släpp en
.nzbvar som helst på instrumentpanelen - eller dubbelklicka bara på.nzb-filer i Finder. Nedladdningar hamnar i~/Downloads/nzbfast. Avsluta från menyn; nedladdningar återupptas där de slutade.
Föredrar du ingen app? Det vanliga zip-arkivet (binär +
Start nzbfast.command-startare, samma motor) fungerar fortfarande som förr -
stegen nedan under "Från en terminal".
Windows
- Kör
nzbfast-<version>-windows-x64-setup.exe. Den installerar bara för din användare (inget administratörslösenord). Eftersom den här utgåvan ännu inte är kodsignerad kan SmartScreen visa "Windows skyddade din dator" - klicka Mer information → Kör ändå. - nzbfast bor i systemfältet: dubbelklicka på fältikonen (eller använd Öppna instrumentpanelen i dess högerklicksmeny) för att öppna instrumentpanelen, och lägg sedan till din Usenet-server från välkomstkortet. Fältmenyn har också Pausa/Återuppta, din nedladdningsmapp och Avsluta.
- Att dubbelklicka på en
.nzb-fil lägger den i kön. Windows Defender kan fråga en gång om att tillåta lokal nätverkslyssning - tillåt det.
Föredrar du en portabel kopia? -windows-x64.zip fungerar fortfarande: packa upp
var som helst och dubbelklicka på nzbfast.exe (eller Start nzbfast.bat)
för terminalguiden.
Från en terminal (valfri plattform)
nzbfast setup # interactive server setup (writes config.local.json)
nzbfast serve --open # start the daemon and open the dashboard
nzbfast import-sab
på kommandoraden.Din API-nyckel
Vid en verkligt ny installation skapar nzbfast en API-nyckel åt sig själv första gången daemonen startar, och skriver ut den en gång i en banner precis under instrumentpanelens adress. Från och med då kräver varje förfrågan den nyckeln, så att instrumentpanelen och API:et inte står öppna för allt som kan nå maskinen.
Vad du gör med den beror på hur du startade nzbfast:
- macOS-appen, Windows-fältikonen eller
serve --open: ingenting. De skickar nyckeln till webbläsarfönstret de öppnar, instrumentpanelen kommer ihåg den, och du är redan inloggad. - En webbläsare du öppnat själv, eller instrumentpanelen på en telefon eller en annan dator: sidan frågar efter nyckeln en gång och kommer ihåg den efter det.
- Sonarr, Radarr, nzb360 med flera: klistra in den som deras SABnzbd- eller NZBGet-nyckel (§11, §12).
Nyckeln sparas i en fil som heter apikey bredvid din konfigurationsfil,
så den är densamma efter omstarter och du kan läsa tillbaka den när du behöver.
På macOS och Linux är den filen läsbar endast för kontot som kör nzbfast. Den finns
också i daemonens egen utskrift, så instrumentpanelens Logg-kort har den om
terminalen redan rullat förbi.
Vill du använda en egen nyckel i stället skriver du in den under Inställningar →
Säkerhet; den gäller direkt. Den panelen ändrar nyckeln men visar aldrig den
nuvarande, så läs filen apikey om du behöver få tillbaka det genererade
värdet. Vill du köra helt utan nyckel, för att något framför nzbfast redan sköter
inloggningen, startar du den med NZBFAST_OPEN=1 i miljön. nzbfast förblir
då öppen och säger det rakt ut vid start.
Vilka maskiner som över huvud taget kan nå daemonen är ett separat val:
serve --bind. Standard är 0.0.0.0, alltså varje
nätverksgränssnitt, eftersom en NAS-låda, en telefon och en Sonarr på en annan dator
alla måste kunna ansluta. --bind 127.0.0.1 smalnar av det till maskinen
som nzbfast kör på, vilket är vad du vill ha på ett enskilt skrivbord där inget annat
behöver åtkomst.
3 · Så fungerar nzbfast
En snabb ordlista så att resten av handboken blir lätt att läsa:
| Term | Betydelse |
|---|---|
| Provider / server | En Usenet-tjänst du har ett konto hos (Newshosting, Eweka, XS News…). Var och en tillåter ett visst antal samtidiga anslutningar. |
| Backbone | Infrastrukturen bakom en provider. Flera varumärken återförsäljer ofta samma backbone - bra att veta, eftersom två providers på en backbone saknar samma artiklar. Se Serverdiversitet. |
| NZB | En liten XML-fil som listar artiklarna som utgör ett inlägg. Det är detta du matar nzbfast med. |
| PAR2 | Återställningsdata som postas vid sidan av en release. nzbfast verifierar mot den under nedladdningen och reparerar automatiskt när artiklar är skadade eller saknas. |
| Store-mode-RAR | De flesta releaser packas i RAR-volymer utan komprimering. nzbfast känner igen detta och skriver innerfilen direkt till dess slutliga plats under nedladdningen - inget uppackningssteg efteråt. |
Rörledningen kör nedladdning → avkodning → verifiering → uppackning samtidigt. Pipeline-kortet på instrumentpanelen visar alla tre banor röra sig på en gång. När den sista byten anländer är verifieringen redan klar och filen redan uppackad; ett typiskt jobbs "efterbehandlingstid" är noll. Om reparation behövs materialiseras först då volymer till disk, repareras på plats av den native GF(2¹⁶)-motorn (omdöpt eller byteförskjuten obfuskerad data hittas och adopteras av en glidande blockskanning) och packas upp på nytt - allt automatiskt.
Avbrutna nedladdningar (krasch, strömavbrott, kill -9) återupptas från artikeljournalen: byte som redan finns på disken hämtas aldrig två gånger. Journalen registrerar var varje artikels byte fysiskt landade - även byte som blev direktuppackade till slutfilen - så en återupptagning bygger om från lokal disk och verifierar allt den återställde mot PAR2-blockkartan innan den litar på det.
Hur det står sig i jämförelse
Mätt mot SABnzbd 5.0.4 och NZBGet 26.2 på samma maskin, samma providers och samma NZB:er, tidsatt till en användbar fil - nedladdning, verifiering, reparation och uppackning inräknade, för det är då jobbet faktiskt är klart:
| Jobbstorlek | nzbfast | NZBGet 26.2 | SABnzbd 5.0.4 |
|---|---|---|---|
| 7 GB | 13.7 s | +26% | +39% |
| 35 GB | 67 s | +61% | +325% |
| 87 GB | 272 s | +36% | +160% |
| 190 GB | 9 m 00 s | +30% | +111% |
Glappet är efterbehandlingen som de andra fortfarande måste göra efter att den sista byten landat. Båda konkurrenterna trimmades inför jämförelsen, inte lämnade på standardvärden - SABnzbd i synnerhet levereras med request-pipelining av, vilket kostar den dyrt, så den slogs på.
Två skillnader betyder lika mycket som tiderna:
- Diskutrymme. Ett pass behöver 1× releasens storlek; klienter som skriver arkivvolymer och sedan packar upp dem behöver 2×. På en testmaskin med 97 GB ledigt blev ett 87 GB-jobb klart här på 3 m 08 s och de andra två kunde inte köra alls.
- Minne. På 190 GB-jobbet var toppanvändningen 3.9 GB mot SABnzbds 9.3 GB - och nzbfast klarar samma jobb i ungefär 1 GB om man säger till den (se Minnesbudget).
4 · Instrumentpanelen
Öppna http://localhost:6789 (eller din maskins adress från en annan
enhet - telefonlayouten anpassar sig automatiskt). Allt uppdateras live, en gång i
sekunden. Korten, uppifrån och ner:
Rubrikrad
- Hastighetsgräns-meny - fasta tak, auto · ge plats åt LAN (ett RTT-styrt läge som backar när någon annan i huset behöver linjen) eller obegränsat.
- Pausa i… - pausa allt i 15 min/30 min/1 h/3 h med automatisk återupptagning, eller använd Pausa-knappen för en öppen paus. Paus är omedelbar: den aktiva överföringen stoppar inom sekunder och återupptas senare från journalen utan att förlora något. (Jobb med Tvinga-prioritet fortsätter ladda ner, SABnzbd-stil.)
- En uppdateringsbanner dyker upp här när en ny version är tillgänglig (se Uppdateringar).
Hastighet
Live MB/s med ett rullande diagram; de streckade vattenmärkena markerar sessionens högsta/lägsta, den svaga linjen är ett glidande medelvärde. Under det visar ett histogram hur sessionens hastighetsmätningar fördelar sig - typiskt vs topp. Bredda fönstret så visar diagrammen mer historik (upp till en timme).
Statistikrutor
Nedladdat denna session, ködjup, antal klara/misslyckade, sessionens toppfart.
Resurser - en maskin, fyra tak
CPU, RAM (mot nzbfasts minnesbudget), diskskrivhastighet och nätverk på ett normaliserat diagram, med verkliga värden i teckenförklaringen och en varning för lite disk. Ingen annan NZB-klient visar dig detta; det finns för att bevisa en poäng - nzbfast maxar din linje, inte din maskin.
Pipeline - stegen överlappar
Tre banor: nedladdning, verifiering (PAR2-block kontrollerade), uppackning. På ett friskt jobb rör sig alla tre tillsammans.
Providers
Live-hastighet per server, anslutningsutnyttjande, andel av trafiken, sessionens GB och en livstidspoäng för artikelkomplettering (färgad när en server faller under 98 %). Ett staplat areadiagram visar varje providers bidrag över tid. Rader ordnas om efter live- prestanda var 10:e s (konfigurerbart i Inställningar → Gränssnitt) så att din snabbaste provider alltid ligger överst.
Kö
- Dra rader för att ändra ordning (inom ett prioritetsband - Tvinga/Hög körs ändå först); ändra prioritet direkt i raden.
- Klicka på en rad för detaljlådan: förloppsstaplar per fil, verifieringsblockantal,
vilken server som bidrog med hur mycket till detta jobb, och en "tillagd av"-rad
som säger var jobbet kom ifrån (bevakningsmapp, en ansluten app, API:et…).
Knappen Hämta .nzb-filen sparar jobbets
.nzb-fil - nzbfast behåller en egen kopia, så det fungerar för varje jobb, även när originalfilen sedan länge är borta. - Märken visar specialtillstånd: uppskjuten (långsam), prefetchar, pausad (se Prestandaverktyg).
- Ett nedräkningsdiagram spårar totalt GB kvar i hela kön.
Bläddra i indexet
Sök i allt den inbyggda indexeraren katalogiserat från dina bevakade grupper (se Automatisering) och ladda ner med ett klick - ingen extern indexerare behövs. Statusraden visar skanningsförloppet; Skanna nu tvingar fram ett pass.
Bevakningslista
Lägg till titlar efter namn - inklusive sådana som inte postats än. När en matchande release dyker upp i indexet hämtas den automatiskt, med kvalitetspreferenser och uppgraderingsregler (en bättre kopia ersätter en sämre).
Historik
Senaste nedladdningarna, en rad var. Misslyckade jobb erbjuder Försök igen
(återupptar från journalen). Krypterade arkiv visar en 🔑 upplåsningskontroll - ange
lösenordet så blir jobbet klart på plats. Verifieringshälsoremsan diagramlägger dåliga PAR2-
block per nedladdning - en stigande svans betyder att artiklar kommer in skadade.
Varje rads detaljlåda säger vem som lade till jobbet och har samma knapp
Hämta .nzb-filen som kön - praktiskt när du vill ladda ner en release igen
någon annanstans, eller bifoga .nzb-filen till en problemrapport.
Kortet listar tio nedladdningar som standard och resten är ett klick bort, på knappen ▤. Status, plats och orsaken till ett misslyckande ligger bakom ett klick på själva raden, så att det vanliga fallet - vad som blev klart, hur stort, när - förblir läsbart utan att scrolla. Dra i kortets nederkant för att låta listan scrolla på en höjd du väljer i stället. History rows under Inställningar → Gränssnitt ändrar tian; eftersom det är en egenskap hos daemonen och inte hos din webbläsare gäller det varje enhet som tittar på den här installationen. Colour History names bredvid färgar klara namn gröna och misslyckade röda; avstängt blir namnen neutrala, och den färgade pricken och radens egna detaljer säger fortfarande vilket som är vilket.
Dataförbrukning
Dagliga staplar per provider och Idag / 7-dagars / 30-dagars totaler - nödvändigt för mätade konton och blockkonton. Blockkonton visar livstidsförbrukning mot sin storlek.
Logg, Systembenchmark, Anslutningstrimning, Serverdiversitet
En loggvisare på sidan, och de tre självmätande verktygen som beskrivs i Prestandaverktyg.
5 · Lägga till nedladdningar
| Metod | Så här |
|---|---|
| Dra & släpp | Släpp en eller flera .nzb-filer var som helst på instrumentpanelen. |
| Bevakningsmapp | Ange en mapp i Inställningar; varje .nzb som sparas i den
plockas upp inom 5 sekunder och flyttas till papperskorgen, och en öppen instrumentpanel
meddelar varje upphämtning med namn ("… hämtad från Hämtningar"), så en fil som lämnar
mappen är aldrig ett mysterium. Vill du hellre behålla dina filer? Slå på Behåll
.nzb-filer efter upphämtning (se §9). Rikta din webbläsares nedladdnings-
mapp mot den för grabbar med ett klick från indexersidor. |
| Från en URL | Klistra in en NZB-länk (API mode=addurl, eller via valfri ansluten app). |
| nzblnk:-länkar | Klistra in en nzblnk:-länk var som helst på panelen, eller dra in den. Har du installerat från macOS-DMG:en eller Windows-installeraren kan du också klicka på en direkt på ett board. Se nzblnk-länkar nedan. |
| Bläddra i indexet | Klicka på valfri komplett release i Bläddra-kortet. |
| Bevakningslista / RSS | Automatiskt - se Automatisering. |
| Sonarr/Radarr m.fl. | De skickar grabbar rakt till kön - se §11. |
| Kommandoraden | nzbfast get file.nzb laddar ner utan daemonen. |
Kategorier, prioriteter, lösenord
- Kategorier är fritt formulerade etiketter; var och en blir en undermapp i din nedladdnings- mapp, och Smarta mappar (se §10) kan tilldela dem per regel.
- Prioriteter: Tvinga > Hög > Normal > Låg. Tvinga kringgår paus och kvot.
- Lösenord till krypterade arkiv plockas upp automatiskt från
<meta type="password">inuti NZB:n, från ett filnamnName{{password}}.nzbeller från fältetp=i en nzblnk-länk, och kan anges per jobb via API:et eller efteråt från Historik (🔑).
nzblnk-länkar
Vissa board, mest tyska och nederländska, publicerar en nzblnk:-länk
i stället för en NZB-fil. Inlägget är fördunklat, så det finns inget filnamn att länka
till. Länken bär i stället ett huvud, h=, som är en söknyckel och inte en
plats, plus en valfri titel t=, ett lösenord p= och en grupp
g=. Någon måste först gå och hitta inlägget.
nzbfast slår upp huvudet i sitt eget index först, vilket inte kräver något nätverk alls, och bara om det missar frågar det sökindexerarna du har ställt in (Inställningar → Sökindexerare, §9), under samma dagsbudgetar och samma backoff som varje annan sökning. Titeln blir jobbets namn och lösenordet läggs på jobbet automatiskt.
- Klistra in eller dra fungerar på varje installation, Docker och NAS inräknade: kopiera länken från boardet och klistra in den var som helst på panelen.
- Att klicka på en länk kräver att schemat är registrerat hos ditt skrivbord. Appen från macOS-DMG:en registrerar det, och Windows-installeraren erbjuder det som en uppgift: den frågar först och lämnar schemat i fred om NZB Monkey eller NZBDonkey redan håller det. Den rena macOS-tarbollen, Homebrew och Linux-installationerna har ingen skrivbordshanterare, där är inklistring vägen in.
- Uppslagningen är hastighetsbegränsad med flit. Ett registrerat schema ligger en webbläsarfråga bort från varje sida du besöker, så länkar har ett tak per minut och bara de första under en minut får nå dina indexerare; därefter besvaras de enbart ur det lokala indexet.
6 · Posterväggen
Klicka på 🎬 vägg i rubriken. Väggen förvandlar ditt index till en media- bläddrare: varje igenkänd film- och TV-release som en posterruta med betyg, år, genrer, skådespelare och synopsis - dina newsgroups, bläddringsbara som en katalog.
- Flikar för Filmer / Serier / Övrigt, direktsökning och sju sorteringar: För dig, Nyaste posterna, Utgivningsår, Högst betyg, Titel A–Ö, Största och Mest postade.
- Endast matchade är på som standard och döljer oidentifierat skräp; ett "+N omatchade"- märke visar det.
- Klicka på en ruta för detaljbladet: synopsis, IMDb-betyg och röster, skådespelare - och ▶ Spela (förhandsgranska den direkt, se §7) eller ⬇ Ladda ner.
- ✎ Korrigera matchning - om en titel matchade fel serie eller film, välj rätt en från kandidatposters, eller mata in titel/år/typ manuellt. Manuell text skrivs aldrig över av berikaren. ↻ Uppdatera metadata hämtar om en titel; Inställningar → Indexering kan uppdatera alla eller radera/bygga om hela indexet.
- Metadata är nyckellös som standard - TVmaze, iTunes, IMDb-dataset, Wikidata, Wikipedia och AniList kräver inga konton. En OMDb-nyckel (gratis, registrering med bara e-post - det finns en registreringshjälp i Inställningar → Indexering) förbättrar filmmatchning; en TMDB-nyckel respekteras om du redan har en.
- För dig rangordnar väggen efter en smakprofil som byggs på den här datorn utifrån din egen färdiga historik och din bevakningslista: favoritgenrer, om du lutar åt film eller serier, och ungefär vilken epok. Titlar du redan har sjunker till botten i stället för att försvinna, och en bildtext ”Eftersom du tittar på …” säger vad den tog fasta på. Utan historik faller den tillbaka på Mest postade, så fliken är aldrig tom. Inget av detta lämnar daemonen.
- Inte intresserad på en bricka döljer den titeln, och att dölja några liknande lär väggen något: den föreslår ett filter du godtar med ett klick (”Dölj alla Reality-titlar från och med nu?”). Allt du dolt, och varje inlärt filter, finns under Dolda & filter och kan ångras där.
- En liten tillgänglighetsprick på en bricka är oraklets utlåtande (§13): ett gult ”?” betyder osäkert hos dina leverantörer, rött att delarna gång på gång saknas. Hela grupper som just rensas får en rensad-markering.
7 · Förhandsgranskning & verifiering
Du behöver inte vänta på att en nedladdning blir klar för att veta att det är rätt fil. Öppna den medan den laddas ner, kontrollera att innehåll, språk och kvalitet är vad du väntade dig, och avbryt tidigt om de inte är det - i stället för att upptäcka det efter hela nedladdningen.
- ▶ Spela på väggen (eller
/m3u/<id>) ger din mediespelare en URL; daemonen startar eller återanvänder nedladdningen bakom den. - Slutpunkten
/stream/<nzo_id>serverar filen med fullt HTTP- range-stöd medan den laddas ner. Att kontrollera valfri punkt fungerar: stickprovskolla minut 40 så flyttas artiklarna för det området fram i nedladdningskön - den öppnas där typiskt på ett par sekunder i stället för minuter. Filens huvud och svans hämtas först så att spelare hittar sin indexdata direkt. - Biblioteksläge: kategorier som listas i library_cats blir direkta
poster med enbart metadata - en
.strm-fil dyker upp direkt, tillgängligheten verifieras i bakgrunden och den riktiga nedladdningen startar när du öppnar den första gången.
/stream-URL:er. För att kontrollera från en annan maskin, använd din maskins LAN-adress i
stället för localhost./stream/<id> en token per jobb
(?t=…) - spelare kan inte skicka API-nycklar, så /m3u-överlämningen
och .strm-pekaren bäddar in den åt dig; att skapa den (/m3u)
kräver nyckeln. Rå byte-servering av en redan aktiv nedladdning förblir öppen, och
nyckellösa installationer beter sig som förr.8 · Usenet-servrar
Inställningar → Usenet-servrar är den fullständiga redigeraren: lägga till, redigera, ta bort, ordna om och ta in eller ur poolen vilken server som helst. Varje server har:
| Fält | Anmärkningar |
|---|---|
| Host / port | Använd SSL-port 563. TLS kostar inget mätbart - nzbfast krypterar alltid. |
| Användarnamn / lösenord | Lagras lokalt i config.local.json, visas aldrig tillbaka till webbläsaren. Att lämna lösenordet tomt vid redigering behåller det sparade. Lösenord är fördunklade på disk, inte krypterade. |
| Anslutningar | Samtidiga anslutningar per server. Använd Anslutningstrimning (§13) för att hitta varje providers optimala punkt i stället för att gissa högt. |
| Nivå (tier) | 0 = primär; högre nivåer är fyllnadsservrar, som bara tillfrågas om artiklar varje lägre nivå missat. Sätt obegränsade konton på 0, blockkonton på 1+. |
| Blockstorlek (GB) | För block-konton (betala per GB): nzbfast spårar livstidsförbrukning mot detta och slutar använda servern när den är slut (varning vid 85 %). |
Lämna lite marginal under kontots anslutningstak. Att ställa anslutningarna en bit under taket kostar ingenting: genomströmningen planar ut långt före de sista en eller två anslutningarna, och Anslutningstrimning (§13) hamnar ändå under. Det är de lediga platserna som låter en andra enhet, ett annat program eller ett nytt försök efter en bruten socket komma in ändå, i stället för att nekas medan den här upptar varenda plats.
Så lagras dina leverantörslösenord
Leverantörslösenord i config.local.json är fördunklade, inte
krypterade. De sparas som obf1: följt av en kodad form, så att filen
inte läses som klartext om den dyker upp i en skärmbild, ett foruminlägg, en
felrapport eller på en skärm som någon annan kan se.
Låt oss vara tydliga med vad det ger dig och vad det inte ger:
- Det är inte kryptering och skyddar inte alls mot någon som har filen. Metoden finns i vår öppna källkod och avkodaren följer med inuti nzbfast, så den som har filen får fram lösenordet på några sekunder. Behandla filen som hemlig precis som du skulle gjort om lösenorden var läsbara.
- Det tar bort den slarviga läckan, som är den vanliga. Konfigurationer klistras in i supporttrådar och fastnar på skärmbilder betydligt oftare än de stjäls från disk.
- Ett lösenord du själv skrivit in som klartext fungerar fortfarande. nzbfast läser båda formerna, så handredigerade konfigurationer och import från andra klienter går aldrig sönder; nästa gång det sparar skriver det den fördunklade formen.
- Filen skrivs dessutom läsbar endast för kontot som kör nzbfast (läge 0600 på macOS och Linux).
Som jämförelse: NZBGet och SABnzbd lagrar båda leverantörslösenord som läsbar klartext i sina konfigurationsfiler. Vi tycker att fördunkling är en liten förbättring på det, inte en säkerhetsfunktion.
Varför inte systemets nyckelring? macOS Keychain, Windows Credential Manager och Linux hemlighetstjänster skulle ge verkligt skydd, och vi kan komma att återvända till det. Två saker hindrar oss i dag. Åtkomst till nyckelringen hänger på programmets identitet, och nzbfast är ännu inte kodsignerat, så dialogerna och beteendet efter varje uppdatering blir dåliga. Och en stor andel av installationerna är Docker, skärmlösa servrar och NAS-lådor där det inte finns någon nyckelring alls, vilket skulle lämna två olika lagringsvägar att hålla korrekta. Ett enda välförstått format som beter sig likadant överallt är tills vidare den bättre affären.
Två ytterligare alternativ per server har ännu ingen kontroll i panelen: lägg in
dem för hand i serverns post i config.local.json
(se §17) och starta om.
| Nyckel | Noteringar |
|---|---|
bind_ip | Binder den här serverns utgående anslutningar till en bestämd lokal adress, för maskiner med flera utgångar och delade VPN-tunnlar. Adressfamiljen väljer också målfamiljen: en v4-bindning ansluter till serverns v4-adress. |
socks5 | Skickar den här serverns NNTP-trafik genom en SOCKS5-proxy: host:port, eller user:pass@host:port. Värdnamnet slås upp av proxyn, så det blir ingen lokal DNS-läcka. |
- Bocken bredvid varje server är dess på/av-reglage: ibockad betyder att servern är med i nedladdningspoolen, urbockad betyder inaktiverad. En inaktiverad server behåller sina inloggningsuppgifter och inställningar och går fortfarande att testa; den blir bara aldrig tillfrågad om artiklar. Raden tonas ned, räknaren i rubriken (2 av 3 aktiva) sjunker och ändringen gäller från nästa nedladdning. Bra för att spara på ett blockkonto, eller för att bevisa att en leverantör ligger bakom ett problem utan att ta bort den.
- Testa gör en riktig anslutning + TLS + inloggning och rapporterar tur-och-retur-tiden.
- Importera från SABnzbd / NZBGet… skannar de vanliga installationsplatserna, visar vad den hittade och kopierar in servrar (hoppar över dubbletter).
- Serverändringar gäller från nästa nedladdning - ingen omstart.
9 · Inställningsreferens
Nästan allt går att ställa in från panelen, under ⚙ Inställningar; de fyra
undantagen listas i slutet av det här avsnittet. Värden märkta
live gäller direkt,
restart-värden vid nästa start. Varje ändring som
görs här sparas i settings.json och överlever omstarter (värden från
gränssnittet slår flaggor på kommandoraden).
Hastighet & schemaläggning live
| Inställning | Vad den gör |
|---|---|
| Hastighetsgräns | Tak i byte/sek (50M, 1G, 0 = obegränsat). Fjärrappar kan skicka procenttal - sätt Linjehastighet så att de översätts korrekt. |
| Auto-hastighet | RTT-styrt tak som ger plats åt annan hushållstrafik och breder ut sig igen när linjen är tyst. |
| Skjut upp långsamma nedladdningar automatiskt | Ett jobb som fastnat på en långsam server medan andra väntar flyttas sist i kön (förloppet behålls). Se §13. |
| Prefetch på lediga servrar | Servrar som är onyttiga för det aktiva jobbet startar nästa köade. Se §13. |
| Auto-uppdatering / URL för uppdateringskontroll | Se §14. |
| Linjehastighet | Din anslutnings nominella hastighet - möjliggör procentuella gränser från SABnzbd-kompatibla appar. |
| Veckoschema | Radredigerare för regler per veckotid: pausa, återuppta eller sätt en hastighetsgräns vid givna dagar/tider (lokal tid). T.ex. begränsa till 20 MB/s vardagar 9–17, obegränsat annars. |
Nästa nedladdning live
Anslutningar (per server), fönster (pipelining-djup per anslutning), avkodare (parallella avkodartrådar). Provtas när varje jobb startar. Standardvärden är rätt för de flesta linjer; använd trimningsverktygen innan du höjer blint.
Kontroll under nedladdning väljer hur mycket som verifieras medan data kommer in. Fullständig bekräftar varje PAR2-block med MD5. Snabb (standard) gör anspråk på block via CRC32, vilket är 2-3x snabbare på en långsam processor, och verifierar fortfarande varje artikels egen kontrollsumma. Lätt hoppar dessutom över de artikelkontrollsummorna så snart PAR2 täcker en fil: skadan visar sig då ett ögonblick senare, vid sitt block. I alla tre använder den avslutande omgången och varje reparation full MD5, och en nedladdning utan PAR2-filer behåller sina artikelkontrollsummor.
Disk & kvot live
Minsta lediga utrymme (pausa nya jobb under det; 2 GB som standard, 0 stänger av det), nedladdningskvot per dag eller månad (UTC; Tvinga-jobb kringgår), minnesgräns - motorns RAM-budget (standard: ¼ av RAM, begränsad; höj den på en maskin med mycket RAM för maximal fart på stora jobb, och se vad lite minne kostar innan du sänker den) restart.
Flytta färdiga till: efter uppackning, städning och namnbyte flyttas
färdiga nedladdningar hit - en NAS-utdelning, en mediadisk, där ditt bibliotek
finns. Kategoristrukturen behålls (ett jobb som blev klart under
tv/ hamnar under tv/ på målet), och historiken följer
med flytten, så anslutna appar importerar och raderar på den nya platsen. Är
målet onåbart när ett jobb blir klart (utdelningen nere, slut på utrymme)
stannar filerna i nedladdningsmappen och jobbet slutförs ändå som vanligt.
Tomt = av. Mål per kategori skickar enskilda kategorier någon annanstans
(tv=/Volumes/NAS/TV, movies=/Volumes/NAS/Movies); varje listad sökväg är den kategorins mapp, så ingen extra
kategoriundermapp skapas i den. Olistade kategorier följer Flytta färdiga
till.
Djup för nästlade arkiv (standard 5) är hur många lager av arkiv-i-arkiv som packas upp automatiskt: en RAR-uppsättning som innehåller en 7z som innehåller ännu en RAR är normalt på Usenet, och nzbfast följer kedjan utan en andra omgång. Vid gränsen lämnas det djupaste arkivet helt enkelt kvar, inte vidare uppackat, och nedladdningen blir ändå färdig. Höj bara för ovanligt djupa releaser.
Auto-namnbyte & städning live
Byt namn på färdiga nedladdningar (på som standard) ger mappen och
huvudfilen ett rent, informativt namn: en film blir Example Movie (2024),
serier behåller Show - S01E02. Obfuskerade eller okända namn lämnas exakt
som de postades i stället för att gissas.
| Inställning | Vad den gör |
|---|---|
| Ta med upplösning | Lägger 1080p, 2160p… i namnet. På som standard; de andra fyra märkena är av. |
| Ta med videocodec | x265, x264, AV1… |
| Ta med ljudcodec | Atmos, DTS-HD, AC3… |
| Ta med källa | BluRay, WEB, REMUX… |
| Ta med releasegrupp | Märket -GROUP på slutet. |
| Ta bort skräpfiler | På som standard. Raderar kvarblivna .par2, .nzb, .sfv, .nfo och samplingsklipp ur färdiga film- och seriemappar. Aldrig videon eller dess undertexter. |
| Behåll bara mediefilen | Av som standard, och destruktiv: raderar permanent allt i mappen utom videon (eller videorna) och undertexterna. Varje avsnitt i ett säsongspaket behålls. Går före Ta bort skräpfiler när båda är på. |
| Keep the other words in the name | På som standard. Sport, tävlingar och andra evenemang är ofta en och samma titel upprepad hela säsongen, och bara ett ord eller två isär - "Round11 Hungary Race" mot "Round11 Hungary Qualifying". Att behålla de orden är det som hindrar en hel säsong från att falla ihop till samma namn. Gäller bara där namnet inte kunde städas upp på annat sätt, så vanliga filmer och avsnitt lämnas orörda. |
Hela gruppen körs efter reparation och uppackning och före Flytta färdiga till, och hoppas över helt för ett jobb som fortfarande väntar på lösenord. Båda raderingsstegen gäller bara releaser som känts igen som film eller serie: en programvarulast eller en oklassificerbar (obfuskerad) uppsättning städas aldrig.
Raderade filer hamnar i papperskorgen avgör vad "radera" betyder ovan. Med den på flyttar rensningen filer till systemets papperskorg, så en felgissning om vad som var skräp kan ångras; med den av raderas de direkt. Den är på som standard på macOS och Windows, där papperskorgen är någonstans du kan se och tömma, och av som standard på Linux, där den oftast inte är det.
.Trash-1000 (siffran är ditt användar-id)
högst upp på nedladdningsdisken och flyttar filerna dit i stället. Ingenting visar
dig den mappen, ingenting tömmer den, och utrymmet den håller kommer aldrig
tillbaka.
Om du körde en tidigare version av nzbfast på Linux med den på, leta efter den mappen i roten av din nedladdningsutdelning. Den är säker att tömma: allt i den är filer som en rensning redan avgjort att du inte ville ha. nzbfast tömmer den inte åt dig, för den ligger på din disk och är din att bedöma.
Mappar & behandling
Nedladdningsmapp restart, bevakningsmapp,
efterbehandlingsskript (körs efter varje jobb med SABnzbd-kompatibla argument
och SAB_*-miljö - befintliga SAB-skript fungerar oförändrade),
städtillägg (skräpfiler som raderas efter slutförande), Smarta mappar
och TV-arkivering (se §10).
Behåll .nzb-filer efter upphämtning (av som standard) lämnar kvar
original-.nzb:n i bevakningsmappen efter att den köats, i stället för att
flytta den till papperskorgen - för samlare, och för att kunna ge filen till någon när
en nedladdning strular. En kvarlämnad fil kommer nzbfast ihåg, även över omstarter, och
köar den inte igen; spara om den för att ladda ner den på nytt. Oavsett vilket har varje
jobbs detaljlåda en knapp Hämta .nzb-filen, så en kopia av vilket jobbs
.nzb som helst är aldrig mer än ett klick bort.
Indexering live
| Inställning | Vad den gör |
|---|---|
| Inbyggd indexerare | Huvudreglaget, av tills du slår på det. Av innebär ingen skanning, inga metadatasökningar, ingen tillgänglighetsprovtagning och inget newznab-flöde; ett index som redan finns på disk behålls (det finns en raderaknapp), så att slå på igen återupptar i stället för att skanna om. |
| Grupper | Newsgroups som den inbyggda indexeraren skannar (t.ex. alt.binaries.teevee). |
| Skanningsintervall | Sekunder mellan pass (standard 900). |
| Backfill-artiklar | Headers som hämtas vid en grupps allra första skanning. |
| Fördjupa per skanning | Varje pass indexerar även så här många äldre artiklar och bygger ut din sökbara historik i bakgrunden tills Max ålder nås (standard 200 000 per pass ≈ tiotals miljoner artiklar per dygns drifttid). |
| Max ålder | Ignorera poster äldre än detta (90d, 6m, 2y) - begränsar indexstorlek och skanningstid. |
| Gallra till åldersfönstret | På som standard. Raderar även redan lagrade releaser när de blir äldre än Max ålder, så att indexet håller ungefär det fönstret i stället för att växa för alltid. Av = bara nya poster filtreras och det som redan lagrats blir kvar. Döda skräpfragment (dolda, fortfarande ofullständiga efter en vecka) rensas i vilket fall. |
| Ingest-filter | JSON-regler som filtrerar vad som kommer in i indexet: typer (obfuskerat skräp släpps som standard), år/upplösning/språk, storleksgränser. |
| Skanna nu / djup omskanning | Kör ett pass direkt; med ett djup, skanna om så här många färska headers. |
| OMDb-nyckel / metadatauppdatering / radera | Berikningskontroller för väggen (§6). Radera bygger om databasen från grunden - återställningsvägen om den någonsin blir korrupt. |
| Pre-flöde | Av tills du slår på det. Många uppladdningar publiceras utan sitt namn, och då har en genomsökning inget att läsa. Publika relräkanaler annonserar det riktiga namnet, den enda öppna vägen att para ihop sådana inlägg. Att slå på håller en anslutning till ett IRC-nät öppen och lyssnar: ingenting skickas någonsin och inget konto skapas. Kräver att indexeraren är på, för ett flöde utan någonstans att lägga det den hör är bara en socket som står öppen i onödan. |
| Reläserver, Reläkanaler | IRC-nätet som bär annonserna (värd eller värd:port) och kanalerna att lyssna i, kommaseparerade. En ändring träder i kraft vid nästa anslutning: slå av och på flödet för att tillämpa den direkt. |
| Namnge genom korrelation | De publika direktreläerna bär inga filnamn, så de flesta fördunklade inlägg går inte att para ihop direkt. Vad en annons däremot fastslår är när en utgåva dök upp och hur stor den är. Detta jämför annonserad tid och storlek med namnlösa inlägg och föreslår, när de passar, det riktiga namnet under Bläddra. Ett förslag är märkt som ett förslag, kräver din klickning och byter aldrig namn på filer på disk. |
| Tillämpa starka träffar automatiskt | Av som standard, och strikt när det är på: storleken måste stämma tätt, ingen annan annons får passa nästan lika bra, och annonsen måste välja tillbaka det här inlägget vid kontrollen åt andra hållet. Ett tillämpat namn ändrar bara hur utgåvan visas, är märkt som härlett och tas bort av sig självt om en färdig nedladdning motbevisar det. Allt svagare förblir ett förslag. |
| Annonshistorik | Direktflödet hör bara annonser som gjorts efter att det slagits på. Detta hämtar ungefär sex månader av tidigare annonser från en publik pre-databas, artigt och en gång, så att även redan indexerade inlägg kan paras ihop. Kör en halvtimme eller så i bakgrunden. |
Bibliotek, Säkerhet, Gränssnitt
Bibliotek: kategorier som behandlas som direkta biblioteksposter + omkontrollintervall. Säkerhet: den fullständiga API-nyckeln (allt) och NZB-nyckeln (enbart tillägg - säker att ge till indexersidor), båda roterbara live. Vardera rutan ersätter den nyckel den hör till så snart du lämnar fältet, och lämnar du en ruta tom behåller den nyckeln den redan har. API-nyckeln har dessutom Show, som visar och kopierar den nuvarande nyckeln så att du kan klistra in den i Sonarr, Radarr eller NZB360 när det passar dig, och Create new, som präglar en ersättare - den gamla nyckeln slutar fungera omedelbart, så allt som redan är anslutet måste få den nya. Båda är beroende av själva API-nyckeln: NZB-nyckeln för enbart tillägg kan inte läsa den, vilket är hela poängen med den nyckeln. Var nyckeln kommer ifrån på en ny installation, se §2. Gränssnitt: klickljud, skrivbords- aviseringar vid slutförande, omsorteringsintervall för providers.
Hastighetsenheter live avgör hur varje hastighet visas i panelen: megabyte (MB/s, normen bland nedladdningsprogram, standardvalet) eller megabit (Mb/s, som operatörer anger linjer). Filstorlekar står kvar i byte. Det är en egenskap hos daemonen, inte hos din webbläsare, så det gäller varje enhet som tittar på den här installationen.
Avancerat: rattarna bakom de självklara
Sex inställningar utan flagga på kommandoraden. Var och en har nu en avancerad rad på
det inställningskort som äger den, och går fortfarande att sätta via API:et
(§16), t.ex.
/api?mode=config&name=verify_mode&value=lean&apikey=…. Precis
som alla andra sparas de i settings.json.
| Namn | Vad den gör |
|---|---|
verify_mode | full | fast | lean (standard fast). lean är knuffen för långsamma processorer: som fast, men hoppar dessutom över yEnc-CRC per artikel så snart PAR2 täcker en fil, vilket ger ett CRC32-lager i stället för två. Nedladdningar utan PAR2 behåller sina artikel-CRC:er, och verifiering och reparation i slutet av jobbet är oförändrade i båda fallen. Väljaren Kontroll under nedladdning ovan är denna inställning. |
auto_retry_mins | Väntetid före det enda automatiska omförsök som ett första misslyckande med saknade artiklar får (standard 20). Propagationsfördröjning är en verklig orsak till saknade artiklar och löser sig själv; tack vare journalen hämtar omkörningen bara det som fortfarande saknas. Misslyckanden på grund av lösenord eller takedown kvalificerar sig aldrig. |
index_scan_par | Hur många grupper indexeraren skannar parallellt (standard 3, begränsat till 1-8). |
oracle_sample | Tillgänglighetsoraklets STAT-budget i vila (§13), sonderingar per timme och server. Standard 300, max 3600, 0 stänger av samplingen helt. |
predb_max_rows | Hur många pre-annonseringar flödestabellen behåller (standard 250000, begränsat till 10000-5000000). Den timvisa gallringen skär ner till den siffran och den historiska importen vägrar starta om den skulle gå förbi den, så en import lägger aldrig till rader som nästa gallring tar bort. |
predb_seed_days | Hur långt bak en historisk import når när den startas utan eget fönster (standard 180 dagar, högst 366). Ett större fönster är fler förfrågningar till pre-källan, som går i takten en varannan sekund. |
10 · Automatisering
Bevakningslista
Den enklaste automatiseringen: lägg till en titel på instrumentpanelen, sätt kvalitetspreferenser, klart. Nya releaser grabbas när de dyker upp i dina indexerade grupper; kopior med bättre kvalitet uppgraderar tidigare grabbar; en kalendervy visar vad som är på väg.
RSS-flöden
Inställningar → RSS: valfri newznab/indexer-RSS-URL med intervall per flöde, kategori och filterregler (titelmönster, storleksgränser). Matchande objekt laddas ner automatiskt.
Smarta mappar
Regler som utvärderas när ett jobb läggs till: matcha på mönster/nyckelord och storlek, tilldela en
kategori (första träffen vinner). Med TV-arkivering på döps färdiga TV-avsnitt om
och arkiveras som Show/Season 01/Show - S01E02.mkv -
Plex/Jellyfin-redo utan ett externt verktyg.
Schemaläggare
Veckoschemat (se §9) automatiserar pausa/återuppta/hastighet efter tid på dygnet.
Skript
Ett efterbehandlingsskript tar emot SABnzbds positionsargument och
SAB_*-miljövariabler - det stora ekosystemet av SAB-skript körs
som det är.
11 · Sonarr, Radarr & vänner
nzbfast talar SABnzbd-API:et native, så varje *arr fungerar direkt - och den kan agera som deras indexerare också.
Som nedladdningsklient
- I Sonarr/Radarr: Settings → Download Clients → lägg till SABnzbd.
- Host: din nzbfast-maskin · Port: 6789 · API-nyckel: din fullständiga API-nyckel (var du hittar den: §2).
- Kategori efter önskemål (t.ex.
tv/movies). Test → grön bock → Save.
Kö, historik, status per jobb, "remove & delete", nytt försök och kategoriroutning beter sig alla som *arr-verktygen förväntar sig.
Som en indexerare (newznab)
- Settings → Indexers → lägg till Newznab.
- URL:
http://<host>:6789/· API-sökväg:/api· nyckel: din API-nyckel. - nzbfast serverar
caps-,search-,tvsearch- ochmovie-frågor från sitt eget index över dina bevakade grupper, och/getnzb/<id>lämnar tillbaka NZB:en.
<error code="101"> i stället för ett tomt
resultat, så ett misstag syns när du lägger till indexeraren och inte veckor senare.Varför bry sig? En egen indexerare över precis de grupper du bryr dig om: inga konton, inga API-taktgränser, retention så djup som du låter den skanna. Den är ett tillägg till dina vanliga indexerare snarare än en ersättning, eftersom den bara hittar det som postats under ett riktigt filnamn.
12 · Telefon & fjärrappar
nzbfast implementerar båda de stora fjärrstyrningsprotokollen, så nästan varje mobil-/surfplatteapp fungerar. Välj det protokoll din app stödjer:
Appar som talar NZBGet (nzb360, LunaSea, NZB Unity…)
| Fält i appen | Värde |
|---|---|
| Typ | NZBGet |
| Host / port | din maskin : 6789 |
| Användarnamn | vad som helst (t.ex. nzbfast) |
| Lösenord | din API-nyckel |
Hela JSON-RPC-ytan som dessa appar använder serveras: status, kö med omordning/paus/radering, historik, add-NZB, hastighetsgräns, paus/återuppta, logg.
Appar som talar SABnzbd
| Fält i appen | Värde |
|---|---|
| Typ | SABnzbd |
| Host / port | din maskin : 6789 |
| API-nyckel | din API-nyckel (eller NZB-nyckeln för åtkomst med enbart tillägg) |
Instrumentpanelen på din telefon
Öppna bara http://<machine>:6789 i en mobilwebbläsare - hela
instrumentpanelen och väggen har en touchlayout. Panelen Inställningar → Fjärråtkomst visar
de exakta URL:erna och en QR-kod att skanna.
Nå nzbfast utifrån
Det finns ingen inloggningssida, och det är avsiktligt. En inloggning med sessionscookie är en säkerhetsyta att underhålla för alltid, och den skulle ändå vara det svagaste låset på något som står mot öppna internet. nzbfast autentiserar i stället med din API-nyckel, och tar emot nyckeln både i en förfrågningsrubrik och i URL:en (X-Api-Key eller Authorization: Bearer) - vilket är just det som låter något framför sköta inloggningen ordentligt.
Enklast är att inte publicera den alls. Installera Tailscale på den här datorn och i telefonen så hamnar båda i samma privata nät: ingenting exponeras, ingen router eller certifikat behöver röras, och Inställningar → Fjärråtkomst visar en adress som fungerar överallt så snart Tailscale körs. Välj det här om du inte uttryckligen behöver en publik domän.
Om du behöver det, sätt en omvänd proxy framför, ge den certifikatet och låt den sköta autentiseringen. Starta nzbfast med --bind 127.0.0.1 så att proxyn är enda vägen in, och peka proxyn mot 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ägg på det din proxy erbjuder: basic auth, en forward-auth-tjänst som Authelia eller Authentik, eller klientcertifikat. En sak överraskar alla - Sonarr, Radarr och telefonapparna kan inte genomföra en webbläsarinloggning, så lämna dem en väg förbi. De flesta proxyer kan släppa igenom en förfrågan med en giltig X-Api-Key-rubrik och kräva autentisering för allt annat.
13 · Prestandaverktyg
Systembenchmark
Ett klick mäter dina tre tak - nätverkshastighet (en riktig 8-sekunders multi-anslutningsprob), CPU-verifieringshastighet och diskskrivhastighet - och leder med svaret: din förväntade maximala nedladdningshastighet och vilket tak som är gränsen. Den kortaste stapeln är din flaskhals; de andra visar sin marginal. Schemalägg den (var 6:e h → veckovis) så loggas varje körning till en historiktabell, så att du kan se när din provider, ISP eller hårdvara ändrade beteende. Schemalagda körningar sker bara medan kön är i vila.
Anslutningstrimning
Mäter en provider vid stigande antal anslutningar och rekommenderar inställningen - fler sockets hjälper tills providern eller din linje mättas, och vissa providers bestraffar överbegäran. Testa alla jämför varje provider och kör dem sedan alla ihop för att kontrollera att poolen mättar din linje.
Serverdiversitet
STAT-provtar artiklar över olika åldrar på varje server och klustrar providers efter gemensamma luckor: providers med ~100 % gemensamma saknade artiklar är samma backbone (redundanta för återställning); oberoende sådana breddar verkligen din täckning. Slutar med en rekommendation i klartext.
Automatisk köintelligens
- Auto-uppskjutning: en nedladdning som stapplar på en enda långsam server medan andra jobb väntar parkeras sist (journalen behåller dess förlopp) och försöks igen när kön är fri.
- Prefetch på lediga servrar: servrar som inte kan hjälpa det aktiva jobbet (deras kopior är borta) börjar under tiden ladda ner nästa köade jobb. Ingen annan klient gör överlappning mellan jobb.
- Överlappning mellan jobb: medan ett färdigt jobbs svans (verifiering/uppackning) blir klar på disken äger nästa jobbs nedladdning redan linjen.
Tillgänglighetsoraklet
Takedowns är det främsta skälet till att en Usenet-nedladdning misslyckas, och de går att förutse: samma release försvinner hos en backbone medan en annan fortfarande har den. nzbfast för ett litet register över vad dina egna leverantörer faktiskt har svarat för, och lägger en pytteliten vilobudget på STAT-sonderingar (några hundra i timmen per server, aldrig under en nedladdning) för att hålla det aktuellt. Den laddar aldrig ner nyttolast för att ta reda på det.
Vad du får ut av det:
- Ett tillgänglighetsutlåtande på väggens brickor och indexets rader (§6): gult ”?” för osäkert hos dina leverantörer, rött för säkert borta. Ingen markering betyder att det ser bra ut.
- En rensad-markering på grupper där färska poster redan tas bort, så att du kan skilja en döende grupp från en otursförföljd release.
- Hoppa över providers som oraklet dömt ut (Inställningar, av som standard, experimentell): när kontrollen är säker på att en leverantörs backbone har tappat en release hoppas den över direkt för den nedladdningen i stället för att man väntar in misslyckandet. Din sista kvarvarande leverantör hoppas aldrig över.
Utlåtandet är en förutsägelse från indicier, inte en garanti. För ett
hårt svar om en enskild NZB räknar nzbfast check
(§15) de faktiska artiklarna.
Minnesbudget - och vad lite minne kostar
Alla motorns cachar delar en budget (standard ¼ av fysiskt RAM, begränsad till
256 MB–16 GB). Sätt den uttryckligen med Minnesgräns i Inställningar, eller
--mem-limit på kommandoraden.
nzbfast är byggd för att suga upp ditt nätverk och din disk samtidigt, och RAM är det som låter den göra båda i ett pass: artiklar avkodas, verifieras och skrivs rakt till sina slutliga offset, så arkivvolymer behöver aldrig röra disken alls. Svält den på minne och inget går sönder - varje cache har en spill-väg, och motorn degraderar till mer disk-I/O i stället för att swappa eller misslyckas. Men det spillet är inte gratis, och på stora jobb kan du mäta det.
Uppmätt på en maskin och en linje (M1 Ultra, 10 GbE), samma filer vid varje budget. Varje körning gav ett korrekt, fullt verifierat, uppackat resultat:
| Jobbstorlek | Gott om RAM | 2 GB budget ≈ 8 GB maskin | 1 GB budget ≈ 4 GB maskin | 256 MB budget ≈ 2 GB NAS |
|---|---|---|---|---|
| 7 GB | 15 s | 15 s | 15 s | 15 s |
| 35 GB | 65 s | 70 s | 70 s | 65 s |
| 87 GB | 148 s | 206 s +39% | 196 s +32% | 180 s +22% |
| 190 GB | 330 s | 427 s +29% | 402 s +22% | 411 s +25% |
Toppminnet följer budgeten, inte jobbet: den 190 GB-nedladdningen blir klar i ungefär 1.1 GB RAM. Det du byter mot det är tid - och bara på stora jobb.
- Upp till ~35 GB är lite minne gratis. Arbetsuppsättningen får plats oavsett, så en 4 GB-maskin blir klar med ett sådant jobb lika snabbt som en 64 GB-maskin.
- Förbi ~87 GB betalar du 20–40 % - men bara när din linje springer om din disk. Verifieringsblock och arkivvolymer som skulle ha stannat i RAM skrivs ut och läses tillbaka i stället, och det kostar bara tid om nätverket kan leverera snabbare än disken hinner absorbera den extra trafiken. De 20–40 % ovan mättes på 10 GbE; samma 87 GB-jobb vid samma budgetar på en ~2.4 Gbps-linje visade ingen straffavgift alls (−1 till +7 %, inom brus mellan körningar). Straffet är en funktion av hur långt linjen springer om disken, inte av jobbstorleken - på en typisk hemuppkoppling är en liten budget nära gratis även på mycket stora jobb.
- Straffet planar ut. När ett jobb är stort nog att spilla spiller varje begränsad budget ungefär lika mycket - 2 GB-, 1 GB- och 256 MB-körningarna läser tillbaka i stort sett samma antal block från disk, och blir klara inom brus av varandra. Så lite mer RAM under tröskeln som helt undviker spill köper inte tillbaka kostnaden: ge den nog för att hålla jobbet i minnet, annars spelar den exakta siffran knappt någon roll.
På en liten NAS, sänk även Anslutningar (2–4) tillsammans med budgeten. Vid en 256 MB budget och 2 anslutningar stannar toppminnet nära 190 MB - bekvämt inom vad en 2 GB NAS har till övers. Var medveten om att det då är antalet anslutningar, inte minnet, som begränsar dig: samma 35 GB-jobb tog 286 s i stället för 65 s. Det är den ärliga formen på avvägningen - den blir alltid klar, och korrekt; den kommer bara inte att mätta linjen.
Benchmarks körs om för varje utgåva; metod och siffror per maskin publiceras vid sidan av resultaten.
14 · Uppdateringar
- Uppdateringar är endast avisering: nzbfast laddar aldrig ner eller byter ut sin egen binär, och det finns ingen kod i den som kan. När en ny version finns visar sidhuvudet ⬆ v X tillgänglig - ladda ner; chippen länkar till den officiella nedladdningssidan (länken är fast i appen, den kommer aldrig från uppdateringsmanifestet). Installera den nya versionen på samma sätt som du installerade den nuvarande.
- nzbfast söker efter nya versioner två gånger om dagen. Stäng av Sök efter uppdateringar (Inställningar) så kontaktar den aldrig uppdateringsmanifestet; en tom URL för uppdateringskontroll gör detsamma.
Uppdatera utan att förlora dina inställningar
En regel täcker varje installation: en uppdatering byter ut programmet, aldrig dina inställningar. Allt du har konfigurerat - servrar, sökvägar, API-nyckeln, kön - bor i en handfull filer i en enda mapp (§17), och ingen installerare, image-hämtning eller paketuppgradering rör den mappen. När inställningar ändå ser borta ut efter en uppdatering är det nästan alltid för att den nya installationen läser en annan, tom mapp, inte för att något raderades; de gamla filerna ligger kvar där de alltid har legat. §18 har återställningsstegen.
| Installation | Så uppdaterar du |
|---|---|
| macOS-appen | Öppna den nya DMG:en och dra NzbFast till Program så att den gamla ersätts. Din datamapp är separat och rörs inte. |
| Windows-installeraren | Kör den nya installeraren ovanpå den gamla installationen. Din datamapp är separat och rörs inte. |
| Docker (kommandoraden) | docker pull nzbfast/nzbfast,
ta bort den gamla containern och kör sedan den nya med exakt samma
-v-mappningar. Imagen är förbrukningsvara; den mappade
/config-mappen är din installation. Om ditt körkommando använder en
relativ sökväg som -v ./config:/config, kör det från samma katalog varje
gång - från vilken annan plats som helst är ./config en annan, tom
mapp. |
| Docker Compose | docker compose pull && docker compose
up -d, med samma compose-fil på samma plats. ./config i filen
är förankrad i filens egen mapp, så låt filen ligga kvar där den är. |
| Watchtower | Inget att göra: den återskapar containern med samma mappningar när en ny image släpps. |
| Unraid | Fliken Docker → Check for Updates → Apply
Update. Ta aldrig bort och lägg till appen på nytt för att uppdatera den; om du
någon gång ändå installerar om, behåll samma appdata-sökväg så att den hittar din
befintliga /config. |
| Synology (Container Manager) | Ladda ner den nya imagen, stoppa containern och återskapa den med samma volyminställningar - genomgången i Synology-guiden täcker det klick för klick, inklusive hur du gör det enligt schema. |
| Synology (paket) | Installera den nya .spk-filen i Package
Center; den uppgraderar på plats. |
| Homebrew | brew upgrade nzbfast |
| Ren binär | Byt ut binären. Din config ligger kvar var du än skapade den (§17). |
-e NZBFAST_APIKEY=…, eller environment-blocket i din compose-fil
eller Unraid-mall). En nyckel som ligger där överlever varje containermissöde,
eftersom den bor på värden, i definitionen, och läggs på igen vid varje start. En
nyckel du senare sätter i Inställningar vinner fortfarande över den.15 · Kommandoraden
Allt daemonen gör går också att skripta. De vardagliga kommandona:
| Kommando | Syfte |
|---|---|
nzbfast setup | Interaktiv serverkonfiguration. |
nzbfast serve | Kör daemonen (instrumentpanel + API + automatisering). --open öppnar webbläsaren; --apikey sätter nyckeln för hand (§2); --bind väljer lyssningsadressen, standard 0.0.0.0 (varje gränssnitt), 127.0.0.1 för bara den här maskinen. Se --help för hela flagglistan; varje inställning på instrumentpanelen har en flaggtvilling. |
nzbfast get file.nzb | Ladda ner en NZB, hela rörledningen, ingen daemon. --preflight avbryter tidigt om inlägget inte kan slutföras; --password för krypterade set. |
nzbfast check file.nzb | Tillgänglighetsutlåtande - COMPLETE / REPAIRABLE / IMPOSSIBLE - utan att ladda ner nyttolast. |
nzbfast verify DIR | Verifiera filer mot PAR2-setet i en katalog. |
nzbfast sysbench | Systembenchmarken + diversitetsrapporten, i terminalen. |
nzbfast index / search | Skanna grupper till indexet / sök i det, utan daemonen. |
nzbfast import-sab | Importera servrar från en SABnzbd-ini. |
Även tillgängliga: inspect, probe,
bench, bench-cpu, soak, fetch,
spots/spot-search/spot-get (Spotnet),
predb-seed (fyller pre-databasen med tiden före flödet slogs på),
make-release-nzb/make-test-nzb (testfixturer). Varje
kommando tar --config och --help. Till dem kommer post: den laddar upp filer som
yEnc-artiklar och skriver den matchande NZB:n. Ett driftverktyg; det kräver ett
uttryckligt --post-server och väljer aldrig server åt dig.
16 · API-översikt
Bas-slutpunkt: http://host:6789/api?mode=…&apikey=…&output=json -
SABnzbd-kompatibel, så befintliga SAB-integrationer fungerar oförändrade. Två nycklar:
API-nyckeln (full kontroll) och NZB-nyckeln (enbart tillägg:
addfile/addurl). addnzblnk ingår med flit inte i uppsättningen för enbart tillägg: att lösa upp en länk kan förbruka mätt indexerarkvot, vilket en nyckel för enbart tillägg inte har med att göra.
| Område | Lägen |
|---|---|
| Kö | queue (med name=delete/pause/resume/priority/switch), pause, resume, addfile, addurl, addnzblnk, retry, set_password |
| Info | history, status/fullstatus, stats, version, server_stats, usage, log, warnings, plus /jobnzb/<nzo_id> (jobbets egen sparade .nzb tillbaka ut, kö eller historik; endast full API-nyckel) |
| Konfig | get_config, config&name=<setting>&value=… (varje inställningsfält), server_save/delete/test/enable/reorder, import_probe/apply |
| Index & vägg | index_search, index_get, index_stats, index_scan_now, wall, wall_search/fix/refresh/art, plus newznab på /api?t=caps|search|tvsearch|movie och /getnzb/<id> |
| Automatisering | watchlist, watchlist_check_now, watch_calendar, feeds, smart_folders, schedule |
| Diagnostik | sysbench, bench_history, connladder, pooltest, diversity, update_check, update_apply |
| NZBGet JSON-RPC | /jsonrpc - status, listgroups, history, append, editqueue, rate, pause, log (Basic auth: valfri användare, API-nyckel som lösenord) |
| Förhandsgranskning / uppspelning | /stream/<nzo_id> (HTTP-ranges; att starta ett parkerat biblioteksjobb kräver ?t=-token eller nyckel), /m3u/<id> (kräver nyckel; skapar token), /wall, /art/… |
17 · Filer & platser
Var inställningsmappen ligger beror på hur nzbfast installerades. Denna enda mapp rymmer allt som är värt att säkerhetskopiera:
| Installation | Inställningsmapp |
|---|---|
| macOS-appen | ~/Library/Application Support/nzbfast/ |
| Windows | %LOCALAPPDATA%\nzbfast\ |
| Docker / NAS-containrar | /config inuti containern,
vilket är värdmappen du mappade till den. På Unraid är det appens
appdata-mapp. |
| Synology-paketet | /var/packages/nzbfast/var/ |
| Terminalen | Mappen du körde nzbfast setup i, eller
dit --config / $NZBFAST_CONFIG pekar. |
Och vad som finns i den:
| Fil | Innehåll |
|---|---|
config.local.json | Serverinloggningar och alternativ per server. Skapas av guiden; redigerbar i Inställningar. Håll den privat. Lösenord är fördunklade, inte krypterade. |
settings.json | Varje inställning som ändrats på instrumentpanelen. Ligger bredvid config; UI-värden åsidosätter kommandoradsflaggor. Radera en nyckel (eller filen) för att falla tillbaka på flaggor/standardvärden. |
apikey | API-nyckeln nzbfast skapade åt sig själv vid en första körning (§2). Ligger bredvid config; läsbar endast för kontot som kör nzbfast på macOS och Linux. Radera den inte för att få en ny nyckel: på en installation som redan körts ersätts den inte av något, och daemonen kommer tillbaka helt utan nyckel. Sätt en ny under Inställningar → Säkerhet i stället. |
index.db | Releaseindexet (SQLite) + väggmetadata. Säkert att radera - det byggs om från skanning (Inställningar → Indexering → Radera gör detta åt dig). |
<config>/.spool/ | Kötillstånd (överlever omstarter), NZB:er per jobb, förbrukningsjournal, benchmark-historik, cache för posteromslag. |
| Artikeljournal | Inuti varje jobbs utmapp medan det är ofullständigt - driver kraschåterupptagning och nytt försök. Tas bort vid framgång. |
| Externa verktyg | Inga behövs - RAR-uppackning och PAR2-reparation är native. Om ett exotiskt set någonsin behöver en extern unrar eller par2 som reserv letar nzbfast bredvid sin körbara fil, sedan på $PATH. |
18 · Felsökning
| Symptom | Kontrollera |
|---|---|
| Långsamma nedladdningar | Kör Systembenchmark - den namnger flaskhalsen rakt av. Om det är nätverket: kör Anslutningstrimning, kontrollera antalet anslutningar per server och bekräfta att dina providers inte alla är en och samma backbone (Serverdiversitet). |
| Långsam bara på mycket stora jobb (NAS eller maskin med lite RAM) | Förväntat, och mätbart: en svält minnesbudget spiller cachar till disk och kostar 20–40 % förbi ~87 GB. Se Minnesbudget för siffrorna och hur mycket RAM du ska ge den. Mindre jobb påverkas inte. |
| Nedladdning misslyckas "articles missing" | Inlägget har gått ut eller togs ner på dina providers. En andra provider på en annan backbone räddar de flesta av dessa. nzbfast check förutsäger detta innan nedladdning. Och väggen märker ut de sannolikt borttagna i förväg med sin
tillgänglighetsprick (§13). Ett första misslyckande av den här
formen görs om en gång av sig självt efter en väntetid, eftersom
propagationsfördröjning ser likadan ut och löser sig själv. |
| Färdigt arkiv vill ha ett lösenord | Historikraden visar 🔑 - ange lösenordet där; jobbet blir klart på plats. |
| Ett arkiv packas inte upp | Lösenords- och reparationsfel namnger sig själva i historikraden. För allt annat finns en nödutgång: Inställningar → Bevakningsmapp & efterbehandling → Packa upp med externt unrar (en avancerad inställning) lämnar uppackningen till programmet unrar som är installerat på din maskin i stället för den inbyggda uppackaren. Låt den annars vara av: den inbyggda vägen är snabbare på varje form vi har mätt, och obfuskerade poster med hashnamn använder den ändå alltid, eftersom unrar inte kan följa deras namnbyten. Samma omkopplare för nzbfast get-körningar är miljövariabeln NZBFAST_NO_NATIVE_UNRAR=1. Om unrar packar upp ett arkiv som den inbyggda uppackaren vägrade, rapportera det gärna så att vi kan laga den inbyggda vägen. |
| Sonarr/Radarr kan inte ansluta | Port 6789 nåbar? API-nyckel korrekt (full nyckel, inte NZB-nyckel)? Klienttyp satt till SABnzbd? |
| Instrumentpanelen frågar efter en API-nyckel jag aldrig satt | En ny installation skapar en åt sig själv och skriver ut den en gång vid start (§2). Den finns i filen apikey bredvid din config, och i startutskriften. Eller skriv in en egen nyckel under Inställningar → Säkerhet från en webbläsare som redan är inloggad. |
| Alla mina inställningar ser borta ut efter en uppdatering (servrar, sökvägar, API-nyckel) | Ingenting i en uppdatering raderar inställningar; det här betyder att nzbfast läser en annan, tom mapp. Först: API-nyckelfältet i Inställningar visas tomt med avsikt - klicka Show innan du drar slutsatsen att den är borta. På Docker, jämför den nya containerns /config-mappning med den gamlas: en ändrad värdsökväg, en relativ sökväg körd från en annan katalog eller en färsk appdata-mapp startar alla nzbfast från noll, medan dina riktiga inställningar ligger orörda kvar på den tidigare sökvägen. Hitta den gamla mappen (leta efter settings.json, din config-fil och apikey - platser i §17), och peka sedan antingen tillbaka mappningen mot den, eller kopiera de filerna till den nya mappen och starta om. Startloggen namnger exakt vilken inställningsfil som används: [settings] applying saved settings from … |
| Ingenting på nätverket når daemonen | Kontrollera --bind: 127.0.0.1 betjänar bara maskinen som nzbfast kör på. Standarden, 0.0.0.0, betjänar varje gränssnitt. Kontrollera sedan maskinens egen brandvägg för port 6789. |
| Bläddra-kortet förblir litet | Indexeraren växer i bakgrunden - kontrollera att grupper är satta i Inställningar → Indexering, och ge Fördjupa per skanning tid att samla historik. "Skanna nu" tvingar fram ett pass; statusraden visar live-förlopp. |
| Väggen visar fel/inget omslag | Detaljblad → ✎ Korrigera matchning eller ↻ Uppdatera metadata. Filmuppslag blir bättre med en gratis OMDb-nyckel. |
| macOS säger att programmet "nzbfast" inte kan öppnas | Två orsaker, båda snabbt åtgärdade. Om du använder den enkla -macos-universal.zip: dubbelklicka på Start nzbfast.command, inte på filen nzbfast bredvid - den är själva programmet, och Finder svarar på en dubbelklick där med precis det här meddelandet. Det är startaren som ställer i ordning allt och startar det. Om startaren ger samma meddelande har kopian tappat sin Unix-körbit på vägen: macOS bevarar den biten inuti .zip-filen, men chattappar, molndiskar och omzippning gör det inte, så en kopia som skickats vidare för hand kommer fram utan körrättighet. Ladda ner .dmg eller .zip direkt från releases-sidan så händer det inte. För att rädda kopian du redan har: öppna Terminal, skriv chmod +x med ett mellanslag efter, dra Start nzbfast.command och filen nzbfast till fönstret och tryck Retur - dubbelklicka sedan på startaren igen. |
| Daemonen vill inte starta: porten upptagen | En annan instans körs - eller ändra --port. |
| Var finns loggarna? | Logg-kortet på instrumentpanelen, eller terminalen/loggfilen du startade serve med. |
nzbfast --version.nzbfast - den här handboken följer med varje utgåva. Inställningar, slutpunkter och standardvärden som refereras här matchar den version den levererades med.