Funktioner

Den korte version øverst, alle detaljerne nedenunder.

  • Pipelinet NNTP ved linjehastighed: 8.31 Gbps målt på 10 GbE.
  • One-pass-pipeline: afkodning, verificering og udpakning overlapper; RAR-volumener rører aldrig disken; nestede arkiver udpakkes i samme gennemløb.
  • Union-tilgængelighed på tværs af udbydere: komplet ud fra unionen af dine servere, eller afbryd tidligt.
  • Hukommelsesbudget: begrænset RAM, nænsom spill, swapper aldrig.
  • Crash-sikker genoptagelse: journal på artikelniveau; kill −9 midt i et job, og den fortsætter, hvor den slap.
  • SABnzbd-kompatibelt + NZBGet JSON-RPC-API'er: Sonarr/Radarr/nzb360/LunaSea virker uændret.
  • Indbygget indexer: scan grupper til et lokalt, søgbart indeks, der serverer Newznab.
  • Postervæg: artwork, bedømmelser, medvirkende, episodegitre; ingen API-nøgler.
  • Overvågningslistens auto-hent + kvalitetsopgraderinger: hent ved første forekomst, opgradér til målkvalitet.
  • Én selvstændig eksekverbar fil: par2 + RAR-udpakning indlejret.

Motor & hastighed

  • Pipelinet NNTP. At holde flere forespørgsler undervejs på hver forbindelse slår både rundrejse-latensen og TCP's henfaldende overbelastningsvindue. Vi måler alt fra +12% til +270% over seriel hentning, og omkring 8 forbindelser pr. server er nok til at mætte linjen.
  • SIMD yEnc-afkodning (rapidyenc, med NEON- og AVX-kerner) kører 4.95 GB/s pr. kerne og afkodes på stedet, i takt med at bytesene lander i modtagelsesstien.
  • Delt kø på tværs af servere. Udbyderne balancerer sig selv til inden for ~2% helt uden tuning. Hver enkelts reelle hastighed spores, og halen af et job dublet-udsendes, så en enkelt langsom server ikke kan trække afslutningen i langdrag.
  • Soak på tværs af jobs. Halen af job N overlapper starten af job N+1, så linjen holdes tændt fra kant til kant gennem en hel kø: 2% tomgang her mod SABnzbds 61% mørke i samme bench.
  • Vagthund for langsomme jobs. En download, der kravler af sted på én langsom server, mens resten står stille, flyttes bagest i køen med fremgangen bevaret og genoptages, når køen er tømt.
  • Prefetch på ledige servere: en server, det aktive job ikke kan bruge, fordi dens artikler ikke ligger der, går i gang med det næste job i køen i stedet for at stå i tomgang.
  • Forbindelsestunings-stige. I stedet for at gætte måler den, hvor hver udbyders gennemløb faktisk holder op med at stige (forbindelser bedt om over for forbindelser tildelt) og lægger sig der.
  • Auto-hastighedsguvernør: en valgfri LEDBAT-agtig RTT-guvernør, der viger for resten af husstandens trafik og tager det, der er tilbage af linjen.
  • Hastighedsgrænser og en ugentlig planlægger: live-justerbare lofter, en tidsplan i lokal tid (sommertidssikker) og et "pause i N minutter", der genoptager af sig selv.
  • Hukommelsesbudget. Ét globalt RAM-budget (auto: en fjerdedel af din RAM, med loft, kan tilsidesættes). Når det strammer til, skrumper bufferne først, derefter spilles data over på disken og læses tilbage, når jobbet falder til ro. Den swapper aldrig. Et 190 GB-job bliver færdigt inden for et 1 GB-budget ved ~1.1 GB top-RSS, og der findes en målt, dokumenteret 2 GB-profil til NAS-bokse.
  • Modtryk. En langsom disk struber socket'erne i stedet for at lade RAM løbe fuld. Den holder sig inden for ±1% af et skriveloft, og RAM falder faktisk under pres.
  • Hukommelsestrimning efter job: så snart der er tomgang, giver daemonen frigjort hukommelse tilbage til styresystemet og lander på omkring 8 MB mellem jobs på macOS.

One-pass-pipelinen

  • Skriv én gang. Afkodede artikler pwrites direkte til deres endelige filoffsets. Ingen midlertidige filer, ingen separat samlefase.
  • PAR2-verificering i strømmen. Hver blok MD5-hashes fra afkodningsbufferne, efterhånden som den ankommer, så verificeringen er færdig i samme øjeblik downloaden er. Det slår det hurtigtjek, de andre klienter nøjes med, og det koster ingenting.
  • Direkte udpakning: store-mode-RAR-posts (de fleste scene-releases) mappes og udpakkes, mens de hentes, så volumenerne overhovedet aldrig lander på disken. Skrevet disk ender på indhold × 1.0 og nødvendig disk på 1×, hvor andre vil have cirka 2×.
  • Indlejrede arkiver, og dybde koster næsten ingenting. Arkiver inde i arkiver - RAR i RAR, 7z i et RAR, stiger mange niveauer dybe - pakkes ud, mens bytes kommer ind, inde i den gennemgang vi allerede var i gang med. Dér ligger hele forskellen: en klient, der skriver hvert lag ud, lukker det, åbner det igen og skanner det forfra, betaler en hel gennemgang pr. niveau, så hvert niveau ned koster den endnu en tur over disken. Vores kører med i den første gennemgang, og nyttelasten kommer ud af en ti niveauer dyb stige på samme måde som ud af en på ét. Én kopi på disk, hvor skriv-ud-og-skan-igen holder to eller tre.
  • Deobfuskering. Obfuskerede posts omdøbes ud fra deres PAR2-metadata, ROT13-forvanskede navne bliver reddet, og hash-navngivet skrald klassificeres og lukkes ude.
  • Nøjagtigt tilpasset reparation. Beskadigede blokke kendes, i det øjeblik de opstår, så kun det byte-minimale sæt af genoprettelsesvolumener hentes (løst som et rygsæksproblem) og reparationen rører intet andet end de beskadigede spænd.
  • RAR-gendannelsesdata. Når PAR2 er brugt op, eller aldrig blev postet, reparerer indlejrede RAR-gendannelsesdata beskadigede volumener på stedet.
  • Reparation i enhver dybde. Et PAR2-sæt pakket inde i et indre lag findes og køres på sit eget niveau, og en par-only-post (data slettet, et sæt med 100% gendannelse efterladt) genopbygges helt og udpakkes derefter.
  • Fallback for komprimeret og krypteret: non-store-posts materialiseres og udpakkes gennem den native RAR-motor, alt fra RAR4 til det nye RAR7, overlappet med resten af køen. Krypterede sæt parkeres med en tydelig besked i stedet for at fejle i stilhed.
  • Den leder selv efter adgangskoden. De fleste krypterede poster har ikke brug for dig. Den prøver NZB’ens egne metadata og navnekonventionen {{pw}}, *arr-API’et, derefter enhver kort tekstnote lagt op ved siden af filerne, og i sidste ende navnene på releasen og filerne selv. Den gentager den søgning på hvert niveau: en kæde, der gemmer hvert lags adgangskode i laget ovenover - en anden adgangskode på hvert niveau - låses op hele vejen ned, uden at du taster noget. Det, der virkelig bliver tilbage, får 🔑-oplåsningen på dashboardet: den låser op i baggrunden og arkiverer derefter som normalt.
  • Sikkerhedsgelændre. Reparerede kildevolumener skrivebeskyttes, mens genudpakningen kører, den færdige fils egen kontrolsum verificeres ende til ende (slået til som standard), og en exit-kode melder kun "succes", når sluttilstanden er ægte brugbar.

Pålidelighed & tilgængelighed

  • Pre-flight-tilgængelighedstjek. Pipelinede STAT-sweeps bygger på sekunder en matrix pr. artikel × pr. server og markerer jobbet COMPLETE, REPAIRABLE eller IMPOSSIBLE, før en eneste byte indhold er hentet. En umulig post afbryder efter at have trukket næsten intet.
  • Union-routing. En artikel tæller først som manglende, når hver eneste live server har afvist den; indtil da dirigeres den til den server, der har den. Backbones er forskellige på retention og takedowns, så unionen fuldfører i det stille posts, som ingen enkelt server kunne.
  • Crash-sikker journal. Journalen arbejder på artikelniveau. Send et kill −9 midt i et job, og den kommer tilbage og henter kun det igen, der ikke var blevet gemt; kø og historik overlever genstarter.
  • Parkér og prøv igen: mislykkede jobs parkeres i historikken, og et nyt forsøg henter kun de stumper, der stadig mangler.
  • Kaos-testet. En mock-NNTP-server gennemspiller ti ende-til-ende-fejlscenarier (430'ere, korruption, afkortning, hængninger, døde servere, kill −9) ved hver eneste testkørsel.
  • Pålidelighedsscoring af udbydere. Fuldførelsesrater pr. server gemmes permanent og vises i dashboardet, med en advarsel under 98%.
  • Analyseværktøj for server-diversitet. Det STAT-sampler på tværs af dine servere og klynger dem efter de huller, de deler, så du kan se, hvilke "forskellige" udbydere der i virkeligheden er samme backbone, før du betaler for redundans, du reelt ikke har.
  • Kvoter, blok-konti og en diskvagt: daglige og månedlige kvoter, livstids-byte-budgetter for blok-konti (udelukkes automatisk, når de er brugt op), en pause ved lav disk og daglig forbrugshistorik pr. udbyder.
  • Dublet-detektion: dupekey og dupescore, hvor et tilbageholdt alternativ promoveres automatisk i det øjeblik en hentning fejler.
  • Retention-bevidst routing. Posts, der er ældre end en servers retention, springer den helt over, og alt, som ingen server kan levere, fejler med det samme i stedet for at spinne.

Automatisering & integrationer

  • SABnzbd-kompatibelt API: hele den flade, *arr-programmerne faktisk bruger: addfile/addurl, kategorier, prioriteter, pause/genoptag pr. job, nyt forsøg, paginering, to-lags API-nøgler. Sonarr og Radarr taler med det, som var det SABnzbd.
  • NZBGet JSON-RPC-facade. nzb360, LunaSea og andre NZBGet-fjernbetjeninger forbinder uændret.
  • Newznab-server. Dit lokale indeks svarer på t=search/tvsearch/movie, så *arr-programmerne kan behandle dine egne scanninger som en indexer.
  • RSS auto-hent: en indekserers feed er det samme, som en nyhedslæser abonnerer på, blot lister det, hvad der lige er lagt op på Usenet. Alt, der matcher filtrene, hentes af sig selv. Feeds filtreret med et NZBGet-agtigt sprog, tilføjet og redigeret live fra dashboardet.
  • Overvågningsliste. Navngiv de serier og film, du vil have, også dem, der endnu ikke er sendt. Hver episode hentes ved sin første forekomst og opgraderes, indtil den når din målkvalitet (f.eks. 720p → 1080p REMUX), og den erstattede kopi slettes først, når opgraderingen er verificeret. En sendedato-kalender viser, hvad der er på vej.
  • Watch-mappe. Læg en .nzb ind, og den hentes; filen forsvinder, så snart den er taget.
  • Smarte mapper: regex-, nøgleords- og størrelsesregler sorterer downloads i kategorier, når de lægges i kø, med valgfri tv-arkivering til Show/Season NN/Show - S01E02.ext.
  • Oprydningsregler: skraldendelser fjernes, når et job er færdigt.
  • Flyt til en NAS: færdige downloads flyttes efter udpakning og omdøbning til en destinationsmappe med kategoristrukturen bevaret, og destinationer pr. kategori kan sende serier og film til forskellige shares. Er sharet utilgængeligt, bliver filerne, hvor de er.
  • Efterbehandlingsscripts. De følger SABnzbds SAB_*-miljøkontrakt, så de scripts, du allerede har, kører, som de er.
  • Migrering med ét klik. Den importerer servere fra en SABnzbd-ini eller en NZBGet-conf og læser sabnzbd.ini direkte, hvis det er alt, den kan finde.
  • Spotnet-indtagelse: verificering af spot-signaturer og NZB-syntese, bygget lige ind.

Forhåndsvisning & bibliotek

Dashboard & indstillinger

Kø med en detaljeskuffe pr. download: fremgangsbjælker pr. fil, verificeringsblokke, bidrag pr. server
Kø-skuffe: bjælker pr. fil, verificeringsblokke, bidrag pr. server.
Indstillinger: server-editor og live hastigheds-/planlægningskontroller
Hver indstilling kan redigeres i browseren. De fleste gælder live.
Telefonlayout af dashboardet
Ordentligt telefonlayout, samme daemon.
  • Live-diagrammer, ingen biblioteker. Alt polles én gang i sekundet (et gennemløbsareal, stablet areal pr. udbyder, en verificerings-tidslinje, kø-nedtælling, et hastighedshistogram) og diagrammerne udvider deres tidsvindue, i takt med at du gør browseren bredere.
  • Ressourceovervågning: CPU, RAM mod budget, diskskrivninger og netværk på ét diagram, med en advarsel ved lav disk.
  • Udbyder-rangliste. Serverne omsorterer sig selv efter live-ydelse og viser hver især sessions-bytes, forbindelsesantal, udnyttelse og pålidelighed.
  • Kø-håndtering: træk for at ændre rækkefølge, sæt prioritet og kategori inline, åbn en skuffe pr. download, pause optimistisk eller "pause i N minutter".
  • Alt kan konfigureres i browseren: servere (med live forbindelsestests), hastighed og tidsplan, forbindelser/vindue/decodere, disk og kvote, watch-mapper og scripts, indekserings-filtre, bibliotek, RSS og sikkerhed med nøgle-rotation. Indstillinger overlever genstarter.
  • Diagnostik indbygget: en logfremviser i UI'et, et system-benchmark, der finder dine lofter for netværk, beregning og disk og fortæller dig, hvad du skal gøre ved dem, analyseværktøjet for server-diversitet og forbindelsesstigen.
  • Dataforbrug: 14-dages stablede bjælker pr. udbyder, daglig historik og livstids-tællere for blok-konti.
  • 28 sprog. Dashboardet leveres fuldt lokaliseret, højre-mod-venstre-skrifter inklusive; manualen og dette websted findes på 16.
  • Bekvemmelighed. Træk og slip en .nzb hvor som helst, skrivebordsnotifikationer, fuldførelseslyde, en guide ved første kørsel og serve --open.

Udrulning