⚡ nzbfast
Den raske Usenet-nedlasteren - brukerhåndbok
1 · Velkommen
nzbfast laster ned fra Usenet så raskt som linjen, leverandørene og maskinen din tillater - og som regel betyr det så raskt som linjen din. Det er ett enkelt selvstendig program: motoren, et web-dashbord, en plakatvegg-mediebrowser, en innebygd indekserer, forhåndsvisning i sanntid, native PAR2-reparasjon og native RAR-utpakking ligger alt inni én kjørbar fil. Det er ingenting annet å installere.
Det som gjør den rask, er arkitektur - ikke finjustering:
- Pipelinet NNTP - mange artikkelforespørsler rir på hver tilkobling rett etter hverandre, og holder hver tilkobling på full fart i stedet for å vente ut rundturene.
- En pipeline i én omgang - nedlasting, verifisering og utpakking overlapper. Arkivvolumer pakkes ut i strømmen; på en typisk store-mode-post rører RAR-filene aldri disken din, så jobben trenger 1× utgivelsesstørrelsen, ikke 2×, og blir ferdig når nedlastingen blir ferdig.
- Fler-leverandørunion - hver konfigurerte server bidrar; en artikkel som mangler på én backbone, hentes fra en annen. Trege eller døde servere stopper aldri køen.
- Et minnebudsjett - motoren tilpasser seg en avgrenset RAM-tildeling og degraderer til disk ved behov. Den swapper aldri maskinen din.
Målt mot feltet på identisk maskinvare, jobber og leverandører har nzbfast fullført en 190 GB-nedlasting på rundt 5 minutter på en 10 GbE-linje - med de ledende alternativene 30–220 % bak på de samme testene, der de fullførte dem i det hele tatt. Tallene står i §3.
2 · Hurtigstart
macOS
- Åpne
nzbfast-<version>-macos.dmgog dra NzbFast inn i Programmer (universal: Apple Silicon + Intel). - Første oppstart: macOS advarer om at nzbfast ennå ikke er Apple-notarisert. Høyreklikk appen → Åpne - eller åpne Systeminnstillinger → Personvern og sikkerhet, bla ned og klikk Åpne likevel. Dette er et engangssteg.
- App-vinduet viser dashbordet med et velkomstkort - klikk på det og legg til minst én Usenet-server (host, port 563, brukernavn, passord). Du kan legge til flere senere i Innstillinger.
- Slipp en
.nzbhvor som helst på dashbordet - eller bare dobbeltklikk.nzb-filer i Finder. Nedlastinger havner i~/Downloads/nzbfast. Avslutt fra menyen; nedlastinger fortsetter der de slapp.
Foretrekker du ingen app? Den rene zip-en (binær +
Start nzbfast.command-launcher, samme motor) fungerer fortsatt som før -
steg nedenfor under «Fra en terminal».
Windows
- Kjør
nzbfast-<version>-windows-x64-setup.exe. Den installerer kun for din bruker (ingen administratorpassord). Fordi denne utgaven ennå ikke er kodesignert, kan SmartScreen vise «Windows beskyttet PC-en din» - klikk Mer info → Kjør likevel. - nzbfast bor i systemstatusfeltet: dobbeltklikk statusikonet (eller bruk Åpne dashbord i høyreklikkmenyen) for å åpne dashbordet, og legg så til Usenet-serveren din fra velkomstkortet. Statusfeltmenyen har også Pause/Fortsett, nedlastingsmappen din og Avslutt.
- Dobbeltklikk på en
.nzb-fil legger den i kø. Windows Defender kan spørre én gang om å tillate lytting på lokalnettet - tillat det.
Foretrekker du en portabel kopi? -windows-x64.zip fungerer fortsatt: pakk ut
hvor som helst og dobbeltklikk nzbfast.exe (eller Start nzbfast.bat)
for terminalveiviseren.
Fra en terminal (alle plattformer)
nzbfast setup # interactive server setup (writes config.local.json)
nzbfast serve --open # start the daemon and open the dashboard
nzbfast import-sab på kommandolinjen.API-nøkkelen din
På en virkelig ny installasjon lager nzbfast seg en API-nøkkel første gang daemonen starter, og skriver den ut én gang i et banner rett under dashbord-adressen. Fra da av trenger hver forespørsel den nøkkelen, så dashbordet og API-et er ikke åpne for alt som kan nå maskinen.
Hva du gjør med den avhenger av hvordan du startet nzbfast:
- macOS-appen, Windows-statusfeltet eller
serve --open: ingenting. De gir nøkkelen videre til nettleservinduet de åpner, dashbordet husker den, og du er allerede logget inn. - En nettleser du åpnet selv, eller dashbordet på en telefon eller en annen maskin: siden spør etter nøkkelen én gang og husker den etterpå.
- Sonarr, Radarr, nzb360 og venner: lim den inn som SABnzbd- eller NZBGet-nøkkelen deres (§11, §12).
Nøkkelen ligger i en fil som heter apikey ved siden av config-filen din, så
den holder seg lik på tvers av omstarter og du kan lese den av igjen når du trenger det.
På macOS og Linux er den filen bare lesbar for kontoen som kjører nzbfast. Den står også
i daemonens egne utdata, så Logg-kortet på dashbordet har den hvis terminalen har rullet
vekk.
Vil du heller bruke din egen nøkkel, skriver du den inn i Innstillinger → Sikkerhet;
den gjelder med én gang. Det panelet endrer nøkkelen, men viser aldri den gjeldende, så
les apikey-filen hvis du trenger den genererte verdien tilbake. For å kjøre
helt uten nøkkel, fordi noe foran nzbfast allerede håndterer innlogging, starter du den
med NZBFAST_OPEN=1 i miljøet. nzbfast blir da stående åpen og sier det rett
ut ved oppstart.
Hvilke maskiner som i det hele tatt kan nå daemonen er et eget valg:
serve --bind. Standarden er 0.0.0.0, altså hvert
nettverksgrensesnitt, fordi en NAS-boks, en telefon og en Sonarr på en annen maskin alle
må kunne koble til. --bind 127.0.0.1 snevrer det inn til maskinen nzbfast
kjører på, som er det du vil ha på en enkelt skrivebordsmaskin der ingenting annet
trenger tilgang.
3 · Slik fungerer nzbfast
Et raskt ordforråd så resten av håndboken blir lett å lese:
| Begrep | Betydning |
|---|---|
| Leverandør / server | En Usenet-tjeneste du har en konto hos (Newshosting, Eweka, XS News…). Hver tillater et visst antall samtidige tilkoblinger. |
| Backbone | Infrastrukturen bak en leverandør. Flere merker videreselger ofte samme backbone - nyttig å vite, fordi to leverandører på én backbone mangler de samme artiklene. Se Servermangfold. |
| NZB | En liten XML-fil som lister opp artiklene som utgjør en post. Det er dette du mater nzbfast. |
| PAR2 | Gjenopprettingsdata som postes sammen med en utgivelse. nzbfast verifiserer mot den underveis i nedlastingen og reparerer automatisk når artikler er skadet eller mangler. |
| Store-mode-RAR | De fleste utgivelser pakkes i RAR-volumer uten komprimering. nzbfast gjenkjenner dette og skriver den indre filen rett til sin endelige plassering mens den laster ned - ingen utpakking i etterkant. |
Pipelinen kjører nedlasting → dekoding → verifisering → utpakking samtidig. Pipeline-kortet på dashbordet viser alle tre banene i bevegelse på én gang. Når den siste byten kommer, er verifiseringen allerede ferdig og filen allerede pakket ut; en typisk jobbs «etterbehandlingstid» er null. Hvis reparasjon trengs, er det først da volumer materialiseres til disk, repareres på stedet av den native GF(2¹⁶)-motoren (data som er omdøpt eller byte-forskjøvet og obfuskert, blir funnet og adoptert av en glidende blokkskanning) og pakket ut på nytt - alt automatisk.
Avbrutte nedlastinger (krasj, strømbrudd, kill -9) fortsetter fra artikkeljournalen: byte som allerede ligger på disk, hentes aldri to ganger. Journalen registrerer hvor hver artikkels byte fysisk landet - også byte som ble direkte-utpakket inn i den endelige filen - så en gjenopptaking bygger opp igjen fra lokal disk og verifiserer alt den gjenopprettet mot PAR2-blokkartet før den stoler på det.
Hvordan det sammenligner seg
Målt mot SABnzbd 5.0.4 og NZBGet 26.2 på samme maskin, samme leverandører og samme NZB-er, tatt tid til en brukbar fil - nedlasting, verifisering, reparasjon og utpakking alt inkludert, fordi det er da jobben faktisk er ferdig:
| Jobbstørrelse | 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% |
Gapet er etterbehandlingen de andre fortsatt må gjøre etter at den siste byten har landet. Begge konkurrentene ble justert for sammenligningen, ikke latt stå på standardverdier - SABnzbd leveres særlig med forespørsel-pipelining av, noe som koster den dyrt, så den ble slått på.
To forskjeller betyr like mye som tidene:
- Diskplass. Én omgang trenger 1× utgivelsesstørrelsen; klienter som skriver arkivvolumer og så pakker dem ut trenger 2×. På en testmaskin med 97 GB ledig ble en 87 GB-jobb ferdig her på 3 m 08 s, og de to andre kunne ikke kjøre i det hele tatt.
- Minne. På 190 GB-jobben var toppforbruket 3,9 GB mot SABnzbds 9,3 GB - og nzbfast gjør samme jobb på rundt 1 GB om du ber den om det (se Minnebudsjett).
4 · Dashbordet
Åpne http://localhost:6789 (eller maskinens adresse fra en annen enhet -
telefonlayouten tilpasser seg automatisk). Alt oppdateres live, én gang i sekundet.
Kortene, ovenfra og ned:
Toppfelt
- Fartsgrense-menyen - faste tak, auto · vik for LAN (en RTT-styrt modus som trekker seg tilbake når noen andre i huset trenger linjen), eller ubegrenset.
- Pause i… - pause alt i 15 min/30 min/1 t/3 t med automatisk gjenopptaking, eller bruk Pause-knappen for en åpen pause. Pause er umiddelbar: den aktive overføringen stopper i løpet av sekunder og fortsetter senere fra journalen, uten å miste noe. (Jobber med Tving-prioritet fortsetter å laste ned, SABnzbd-stil.)
- Et oppdateringsbanner dukker opp her når en ny versjon er tilgjengelig (se Oppdateringer).
Gjennomstrømning
Live MB/s med et rullende diagram; de stiplede vannmerkene markerer denne øktens høyeste/laveste, den svake linjen er et glidende gjennomsnitt. Under den viser et histogram hvordan øktens fartsmålinger fordeler seg - typisk vs. topp. Utvid vinduet, så viser diagrammene mer historikk (opptil en time).
Statfliser
Nedlastet denne økten, kødybde, antall fullført/mislykket, øktens toppfart.
Ressurser - én maskin, fire tak
CPU, RAM (mot nzbfasts minnebudsjett), diskskriverate og nettverk på ett normalisert diagram, med reelle verdier i forklaringen og en advarsel om lite diskplass. Ingen annen NZB-klient viser deg dette; det finnes for å bevise et poeng - nzbfast maksimerer linjen din, ikke maskinen din.
Pipeline - stadier overlapper
Tre baner: nedlasting, verifisering (PAR2-blokker sjekket), utpakking. På en sunn jobb beveger alle tre seg sammen.
Leverandører
Live rate per server, tilkoblingsutnyttelse, andel av trafikken, økt-GB og en artikkelfullstendighetsscore over levetiden (farget når en server faller under 98 %). Et stablet arealdiagram viser hver leverandørs bidrag over tid. Radene sorteres om etter live ytelse hvert 10. sekund (konfigurerbart i Innstillinger → Grensesnitt) slik at den raskeste leverandøren din alltid ligger øverst.
Kø
- Dra rader for å endre rekkefølge (innenfor et prioritetsbånd - Tving/Høy lastes fortsatt ned først); endre prioritet direkte.
- Klikk på en rad for detaljskuffen: fremdriftslinjer per fil, verifiserte
blokkantall, hvilken server som bidro med hvor mye til denne jobben, og en
«lagt til av»-linje som sier hvor jobben kom fra (overvåkingsmappe, en tilkoblet app,
API-et …). En Last ned .nzb-filen-knapp lagrer jobbens
.nzb-fil - nzbfast beholder sin egen kopi, så dette fungerer for hver jobb, selv når originalfilen for lengst er borte. - Merker viser spesialtilstander: utsatt (treg), prefetcher, pauset (se Ytelsesverktøy).
- Et nedtellingsdiagram sporer totalt antall GB som gjenstår i hele køen.
Utforsk indeks
Søk i alt den innebygde indeksereren har katalogisert fra de overvåkede gruppene dine (se Automatisering) og last ned med ett klikk - ingen ekstern indekserer nødvendig. Statuslinjen viser skannefremdrift; Skann nå tvinger en runde.
Watchlist
Legg til titler etter navn - også de som ikke er postet ennå. Når en matchende utgivelse dukker opp i indeksen, hentes den automatisk, med kvalitetspreferanser og oppgraderingsregler (en bedre kopi erstatter en dårligere).
Historikk
Nylige nedlastinger, én rad hver. Mislykkede jobber tilbyr Prøv igjen (fortsetter fra journalen). Krypterte arkiver viser en 🔑 opplåsingskontroll -
skriv inn passordet, så blir jobben ferdig på stedet. Verifiseringshelse-stripen tegner defekte
PAR2-blokker per nedlasting - en stigende hale betyr at artikler kommer inn skadet.
Skuffen til hver rad sier hvem som la til jobben og har den samme
Last ned .nzb-filen-knappen som køen - praktisk for å laste ned en utgivelse
på nytt et annet sted, eller for å legge ved .nzb-filen i en feilrapport.
Kortet viser ti nedlastinger som standard, og resten er ett klikk unna, på knappen ▤. Status, plassering og grunnen til at en jobb feilet ligger bak et klikk på selve raden, slik at det vanlige tilfellet - hva som ble ferdig, hvor stort, når - forblir lesbart uten å rulle. Dra i kortets nederste kant for i stedet å la lista rulle i en høyde du velger selv. History rows under Innstillinger → Grensesnitt endrer de ti; siden det er en egenskap ved daemonen og ikke ved nettleseren din, gjelder det enhver enhet som ser på denne installasjonen. Colour History names ved siden av farger ferdige navn grønne og feilede røde; slått av forblir navnene nøytrale, og den fargede prikken og radens egne detaljer sier fortsatt hva som er hva.
Dataforbruk
Daglige søyler per leverandør og totaler for I dag / 7 dager / 30 dager - essensielt for målte kontoer og blokk-kontoer. Blokk-kontoer viser forbruk over levetiden mot størrelsen sin.
Logg, Systembenchmark, Tilkoblingsjustering, Servermangfold
En innebygd loggviser, og de tre selvmålingsverktøyene beskrevet i Ytelsesverktøy.
5 · Legge til nedlastinger
| Metode | Hvordan |
|---|---|
| Dra og slipp | Slipp én eller flere .nzb-filer hvor som helst på dashbordet. |
| Overvåkingsmappe | Angi en mappe i Innstillinger; enhver .nzb som lagres i den,
plukkes opp innen 5 sekunder og flyttes til papirkurven, og et åpent dashbord melder fra
om hver opphenting ved navn («… hentet fra Nedlastinger»), så en fil som forlater mappen
er aldri noe mysterium. Vil du heller beholde filene dine? Slå på Behold .nzb-filer
etter opphenting (se §9). Pek nettleserens nedlastingsmappe hit for
ett-klikks-hentinger fra indekserersider. |
| Fra en URL | Lim inn en NZB-lenke (API mode=addurl, eller via en tilkoblet app). |
| nzblnk:-lenker | Lim inn en nzblnk:-lenke hvor som helst på panelet, eller dra den inn. Har du installert fra macOS-DMG-en eller Windows-installereren, kan du også klikke på en rett på et board. Se nzblnk-lenker nedenfor. |
| Utforsk indeks | Klikk på en hvilken som helst fullstendig utgivelse i Utforsk-kortet. |
| Watchlist / RSS | Automatisk - se Automatisering. |
| Sonarr/Radarr osv. | De sender hentinger rett i køen - se §11. |
| Kommandolinje | nzbfast get file.nzb laster ned uten daemonen. |
Kategorier, prioriteter, passord
- Kategorier er friformetiketter; hver blir en undermappe i nedlastingsmappen din, og Smartmapper (se §10) kan tildele dem etter regel.
- Prioriteter: Tving > Høy > Normal > Lav. Tving omgår pause og kvote.
- Passord til krypterte arkiver plukkes opp automatisk fra
<meta type="password">inne i NZB-en, fra et filnavnName{{password}}.nzbeller fra feltetp=i en nzblnk-lenke, og kan oppgis per jobb via API-et eller i etterkant fra Historikk (🔑).
nzblnk-lenker
Noen board, mest tyske og nederlandske, publiserer en nzblnk:-lenke i
stedet for en NZB-fil. Innlegget er tilslørt, så det finnes ikke noe filnavn å lenke
til. Lenken bærer i stedet et hode, h=, som er en søkenøkkel og ikke et
sted, pluss en valgfri tittel t=, et passord p= og en gruppe
g=. Noen må først gå og finne innlegget.
nzbfast slår opp hodet i sitt eget indeks først, noe som ikke krever nettverk i det hele tatt, og bare hvis det bommer spør den søkeindeksererne du har satt opp (Innstillinger → Søkeindeksere, §9), under de samme dagsbudsjettene og den samme tilbaketrekningen som ethvert annet søk. Tittelen blir jobbnavnet, og passordet legges på jobben automatisk.
- Lim inn eller dra virker på enhver installasjon, Docker og NAS-bokser inkludert: kopier lenken fra boardet og lim den inn hvor som helst på panelet.
- Å klikke på en lenke krever at skjemaet er registrert hos skrivebordet ditt. Appen fra macOS-DMG-en registrerer det, og Windows-installereren tilbyr det som en oppgave: den spør først, og lar skjemaet være i fred hvis NZB Monkey eller NZBDonkey allerede har det. Den rene macOS-tarballen, Homebrew og Linux-installasjonene har ingen skrivebordsbehandler, der er innliming veien inn.
- Oppslaget er hastighetsbegrenset med vilje. Et registrert skjema ligger én nettleserdialog unna enhver side du besøker, så lenker har et tak per minutt og bare de første i et minutt får nå indeksererne dine; forbi det besvares de bare fra det lokale indekset.
6 · Plakatveggen
Klikk på 🎬 vegg i toppfeltet. Veggen gjør indeksen din om til en mediebrowser: hver gjenkjente film- og TV-utgivelse som en plakatflis med vurdering, år, sjangere, rollebesetning og sammendrag - newsgroupene dine, som du kan bla i som en katalog.
- Faner for Filmer / Serier / Annet, direktesøk og sju sorteringer: For deg, Nyeste poster, Utgivelsesår, Best vurdert, Tittel A–Å, Størst og Mest postet.
- Kun med treff er på som standard og skjuler uidentifisert søppel; et «+N uten treff»-merke avslører det.
- Klikk på en flis for detaljarket: sammendrag, IMDb-vurdering og stemmer, rollebesetning - og ▶ Spill av (forhåndsvis den umiddelbart, se §7) eller ⬇ Last ned.
- ✎ Rett treff - hvis en tittel matchet feil serie eller film, velg den riktige fra kandidatplakater, eller skriv inn tittel/år/type manuelt. Manuell tekst overskrives aldri av berikeren. ↻ Oppdater metadata henter én tittel på nytt; Innstillinger → Indeksering kan oppdatere alt eller slette/gjenoppbygge hele indeksen.
- Metadata er nøkkelfri som standard - TVmaze, iTunes, IMDb-datasett, Wikidata, Wikipedia og AniList trenger ingen kontoer. En OMDb-nøkkel (gratis, kun-e-post-registrering - det finnes en registreringshjelper i Innstillinger → Indeksering) forbedrer filmmatching; en TMDB-nøkkel respekteres hvis du allerede har en.
- For deg rangerer veggen etter en smaksprofil som bygges på denne maskinen ut fra din egen fullførte historikk og overvåkingslisten din: favorittsjangre, om du heller mot film eller serier, og omtrent hvilken epoke. Titler du allerede har synker til bunnen i stedet for å forsvinne, og en bildetekst «Fordi du ser …» sier hva den la vekt på. Uten historikk faller den tilbake på Mest postet, så fanen er aldri tom. Ingenting av dette forlater daemonen.
- Ikke interessert på et kort skjuler den tittelen, og skjuler du noen lignende, lærer veggen noe: den foreslår et filter du godtar med ett klikk («Skjule alle Reality-titler fra nå av?»). Alt du har skjult, og hvert lærte filter, står under Skjult & filtre og kan angres der.
- En liten tilgjengelighetsprikk på et kort er orakelets dom (§13): et gult «?» betyr usikkert hos leverandørene dine, rødt at delene stadig mangler. Hele grupper som ryddes får et ryddet-merke.
7 · Forhåndsvisning og verifisering
Du trenger ikke vente til en nedlasting er ferdig for å vite at det er riktig fil. Åpne den mens den laster ned, sjekk at innhold, språk og kvalitet er som forventet, og avbryt tidlig hvis de ikke er det - i stedet for å oppdage det etter hele nedlastingen.
- ▶ Spill av på veggen (eller
/m3u/<id>) gir mediespilleren din en URL; daemonen starter eller gjenbruker nedlastingen bak den. - Endepunktet
/stream/<nzo_id>serverer filen med full HTTP-range-støtte mens den laster ned. Kontroll av ethvert punkt fungerer: stikkprøv minutt 40, så flyttes artiklene for det området fremst i nedlastingskøen - den åpner der i løpet av et par sekunder i stedet for minutter. Hodet og halen av filen hentes først slik at spillere finner indeksdataene sine umiddelbart. - Biblioteksmodus: kategorier som er oppført i library_cats, blir umiddelbare
kun-metadata-oppføringer - en
.strm-fil dukker opp med en gang, tilgjengelighet verifiseres i bakgrunnen, og den ekte nedlastingen starter når du åpner den første gang.
/stream-URL-er. For å kontrollere fra en annen maskin, bruk maskinens LAN-adresse i stedet for
localhost./stream/<id> et per-jobb-token
(?t=…) - spillere kan ikke sende API-nøkler, så /m3u-overleveringen
og .strm-pekeren bygger det inn for deg; å lage det (/m3u) krever
nøkkelen. Ren byte-servering av en allerede aktiv nedlasting forblir åpen, og nøkkelfrie
installasjoner oppfører seg som før.8 · Usenet-servere
Innstillinger → Usenet-servere er den fulle editoren: legge til, redigere, fjerne, omorganisere og ta en hvilken som helst server inn i eller ut av poolen. Hver server har:
| Felt | Merknader |
|---|---|
| Host / port | Bruk SSL-port 563. TLS koster ingenting målbart - nzbfast krypterer alltid. |
| Brukernavn / passord | Lagres lokalt i config.local.json, vises aldri tilbake til nettleseren. Lar du passord stå tomt ved redigering, beholdes det lagrede. Passord er tilslørt på disken, ikke kryptert. |
| Tilkoblinger | Samtidige tilkoblinger per server. Bruk Tilkoblingsjustering (§13) for å finne hver leverandørs optimale punkt i stedet for å gjette høyt. |
| Nivå (trinn) | 0 = primær; høyere nivåer er fyllservere, som bare spørres om artikler hvert lavere nivå bommet på. Sett kontoer uten grense på 0, blokk-kontoer på 1+. |
| Blokkstørrelse (GB) | For blokk-kontoer (betal-per-GB): nzbfast sporer forbruk over levetiden mot dette og slutter å bruke serveren når den er brukt opp (advarsel ved 85 %). |
La det være litt luft under kontoens tilkoblingsgrense. Å sette tilkoblingene litt under grensen koster ingenting: gjennomstrømningen flater ut lenge før de siste én eller to tilkoblingene, og Tilkoblingsjustering (§13) havner uansett under. Det er de ledige plassene som lar en annen enhet, et annet program eller et nytt forsøk etter en brutt socket slippe inn likevel, i stedet for å bli avvist mens denne opptar hver eneste plass.
Slik lagres leverandørpassordene dine
Leverandørpassord i config.local.json er tilslørt, ikke
kryptert. De lagres som obf1: etterfulgt av en kodet form, slik at
filen ikke leses som ren tekst hvis den dukker opp i et skjermbilde, et foruminnlegg,
en feilrapport eller på en skjerm noen andre kan se.
La oss være tydelige på hva det gir deg, og hva det ikke gir:
- Det er ikke kryptering og beskytter overhodet ikke mot noen som har filen. Metoden står i den åpne kildekoden vår og dekoderen følger med inne i nzbfast, så den som har filen henter ut passordet på sekunder. Behandle filen som hemmelig nøyaktig slik du ville gjort om passordene var lesbare.
- Det fjerner den tilfeldige lekkasjen, og det er den vanlige. Konfigurasjoner blir limt inn i støttetråder og fanget på skjermbilder langt oftere enn de blir stjålet fra disk.
- Et passord du selv har skrevet inn som ren tekst virker fortsatt. nzbfast leser begge formene, så håndredigerte konfigurasjoner og import fra andre klienter går aldri i stykker; neste gang det lagrer, skriver det den tilslørte formen.
- Filen skrives dessuten lesbar bare for kontoen som kjører nzbfast (modus 0600 på macOS og Linux).
Til sammenligning lagrer NZBGet og SABnzbd begge leverandørpassord som lesbar ren tekst i konfigurasjonsfilene sine. Vi mener tilsløring er en liten forbedring på det, ikke en sikkerhetsfunksjon.
Hvorfor ikke systemets nøkkelring? macOS Keychain, Windows Credential Manager og Linux' hemmelighetstjenester ville gitt ekte beskyttelse, og vi kommer kanskje tilbake til det. To ting stopper oss i dag. Tilgang til nøkkelringen henger på programmets identitet, og nzbfast er ennå ikke kodesignert, så dialogene og oppførselen etter hver oppdatering blir dårlige. Og en stor andel av installasjonene er Docker, servere uten skjerm og NAS-bokser der det ikke finnes noen nøkkelring i det hele tatt, noe som ville etterlatt to ulike lagringsveier å holde riktige. Ett velforstått format som oppfører seg likt overalt er inntil videre den bedre handelen.
To andre valg per server har ennå ingen kontroll i dashbordet: skriv dem inn for
hånd i den serverens oppføring i config.local.json
(se §17) og start på nytt.
| Nøkkel | Merknader |
|---|---|
bind_ip | Binder de utgående forbindelsene til denne serveren til en bestemt lokal adresse, for maskiner med flere utganger og delte VPN-tunneler. Adressefamilien velger samtidig målfamilien: en v4-binding kobler til serverens v4-adresse. |
socks5 | Sender NNTP-trafikken til denne serveren gjennom en SOCKS5-proxy: host:port, eller user:pass@host:port. Vertsnavnet slås opp av proxyen, så det blir ingen lokal DNS-lekkasje. |
- Haken ved siden av hver server er av/på-bryteren: med hake er serveren med i nedlastingspoolen, uten hake er den deaktivert. En deaktivert server beholder påloggingsdetaljer og innstillinger og kan fortsatt testes; den blir bare aldri spurt om artikler. Raden tones ned, tellingen i overskriften (2 av 3 aktive) synker, og endringen gjelder fra neste nedlasting. Nyttig for å spare på en blokk-konto, eller for å bevise at én leverandør står bak et problem uten å slette den.
- Test gjør en ekte tilkobling + TLS + innlogging og rapporterer rundturstid.
- Importer fra SABnzbd / NZBGet… skanner de vanlige installasjonsplasseringene, viser hva den fant, og kopierer inn servere (hopper over duplikater).
- Serverendringer gjelder fra neste nedlasting - ingen omstart.
9 · Innstillingsreferanse
Nesten alt kan stilles inn fra dashbordet, under ⚙ Innstillinger; de fire
unntakene er listet nederst i denne delen. Verdier merket
live gjelder umiddelbart;
restart-verdier ved neste oppstart. Hver endring gjort
her lagres i settings.json og overlever omstarter (verdier fra
grensesnittet slår flagg på kommandolinjen).
Fart og tidsplan live
| Innstilling | Hva den gjør |
|---|---|
| Fartsgrense | Tak i byte/sek (50M, 1G, 0 = ubegrenset). Fjernstyringsapper kan sende prosenter - sett Linjefart slik at de oversettes riktig. |
| Auto-fart | RTT-styrt tak som viker for annen trafikk i husholdningen og utvider seg igjen når linjen er rolig. |
| Utsett trege nedlastinger automatisk | En jobb som henger på én treg server mens andre venter, flyttes bakerst i køen (fremdriften beholdes). Se §13. |
| Prefetch på ledige servere | Servere som er ubrukelige for den aktive jobben, starter den neste i køen. Se §13. |
| Auto-oppdatering / URL for oppdateringssjekk | Se §14. |
| Linjefart | Din tilkoblings oppgitte fart - muliggjør prosentvise grenser fra SABnzbd-kompatible apper. |
| Ukeplan | Radeditor for regler etter tid i uken: pause, fortsett, eller sett en fartsgrense på gitte dager/tidspunkt (lokal tid). F.eks. begrens til 20 MB/s på hverdager 9–17, ubegrenset ellers. |
Neste nedlasting live
Tilkoblinger (per server), vindu (pipelinedybde per tilkobling), dekodere (parallelle dekodertråder). Avlest når hver jobb starter. Standardverdiene passer for de fleste linjer; bruk justeringsverktøyene før du hever i blinde.
Kontroll under nedlasting velger hvor mye som blir verifisert mens dataene kommer inn. Full bekrefter hver PAR2-blokk med MD5. Rask (standard) krever blokker via CRC32, noe som er 2-3x raskere på en treg CPU, og verifiserer fortsatt hver artikkels egen kontrollsum. Lett hopper i tillegg over de artikkelkontrollsummene så snart PAR2 dekker en fil: skaden dukker da opp et øyeblikk senere, ved blokken sin. I alle tre bruker den avsluttende runden og enhver reparasjon full MD5, og en nedlasting uten PAR2-filer beholder artikkelkontrollsummene sine.
Disk og kvote live
Minste ledige plass (sett nye jobber på pause under den; 2 GB som standard, 0 slår det av), nedlastingskvote per dag eller måned (UTC; Tving-jobber omgår), minnegrense - motorens RAM-budsjett (standard: ¼ av RAM, avgrenset; hev den på en maskin med mye RAM for maksimal fart på store jobber, og se hva lite minne koster før du senker den) restart.
Flytt fullførte til: etter utpakking, opprydding og navnebytte flyttes
ferdige nedlastinger hit - en NAS-deling, en mediedisk, der biblioteket ditt
bor. Kategoristrukturen beholdes (en jobb som ble ferdig under
tv/ havner under tv/ på målet), og historikken følger
med flyttingen, så tilkoblede apper importerer og sletter på det nye stedet. Er
målet utilgjengelig når en jobb blir ferdig (delingen nede, tom for plass),
blir filene i nedlastingsmappen og jobben fullføres likevel som normalt.
Tom = av. Mål per kategori sender bestemte kategorier et annet sted
(tv=/Volumes/NAS/TV, movies=/Volumes/NAS/Movies); hver oppført sti er den kategoriens mappe, så det opprettes
ingen ekstra kategoriundermappe i den. Kategorier uten oppføring følger
Flytt fullførte til.
Dybde for nøstede arkiver (standard 5) er hvor mange lag arkiv-i-arkiv som pakkes ut automatisk: et RAR-sett som inneholder en 7z som igjen inneholder en RAR er vanlig på Usenet, og nzbfast følger kjeden uten en ekstra runde. Ved grensen blir det dypeste arkivet rett og slett liggende, ikke pakket videre ut, og nedlastingen fullfører likevel. Øk den bare for uvanlig dype utgivelser.
Auto-omdøping & opprydding live
Gi ferdige nedlastinger nye navn (på som standard) gir mappen og hovedfilen
et rent, informativt navn: en film blir Example Movie (2024), serier
beholder Show - S01E02. Tilslørte eller ugjenkjennelige navn blir stående
nøyaktig slik de ble postet i stedet for å gjettes.
| Innstilling | Hva den gjør |
|---|---|
| Ta med oppløsning | Setter 1080p, 2160p… i navnet. På som standard; de fire andre merkene er av. |
| Ta med videokodek | x265, x264, AV1… |
| Ta med lydkodek | Atmos, DTS-HD, AC3… |
| Ta med kilde | BluRay, WEB, REMUX… |
| Ta med utgivelsesgruppe | Merket -GROUP til slutt. |
| Fjern søppelfiler | På som standard. Sletter gjenliggende .par2, .nzb, .sfv, .nfo og sample-klipp fra ferdige film- og seriemapper. Aldri videoen eller undertekstene. |
| Behold bare mediefilen | Av som standard, og destruktiv: sletter permanent alt i mappen bortsett fra videoen (eller videoene) og undertekstene. Hver episode i en sesongpakke beholdes. Går foran Fjern søppelfiler når begge er på. |
| Keep the other words in the name | På som standard. Sport, løp og andre arrangementer er ofte én og samme tittel gjentatt hele sesongen, og bare ett eller to ord fra hverandre - "Round11 Hungary Race" mot "Round11 Hungary Qualifying". Å beholde de ordene er det som hindrer en hel sesong i å falle sammen til samme navn. Gjelder bare der navnet ikke kunne ryddes opp på annen måte, så vanlige filmer og episoder blir urørt. |
Hele gruppen kjører etter reparasjon og utpakking og før Flytt fullførte til, og hoppes helt over for en jobb som fortsatt venter på passord. Begge slettetrinnene gjelder bare utgivelser som er gjenkjent som film eller serie: en programvarelast eller et sett som ikke lar seg klassifisere (tilslørt) blir aldri ryddet.
Slettede filer havner i papirkurven avgjør hva "slette" betyr ovenfor. Med den på flytter oppryddingen filer til systemets papirkurv, så en feilgjetning om hva som var søppel kan angres; med den av slettes de rett ut. Den er på som standard på macOS og Windows, der papirkurven er et sted du kan se og tømme, og av som standard på Linux, der den som regel ikke er det.
.Trash-1000 (tallet er bruker-id-en din) øverst på nedlastingsdisken
og flytter filene dit i stedet. Ingenting viser deg den mappen, ingenting tømmer
den, og plassen den holder på kommer aldri tilbake.
Kjørte du en tidligere versjon av nzbfast på Linux med den på, se etter den mappen i roten av den delte nedlastingsmappen din. Den er trygg å tømme: alt i den er filer en opprydding allerede har avgjort at du ikke ville ha. nzbfast tømmer den ikke for deg, for den ligger på din disk og er din å dømme.
Mapper og behandling
Nedlastingsmappe restart, overvåkingsmappe,
etterbehandlingsskript (kjøres etter hver jobb med SABnzbd-kompatible argumenter
og SAB_*-miljø - eksisterende SAB-skript fungerer uendret),
oppryddingsendelser (søppelfiler som slettes etter fullføring), Smartmapper
og TV-arkivering (se §10).
Behold .nzb-filer etter opphenting (av som standard) lar den originale
.nzb-filen bli liggende i overvåkingsmappen etter at den er lagt i kø, i
stedet for å flytte den til papirkurven - for samlere, og for å dele filen med noen når
en nedlasting oppfører seg rart. En beholdt fil huskes, også på tvers av omstarter, og
legges ikke i kø igjen; lagre den på nytt for å laste den ned igjen. Uansett hva du
velger, har skuffen til hver jobb en Last ned .nzb-filen-knapp, så en kopi av
enhver jobbs .nzb er aldri mer enn ett klikk unna.
Indeksering live
| Innstilling | Hva den gjør |
|---|---|
| Innebygd indekserer | Hovedbryteren, av med mindre du slår den på. Av betyr ingen skanning, ingen metadataoppslag, ingen tilgjengelighetsprøver og ingen newznab-strøm; et indeks som allerede ligger på disk beholdes (det finnes en sletteknapp), så å slå på igjen fortsetter i stedet for å skanne på nytt. |
| Grupper | Newsgroups den innebygde indeksereren skanner (f.eks. alt.binaries.teevee). |
| Skanneintervall | Sekunder mellom rundene (standard 900). |
| Backfill-artikler | Headere som hentes ved en gruppes aller første skanning. |
| Fordyp per skanning | Hver runde indekserer også så mange eldre artikler, og bygger den søkbare historikken din i bakgrunnen til Maks alder er nådd (standard 200 000 per runde ≈ titalls millioner artikler per oppetidsdøgn). |
| Maks alder | Ignorer poster eldre enn dette (90d, 6m, 2y) - begrenser indeksstørrelse og skannetid. |
| Trim til aldersvinduet | På som standard. Sletter også allerede lagrede utgivelser når de blir eldre enn Maks alder, slik at indeksen holder omtrent det vinduet i stedet for å vokse i det uendelige. Av = bare nye poster filtreres, og det som er lagret blir stående. Døde søppelfragmenter (skjulte, fortsatt ufullstendige etter en uke) høstes uansett. |
| Inntaksfiltre | JSON-regler som filtrerer hva som kommer inn i indeksen: typer (obfuskert søppel forkastes som standard), år/oppløsning/språk, størrelsesgrenser. |
| Skann nå / dyp ny skanning | Kjør en runde umiddelbart; med en dybde, skann på nytt så mange nylige headere. |
| OMDb-nøkkel / metadataoppdatering / sletting | Kontroller for berikelse av veggen (§6). Sletting gjenoppbygger databasen fra bunnen - løsningen hvis den noen gang blir korrupt. |
| Pre-feed | Av til du slår den på. Mange opplastinger publiseres uten navnet sitt, og da har en skanning ingenting å lese. Offentlige relékanaler kunngjør det ekte navnet, den eneste åpne veien til å pare slike innlegg. Å slå på holder en forbindelse til et IRC-nett åpen og lytter: ingenting sendes noen gang, og ingen konto opprettes. Krever at indekseringen er på, for en feed uten et sted å legge det den hører er bare en socket som står åpen til ingen nytte. |
| Reléserver, Relékanaler | IRC-nettet som bærer kunngjøringene (vert eller vert:port) og kanalene å lytte i, kommaseparert. En endring trer i kraft ved neste tilkobling: slå feeden av og på for å bruke den med en gang. |
| Navngi ved korrelasjon | De offentlige direkterelèene bærer ingen filnavn, så de fleste tilslørte innlegg kan ikke pares direkte. Det en kunngjøring derimot fastslår, er når en utgivelse dukket opp og hvor stor den er. Dette sammenligner kunngjort tid og størrelse med navnløse innlegg og foreslår, når de passer, det ekte navnet under Bla. Et forslag er merket som et forslag, krever klikket ditt og gir aldri nytt navn til filer på disken. |
| Bruk sterke treff automatisk | Av som standard, og streng når den er på: størrelsen må stemme tett, ingen annen kunngjøring kan passe nesten like godt, og kunngjøringen må velge dette innlegget tilbake ved kontrollen den andre veien. Et brukt navn endrer bare hvordan utgivelsen vises, er merket som utledet og trekker seg selv tilbake hvis en ferdig nedlasting motbeviser det. Alt svakere forblir et forslag. |
| Kunngjøringshistorikk | Direktefeeden hører bare kunngjøringer gjort etter at den ble slått på. Dette henter omtrent seks måneder med tidligere kunngjøringer fra en offentlig pre-database, høflig og én gang, slik at også allerede indekserte innlegg kan pares. Kjører en halvtimes tid i bakgrunnen. |
Bibliotek, Sikkerhet, Grensesnitt
Bibliotek: kategorier som behandles som umiddelbare biblioteksoppføringer + kontrollintervall. Sikkerhet: den fulle API-nøkkelen (alt) og NZB-nøkkelen (kun-legg-til - trygg å gi til indekserersider), begge roterbare live. Hvert felt erstatter nøkkelen det hører til så snart du forlater feltet, og lar du et felt stå tomt, beholder det nøkkelen det allerede har. API-nøkkelen har i tillegg Show, som viser og kopierer den gjeldende nøkkelen slik at du kan lime den inn i Sonarr, Radarr eller NZB360 når det passer deg, og Create new, som lager en erstatter - den gamle nøkkelen slutter å virke med én gang, så alt som allerede er koblet til må få den nye. Begge avhenger av selve API-nøkkelen: den kun-legg-til NZB-nøkkelen kan ikke lese den, som er hele poenget med den nøkkelen. Hvor nøkkelen kommer fra på en ny installasjon, se §2. Grensesnitt: klikklyder, skrivebordsvarsler ved fullføring, intervall for omsortering av leverandører.
Fartsenheter live avgjør hvordan hver hastighet vises i dashbordet: megabyte (MB/s, normen blant nedlastingsprogrammer, standarden) eller megabit (Mb/s, slik leverandører oppgir linjer). Filstørrelser blir stående i byte. Dette er en egenskap ved daemonen, ikke ved nettleseren din, så det gjelder hver enhet som ser på denne installasjonen.
Avansert: rattene bak de opplagte
Seks innstillinger uten flagg på kommandolinjen. Hver av dem har nå en avansert rad på
innstillingskortet den hører til, og kan fortsatt settes via API-et
(§16), f.eks.
/api?mode=config&name=verify_mode&value=lean&apikey=…. Som
alle andre lagres de i settings.json.
| Navn | Hva den gjør |
|---|---|
verify_mode | full | fast | lean (standard fast). lean er dyttet for trege CPU-er: som fast, men hopper i tillegg over yEnc-CRC per artikkel så snart PAR2 dekker en fil, altså ett CRC32-lag i stedet for to. Nedlastinger uten PAR2 beholder artikkel-CRC-ene sine, og verifisering og reparasjon på slutten av jobben er uendret uansett. Velgeren Kontroll under nedlasting over er denne innstillingen. |
auto_retry_mins | Ventetid før det ene automatiske nye forsøket som en første feil med manglende artikler får (standard 20). Propagasjonsforsinkelse er en reell årsak til manglende artikler og løser seg selv; takket være journalen henter omkjøringen bare det som fortsatt mangler. Feil på grunn av passord eller takedown kvalifiserer aldri. |
index_scan_par | Hvor mange grupper indeksereren skanner parallelt (standard 3, begrenset til 1-8). |
oracle_sample | Tilgjengelighetsorakelets STAT-budsjett i tomgang (§13), sonderinger per time per server. Standard 300, maks 3600, 0 slår av sampling helt. |
predb_max_rows | Hvor mange pre-annonseringer feed-tabellen beholder (standard 250000, begrenset til 10000-5000000). Den timesvise beskjæringen kutter ned til det tallet, og den historiske importen nekter å starte hvis den ville gå forbi det, slik at en import aldri legger til rader som neste beskjæring sletter. |
predb_seed_days | Hvor langt tilbake en historisk import når når den startes uten eget vindu (standard 180 dager, høyst 366). Et større vindu er flere forespørsler til pre-kilden, som går i takten én hvert andre sekund. |
10 · Automatisering
Watchlist
Den enkleste automatiseringen: legg til en tittel på dashbordet, sett kvalitetspreferanser, ferdig. Nye utgivelser hentes etter hvert som de dukker opp i de indekserte gruppene dine; kopier av bedre kvalitet oppgraderer tidligere hentinger; en kalendervisning viser hva som kommer.
RSS-feeder
Innstillinger → RSS: enhver newznab-/indekserer-RSS-URL med intervall per feed, kategori og filterregler (tittelmønstre, størrelsesgrenser). Matchende elementer lastes ned automatisk.
Smartmapper
Regler som vurderes når en jobb legges til: match etter mønster/stikkord og størrelse,
tildel en kategori (første treff vinner). Med TV-arkivering på blir ferdige TV-episoder
omdøpt og arkivert som Show/Season 01/Show - S01E02.mkv -
plex/Jellyfin-klart uten et eksternt verktøy.
Tidsplanlegger
Ukeplanen (se §9) automatiserer pause/fortsett/fart etter tid på døgnet.
Skript
Et etterbehandlingsskript mottar SABnzbds posisjonelle argumenter og
SAB_*-miljøvariabler - det store økosystemet av SAB-skript kjører som det er.
11 · Sonarr, Radarr og venner
nzbfast snakker SABnzbd-API-et nativt, så hver *arr fungerer rett ut av boksen - og den kan fungere som indekserer for dem også.
Som nedlastingsklient
- I Sonarr/Radarr: Settings → Download Clients → legg til SABnzbd.
- Host: nzbfast-maskinen din · Port: 6789 · API-nøkkel: din fulle API-nøkkel (hvor du finner den: §2).
- Kategori etter ønske (f.eks.
tv/movies). Test → grønt merke → Lagre.
Kø, historikk, status per jobb, «fjern og slett», nytt forsøk og kategoriruting oppfører seg alt slik *arr-ene forventer.
Som indekserer (newznab)
- Settings → Indexers → legg til Newznab.
- URL:
http://<host>:6789/· API-sti:/api· nøkkel: din API-nøkkel. - nzbfast serverer
caps-,search-,tvsearch- ogmovie-forespørsler fra sin egen indeks av de overvåkede gruppene dine, og/getnzb/<id>gir tilbake NZB-en.
<error code="101"> i stedet for et tomt resultat,
slik at en feil viser seg når du legger til indeksereren og ikke uker senere.Hvorfor bry seg? En selvhostet indekserer over nøyaktig de gruppene du bryr deg om: ingen kontoer, ingen API-grenser, oppbevaring så dypt som du lar den skanne. Den er et tillegg til de vanlige indeksererne dine snarere enn en erstatning, for den finner bare det som ble postet under et ekte filnavn.
12 · Telefon og fjernstyringsapper
nzbfast implementerer begge de store fjernstyringsprotokollene, så nesten hver mobil-/nettbrett-app fungerer. Velg protokollen appen din støtter:
Apper som snakker NZBGet (nzb360, LunaSea, NZB Unity…)
| Felt i appen | Verdi |
|---|---|
| Type | NZBGet |
| Host / port | maskinen din : 6789 |
| Brukernavn | hva som helst (f.eks. nzbfast) |
| Passord | din API-nøkkel |
Hele JSON-RPC-flaten disse appene bruker, serveres: status, kø med omsortering/pause/sletting, historikk, legg-til-NZB, fartsgrense, pause/fortsett, logg.
Apper som snakker SABnzbd
| Felt i appen | Verdi |
|---|---|
| Type | SABnzbd |
| Host / port | maskinen din : 6789 |
| API-nøkkel | din API-nøkkel (eller NZB-nøkkelen for kun-legg-til-tilgang) |
Dashbordet på telefonen din
Bare åpne http://<machine>:6789 i en mobilnettleser - hele dashbordet og
veggen har en berøringslayout. Panelet Innstillinger → Fjerntilgang viser de nøyaktige
URL-ene og en QR-kode å skanne.
Nå nzbfast utenfra
Det finnes ingen innloggingsside, og det er med vilje. En innlogging med øktinformasjonskapsel er en sikkerhetsflate som må vedlikeholdes for alltid, og den ville uansett være den svakeste låsen på noe som vender mot det åpne internett. nzbfast autentiserer i stedet med API-nøkkelen din, og tar imot nøkkelen både i et forespørselshode og i URL-en (X-Api-Key eller Authorization: Bearer) - og det er nettopp det som lar noe foran håndtere innloggingen skikkelig.
Det enkleste er ikke å publisere den i det hele tatt. Installer Tailscale på denne maskinen og på telefonen, så havner begge på det samme private nettet: ingenting er eksponert, verken ruter eller sertifikat må røres, og Innstillinger → Fjerntilgang viser en adresse som fungerer overalt så snart Tailscale kjører. Velg dette med mindre du faktisk trenger et offentlig domene.
Trenger du det, sett en omvendt proxy foran, gi den sertifikatet, og la den ta autentiseringen. Start nzbfast med --bind 127.0.0.1 slik at proxyen er eneste vei inn, og pek proxyen 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;
}
Legg på det proxyen din tilbyr: basic auth, en forward-auth-tjeneste som Authelia eller Authentik, eller klientsertifikater. Én ting overrasker alle - Sonarr, Radarr og telefonappene kan ikke fullføre en nettleserinnlogging, så la dem slippe forbi. De fleste proxyer kan slippe gjennom en forespørsel med et gyldig X-Api-Key-hode og kreve autentisering for alt annet.
13 · Ytelsesverktøy
Systembenchmark
Ett klikk måler dine tre tak - nettverksgjennomstrømning (en ekte 8-sekunders fler-tilkoblings-sondering), CPU-verifiseringsrate og diskskrivefart - og leder med svaret: din forventede maksimale nedlastingsfart og hvilket tak som er grensen. Den korteste søylen er flaskehalsen din; de andre viser marginen sin. Planlegg den (hver 6. time → ukentlig) og hver kjøring logges til en historikktabell, så du kan se når leverandøren, ISP-en eller maskinvaren din endret oppførsel. Planlagte kjøringer skjer bare mens køen er inaktiv.
Tilkoblingsjustering
Måler én leverandør ved stigende antall tilkoblinger og anbefaler innstillingen - flere sockets hjelper til leverandøren eller linjen din metter seg, og noen leverandører straffer overspørring. Test alle sammenligner hver leverandør, og kjører dem så alle sammen for å sjekke at poolen metter linjen din.
Servermangfold
STAT-sampler artikler på tvers av aldre på hver server og grupperer leverandører etter felles hull: leverandører med ~100 % felles manglende artikler er samme backbone (redundant for gjenoppretting); uavhengige utvider dekningen din på ekte. Avsluttes med en anbefaling på klart språk.
Automatisk køintelligens
- Auto-utsettelse: en nedlasting som halter på én enkelt treg server mens andre jobber venter, parkeres bakerst (journalen beholder fremdriften) og forsøkes på nytt når køen er tom.
- Prefetch på ledige servere: servere som ikke kan hjelpe den aktive jobben (kopiene deres er borte), begynner å laste ned den neste jobben i køen i mellomtiden. Ingen annen klient gjør overlapp på tvers av jobber.
- Soak på tvers av jobber: mens en ferdig jobbs hale (verifisering/utpakking) fullføres på disk, eier den neste jobbens nedlasting allerede linjen.
Tilgjengelighetsorakelet
Takedowns er den viktigste grunnen til at en Usenet-nedlasting mislykkes, og de lar seg forutsi: den samme utgivelsen forsvinner hos én backbone mens en annen fortsatt har den. nzbfast fører et lite register over hva dine egne leverandører faktisk har svart for, og bruker et bitte lite tomgangsbudsjett på STAT-sonderinger (noen hundre i timen per server, aldri under en nedlasting) for å holde det oppdatert. Den laster aldri ned nyttelast for å finne det ut.
Hva du får ut av det:
- En tilgjengelighetsdom på veggens kort og indeksens rader (§6): gult «?» for usikkert hos leverandørene dine, rødt for sikkert borte. Ingen markering betyr at det ser bra ut.
- Et ryddet-merke på grupper der ferske poster allerede fjernes, så du kan skille en døende gruppe fra en uheldig utgivelse.
- Hopp over leverandører orakelet har avskrevet (Innstillinger, av som standard, eksperimentell): når sjekken er sikker på at én leverandørs backbone har mistet en utgivelse, hoppes den rett over for den nedlastingen i stedet for å vente på at den feiler. Den hopper aldri over den siste leverandøren du har igjen.
Dommen er en forutsigelse ut fra indisier, ikke en garanti. For et hardt
svar om én NZB teller nzbfast check (§15) de faktiske
artiklene.
Minnebudsjett - og hva lite minne koster
Alle motorens buffere deler ett budsjett (standard ¼ av fysisk RAM, avgrenset til
256 MB–16 GB). Sett det eksplisitt med Minnegrense i Innstillinger, eller
--mem-limit på kommandolinjen.
nzbfast er bygget for å suge til seg nettverket og disken din samtidig, og RAM er det som lar den gjøre begge deler i én omgang: artikler dekodes, verifiseres og skrives rett til sine endelige offset, så arkivvolumer trenger aldri å røre disken i det hele tatt. Sult den på minne, og ingenting ryker - hver buffer har en spill-sti, og motoren degraderer til mer disk-I/O i stedet for å swappe eller feile. Men den spillingen er ikke gratis, og på store jobber kan du måle den.
Målt på én maskin og én linje (M1 Ultra, 10 GbE), samme filer ved hvert budsjett. Hver kjøring produserte et korrekt, fullstendig verifisert, utpakket resultat:
| Jobbstørrelse | Rikelig med RAM | 2 GB-budsjett ≈ 8 GB-maskin | 1 GB-budsjett ≈ 4 GB-maskin | 256 MB-budsjett ≈ 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ølger budsjettet, ikke jobben: den 190 GB-nedlastingen fullføres på rundt 1,1 GB RAM. Det du bytter mot det, er tid - og bare på store jobber.
- Opptil ~35 GB er lite minne gratis. Arbeidssettet får plass uansett, så en 4 GB-maskin gjør en slik jobb like raskt som en på 64 GB.
- Forbi ~87 GB betaler du 20–40 % - men bare når linjen din er raskere enn disken din. Verifiseringsblokker og arkivvolumer som ville ha blitt liggende i RAM, skrives ut og leses inn igjen i stedet, og det koster bare tid hvis nettverket kan levere raskere enn disken kan ta imot den ekstra trafikken. De 20–40 % over ble målt på 10 GbE; den samme 87 GB-jobben ved de samme budsjettene på en ~2,4 Gbps-linje viste ingen straff i det hele tatt (−1 til +7 %, innenfor støy mellom kjøringene). Straffen er en funksjon av hvor mye raskere linjen er enn disken, ikke av jobbstørrelsen - på en typisk hjemmetilkobling er et lite budsjett nær gratis selv på svært store jobber.
- Straffen flater ut. Når en jobb er stor nok til å spille, spiller hvert begrenset budsjett omtrent like mye - kjøringene på 2 GB, 1 GB og 256 MB leser inn igjen i praksis samme antall blokker fra disk, og blir ferdige innenfor støy av hverandre. Så litt mer RAM under terskelen som unngår spilling helt, kjøper ikke tilbake kostnaden: gi den nok til å holde jobben i minnet, ellers betyr det eksakte tallet knapt noe.
På en liten NAS, senk også Tilkoblinger (2–4) sammen med budsjettet. Ved et 256 MB-budsjett og 2 tilkoblinger holder toppminnet seg nær 190 MB - komfortabelt innenfor det en 2 GB NAS har til overs. Vær klar over at det er antallet tilkoblinger, ikke minnet, som begrenser deg da: den samme 35 GB-jobben tok 286 s i stedet for 65 s. Det er den ærlige formen på avveiningen - den vil alltid bli ferdig, og bli ferdig korrekt; den suger bare ikke til seg linjen.
Benchmarker kjøres på nytt for hver utgave; metode og per-maskin-tall publiseres sammen med resultatene.
14 · Oppdateringer
- Oppdateringer er kun varsling: nzbfast laster aldri ned eller bytter ut sin egen binærfil, og det finnes ingen kode i den som kan. Når en ny versjon finnes, viser toppfeltet ⬆ v X tilgjengelig - last ned; brikken lenker til den offisielle nedlastingssiden (lenken er fast i appen og kommer aldri fra oppdateringsmanifestet). Installer den nye versjonen på samme måte som du installerte den nåværende.
- nzbfast ser etter nye versjoner to ganger om dagen. Slå av Se etter oppdateringer (Innstillinger), så kontakter den aldri oppdateringsmanifestet; en tom oppdaterings-URL gjør det samme.
Oppdater uten å miste innstillingene dine
Én regel dekker hver installasjon: en oppdatering bytter ut programmet, aldri innstillingene dine. Alt du har konfigurert - servere, stier, API-nøkkelen, køen - bor i en håndfull filer i én mappe (§17), og ingen installerer, image-pull eller pakkeoppgradering rører den mappen. Når innstillinger likevel ser borte ut etter en oppdatering, er det nesten alltid fordi den nye installasjonen leser en annen, tom mappe, ikke fordi noe ble slettet; de gamle filene ligger fortsatt der de alltid har ligget. §18 har stegene for å hente dem tilbake.
| Installasjon | Slik oppdaterer du |
|---|---|
| macOS-appen | Åpne den nye DMG-en og dra NzbFast inn i Programmer, slik at den gamle erstattes. Datamappen din er separat og røres ikke. |
| Windows-installereren | Kjør det nye oppsettet oppå den gamle installasjonen. Datamappen din er separat og røres ikke. |
| Docker (kommandolinjen) | docker pull nzbfast/nzbfast,
fjern den gamle containeren, og kjør så den nye med nøyaktig de samme
-v-mappingene. Imaget er til å kaste; den mappede
/config-mappen er installasjonen din. Hvis kjørekommandoen din bruker en
relativ sti som -v ./config:/config, kjør den fra samme katalog hver
gang - fra hvor som helst ellers er ./config en annen, tom
mappe. |
| Docker Compose | docker compose pull && docker compose
up -d, med samme compose-fil på samme sted. ./config i filen
er forankret i filens egen mappe, så la filen ligge der den ligger. |
| Watchtower | Ingenting å gjøre: den gjenskaper containeren med de samme mappingene når et nytt image kommer. |
| Unraid | Docker-fanen → Check for Updates → Apply
Update. Fjern og legg aldri til appen på nytt for å oppdatere den; skulle du en
gang installere på nytt, behold samme appdata-sti slik at den finner din
eksisterende /config. |
| Synology (Container Manager) | Last ned det nye imaget, stopp containeren, og gjenskap den med de samme voluminnstillingene - gjennomgangen i Synology-guiden dekker det klikk for klikk, inkludert hvordan du gjør det etter en tidsplan. |
| Synology (pakke) | Installer den nye .spk-en i Package
Center; den oppgraderer på stedet. |
| Homebrew | brew upgrade nzbfast |
| Ren binærfil | Bytt ut binærfilen. Config-en din blir liggende der du lagde den (§17). |
-e NZBFAST_APIKEY=…, eller environment-blokken i compose-filen din
eller Unraid-malen). En nøkkel som ligger der, overlever ethvert containeruhell,
fordi den bor på verten, i definisjonen, og legges på igjen ved hver start. En
nøkkel du senere setter i Innstillinger, vinner fortsatt over den.15 · Kommandolinje
Alt daemonen gjør, er også skriptbart. De hverdagslige kommandoene:
| Kommando | Formål |
|---|---|
nzbfast setup | Interaktivt serveroppsett. |
nzbfast serve | Kjør daemonen (dashbord + API + automatisering). --open åpner nettleseren; --apikey setter nøkkelen for hånd (§2); --bind velger lytteadressen, standard 0.0.0.0 (hvert grensesnitt), 127.0.0.1 for kun denne maskinen. Se --help for den fulle flagglisten - hver dashbord-innstilling har en flagg-tvilling. |
nzbfast get file.nzb | Last ned én NZB, full pipeline, ingen daemon. --preflight avbryter tidlig hvis posten ikke kan fullføres; --password for krypterte sett. |
nzbfast check file.nzb | Tilgjengelighetsdom - COMPLETE / REPAIRABLE / IMPOSSIBLE - uten å laste ned nyttelasten. |
nzbfast verify DIR | Verifiser filer mot PAR2-settet i en mappe. |
nzbfast sysbench | Systembenchmarken + mangfoldsrapporten, i terminalen. |
nzbfast index / search | Skann grupper inn i indeksen / søk i den, uten daemonen. |
nzbfast import-sab | Importer servere fra en SABnzbd-ini. |
Også tilgjengelig: inspect, probe,
bench, bench-cpu, soak, fetch,
spots/spot-search/spot-get (Spotnet),
predb-seed (fyller pre-databasen med tiden før feeden ble slått på),
make-release-nzb/make-test-nzb (testfiksturer). Hver
kommando tar --config og --help. I tillegg kommer post: den laster opp filer som
yEnc-artikler og skriver den tilhørende NZB-en. Et driftsverktøy; det krever en
uttrykkelig --post-server og velger aldri server for deg.
16 · API-oversikt
Basisendepunkt: http://host:6789/api?mode=…&apikey=…&output=json -
SABnzbd-kompatibelt, så eksisterende SAB-integrasjoner fungerer uendret. To nøkler:
API-nøkkelen (full kontroll) og NZB-nøkkelen (kun-legg-til:
addfile/addurl). addnzblnk er med vilje ikke med i settet for bare å legge til: å løse opp en lenke kan bruke målt indeksererkvote, og det har en nøkkel for bare å legge til ingenting med å gjøre.
| Område | Modi |
|---|---|
| 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, pluss /jobnzb/<nzo_id> (jobbens egen lagrede .nzb tilbake ut, kø eller historikk; bare full API-nøkkel) |
| Konfigurasjon | get_config, config&name=<setting>&value=… (hvert Innstillinger-felt), server_save/delete/test/enable/reorder, import_probe/apply |
| Indeks og vegg | index_search, index_get, index_stats, index_scan_now, wall, wall_search/fix/refresh/art, pluss newznab på /api?t=caps|search|tvsearch|movie og /getnzb/<id> |
| Automatisering | watchlist, watchlist_check_now, watch_calendar, feeds, smart_folders, schedule |
| Diagnostikk | sysbench, bench_history, connladder, pooltest, diversity, update_check, update_apply |
| NZBGet JSON-RPC | /jsonrpc - status, listgroups, history, append, editqueue, rate, pause, log (Basic-autentisering: hvilken som helst bruker, API-nøkkel som passord) |
| Forhåndsvisning / avspilling | /stream/<nzo_id> (HTTP-ranges; å starte en parkert biblioteksjobb krever ?t=-token eller nøkkel), /m3u/<id> (krever nøkkel; lager tokenet), /wall, /art/… |
17 · Filer og plasseringer
Hvor innstillingsmappen ligger, avhenger av hvordan nzbfast ble installert. Denne ene mappen rommer alt som er verdt å sikkerhetskopiere:
| Installasjon | Innstillingsmappe |
|---|---|
| macOS-appen | ~/Library/Application Support/nzbfast/ |
| Windows | %LOCALAPPDATA%\nzbfast\ |
| Docker / NAS-containere | /config inne i containeren,
som er vertsmappen du mappet til den. På Unraid er det appens
appdata-mappe. |
| Synology-pakken | /var/packages/nzbfast/var/ |
| Terminal | Mappen du kjørte nzbfast setup i, eller dit
--config / $NZBFAST_CONFIG peker. |
Og hva som ligger i den:
| Fil | Innhold |
|---|---|
config.local.json | Serverlegitimasjon og alternativer per server. Opprettet av veiviseren; redigerbar i Innstillinger. Hold den privat. Passord er tilslørt, ikke kryptert. |
settings.json | Hver innstilling endret i dashbordet. Ligger ved siden av config-en; UI-verdier overstyrer kommandolinjeflagg. Slett en nøkkel (eller filen) for å falle tilbake til flagg/standarder. |
apikey | API-nøkkelen nzbfast lagde til seg selv ved en første kjøring (§2). Ligger ved siden av config-en; på macOS og Linux bare lesbar for kontoen som kjører nzbfast. Ikke slett den for å få en fersk nøkkel: på en installasjon som allerede har kjørt, kommer ingenting i stedet, og daemonen kommer opp igjen helt uten nøkkel. Sett en ny i Innstillinger → Sikkerhet i stedet. |
index.db | Utgivelsesindeksen (SQLite) + vegg-metadata. Trygg å slette - den gjenoppbygges fra skanning (Innstillinger → Indeksering → Slett gjør dette for deg). |
<config>/.spool/ | Køtilstand (overlever omstarter), NZB-er per jobb, forbruksjournal, benchmark-historikk, plakatbildebuffer. |
| Artikkeljournal | Inne i hver jobbs utdatamappe mens den er uferdig - driver krasj-gjenopptaking og nytt forsøk. Fjernes ved suksess. |
| Eksterne verktøy | Ingen nødvendige - RAR-utpakking og PAR2-reparasjon er native. Hvis et eksotisk sett noen gang trenger en ekstern unrar eller par2 som fallback, ser nzbfast ved siden av den kjørbare filen sin, deretter på $PATH. |
18 · Feilsøking
| Symptom | Sjekk |
|---|---|
| Trege nedlastinger | Kjør Systembenchmark - den navngir flaskehalsen rett ut. Hvis det er nettverk: kjør Tilkoblingsjustering, sjekk antall tilkoblinger per server, og bekreft at leverandørene dine ikke alle er én backbone (Servermangfold). |
| Treg bare på svært store jobber (NAS eller maskin med lite RAM) | Forventet, og målbart: et sultet minnebudsjett spiller buffere til disk og koster 20–40 % forbi ~87 GB. Se Minnebudsjett for tallene og hvor mye RAM du bør gi det. Mindre jobber er upåvirket. |
| Nedlasting feiler «artikler mangler» | Posten har utløpt eller ble tatt ned hos leverandørene dine. En andre leverandør på en annen backbone redder de fleste av disse. nzbfast check forutsier dette før nedlasting. Og veggen merker de sannsynlig forsvunne på forhånd med
tilgjengelighetsprikken sin (§13). En første feil av denne typen
prøver seg selv om igjen én gang etter en ventetid, for propagasjonsforsinkelse ser
akkurat slik ut og løser seg selv. |
| Ferdig arkiv vil ha et passord | Historikkraden viser 🔑 - skriv inn passordet der; jobben blir ferdig på stedet. |
| Et arkiv pakkes ikke ut | Passord- og reparasjonsfeil navngir seg selv i historikkraden. For alt annet finnes en nødutgang: Innstillinger → Overvåkingsmappe & etterbehandling → Pakk ut med eksternt unrar (en avansert innstilling) overlater utpakkingen til programmet unrar som er installert på maskinen din, i stedet for den innebygde utpakkeren. Ellers bør den stå av: den innebygde veien er raskere på alle former vi har målt, og tilslørte poster med hash-navn bruker den uansett alltid, fordi unrar ikke kan følge omdøpingen deres. Den samme bryteren for nzbfast get-kjøringer er miljøvariabelen NZBFAST_NO_NATIVE_UNRAR=1. Hvis unrar pakker ut et arkiv som den innebygde utpakkeren avviste, meld gjerne fra så vi kan fikse den innebygde veien. |
| Sonarr/Radarr kan ikke koble til | Er port 6789 nåbar? API-nøkkel riktig (full nøkkel, ikke NZB-nøkkel)? Klienttype satt til SABnzbd? |
| Dashbordet spør etter en API-nøkkel jeg aldri satte | En ny installasjon lager en til seg selv og skriver den ut én gang ved oppstart (§2). Den står i apikey-filen ved siden av config-en din, og i oppstartsutdataene. Eller skriv inn din egen nøkkel i Innstillinger → Sikkerhet fra en nettleser som allerede er logget inn. |
| Alle innstillingene mine ser borte ut etter en oppdatering (servere, stier, API-nøkkel) | Ingenting i en oppdatering sletter innstillinger; dette betyr at nzbfast leser en annen, tom mappe. Først: API-nøkkelfeltet i Innstillinger vises tomt med vilje - klikk Show før du konkluderer med at den er borte. På Docker: sammenlign /config-mappingen til den nye containeren med den gamles: en endret vertssti, en relativ sti kjørt fra en annen katalog eller en fersk appdata-mappe starter alle sammen nzbfast helt fra begynnelsen, mens de virkelige innstillingene dine ligger urørt på den forrige stien. Finn den gamle mappen (se etter settings.json, config-filen din og apikey - plasseringer i §17), og pek så enten mappingen tilbake på den, eller kopier de filene inn i den nye mappen og start på nytt. Oppstartsloggen navngir nøyaktig hvilken innstillingsfil som er i bruk: [settings] applying saved settings from … |
| Ingenting på nettverket når daemonen | Sjekk --bind: 127.0.0.1 betjener bare maskinen nzbfast kjører på. Standarden, 0.0.0.0, betjener hvert grensesnitt. Sjekk så maskinens egen brannmur for port 6789. |
| Utforsk-kortet forblir lite | Indeksereren vokser i bakgrunnen - sjekk at gruppene i Innstillinger → Indeksering er satt, og gi Fordyp per skanning tid til å bygge opp historikk. «Skann nå» tvinger en runde; statuslinjen viser live fremdrift. |
| Veggen viser feil / ingen illustrasjon | Detaljark → ✎ Rett treff eller ↻ Oppdater metadata. Filmoppslag forbedres med en gratis OMDb-nøkkel. |
| macOS sier at programmet "nzbfast" ikke kan åpnes | To årsaker, begge raske. Bruker du den enkle -macos-universal.zip, dobbeltklikk på Start nzbfast.command og ikke på filen nzbfast ved siden av - den er selve programmet, og Finder svarer på et dobbeltklikk der med nøyaktig denne meldingen. Det er starteren som setter opp alt og starter det. Gir starteren samme melding, har kopien mistet Unix-kjørebiten sin på veien: macOS tar vare på den biten inne i .zip-filen, men chat-apper, skydisker og ny zipping gjør det ikke, så en kopi som er sendt videre for hånd, kommer fram uten kjørerettighet. Last ned .dmg eller .zip direkte fra releases-siden, så skjer det ikke. For å redde kopien du allerede har: åpne Terminal, skriv chmod +x med et mellomrom etter, dra Start nzbfast.command og filen nzbfast inn i vinduet og trykk Retur - dobbeltklikk deretter på starteren igjen. |
| Daemonen starter ikke: port i bruk | En annen instans kjører - eller endre --port. |
| Hvor er loggene? | Logg-kortet på dashbordet, eller terminalen/loggfilen du startet serve med. |
nzbfast --version.nzbfast - denne håndboken følger med hver utgave. Innstillinger, endepunkter og standarder som er nevnt her, samsvarer med versjonen den ble levert med.