Ominaisuudet

Lyhyt versio ylhäällä, kaikki yksityiskohdat alla.

  • Liukuhihnoitettu NNTP linjanopeudella: 8.31 Gbps mitattu 10 GbE:llä.
  • Yhden läpimenon liukuhihna: dekoodaus, varmistus ja purku limittyvät; RAR-osat eivät koskaan kosketa levyä; sisäkkäiset arkistot puretaan samassa läpimenossa.
  • Monen palveluntarjoajan yhdistetty saatavuus: täydellinen palvelimiesi yhdistelmästä, tai keskeytä aikaisin.
  • Muistibudjetti: rajattu RAM, hallittu levylle valuminen, ei koskaan sivuta.
  • Kaatumisvarma jatko: artikkelitason journaali; tapa −9 kesken työn ja se jatkaa siitä, mihin jäi.
  • SABnzbd-yhteensopivat + NZBGet JSON-RPC -API:t: Sonarr/Radarr/nzb360/LunaSea toimivat muuttamatta.
  • Sisäänrakennettu indeksoija: skannaa ryhmät paikalliseen, haettavaan, Newznabia tarjoavaan indeksiin.
  • Julisteseinä: kuvitus, arvosanat, näyttelijät, jaksoruudukot; ei API-avaimia.
  • Seurantalistan automaattinappaus + laatupäivitykset: nappaa ensimmäisellä ilmestymisellä, päivitä tavoitelaatuun.
  • Yksi itsenäinen suoritettava tiedosto: par2 + RAR-purku upotettuina.

Moottori & nopeus

  • Liukuhihnoitettu NNTP. Kun useampi pyyntö pysyy lennossa yhteyttä kohti, se voittaa sekä edestakaisen viiveen että TCP:n ruuhkanhallintaikkunan kutistumisen. Mittauksissa etu peräkkäishakuun on +12%…+270%, ja noin 8 yhteyttä per palvelin riittää kyllästämään linjan.
  • SIMD-yEnc-dekoodaus (rapidyenc, NEON- ja AVX-ytimin) käy 4.95 GB/s per ydin, dekoodattuna paikan päällä sitä mukaa kun tavut saapuvat vastaanottopolulle.
  • Monen palvelimen jaettu jono. Palveluntarjoajat tasapainottuvat itse ~2%:n sisälle ilman viritystä. Kunkin todellista nopeutta seurataan, ja työn loppupää lähetetään duplikaattina, jottei yksi hidas palvelin pääse venyttämään työn loppua.
  • Töiden välinen liotus. Työn N loppupää limittyy työn N+1 alkuun, joten linja pysyy sytytettynä reunasta reunaan läpi koko jonon: 2% jouten tässä vs. SABnzbdin 61% pimeänä samassa vertailussa.
  • Hitaan työn vahtikoira. Yhdellä hitaalla palvelimella ryömivä lataus muiden ollessa jouten siirretään jonon perälle, edistyminen tallessa, ja jatkuu heti kun jono tyhjenee.
  • Jouten olevan palvelimen esihaku: palvelin, jota aktiivinen työ ei voi käyttää, koska sen artikkeleita ei ole siellä, aloittaa seuraavan jonossa olevan työn sen sijaan että jäisi jouten.
  • Yhteyksien viritysporras. Arvailun sijaan se mittaa, missä kohtaa kunkin palveluntarjoajan nopeus lakkaa nousemasta (pyydetyt vs. myönnetyt yhteydet) ja asettuu siihen.
  • Autonopeuden säädin: valinnainen LEDBAT-tyylinen RTT-säädin, joka väistää muun kotitaloutesi liikennettä ja ottaa linjasta sen, mitä jää.
  • Nopeusrajoitukset ja viikkoajastin: livenä säädettävät katot, paikallisajan (kesäaikaturvallinen) ajastus ja ”keskeytä N minuutiksi”, joka jatkaa itsestään.
  • Muistibudjetti. Yksi globaali RAM-budjetti (auto: neljännes RAMista, rajattu, ohitettavissa). Kun budjetti tiukkenee, ensin pienenevät puskurit, sitten data valuu levylle ja luetaan takaisin, kun työ tasaantuu. Se ei koskaan sivuta. 190 GB:n työ valmistuu 1 GB:n budjetin sisällä ~1.1 GB:n huippu-RSS:llä, ja NAS-laatikoille on mitattu ja dokumentoitu 2 GB:n profiili.
  • Vastapaine. Hidas levy kuristaa socketit sen sijaan, että antaisi RAMin täyttyä. Se pysyy ±1%:n sisällä kirjoituskatosta, ja RAM itse asiassa laskee paineen alla.
  • Työn jälkeinen muistin karsinta: heti jouten jäätyään daemon luovuttaa vapautetun muistin takaisin käyttöjärjestelmälle, pudoten noin 8 MB:iin töiden välillä macOS:llä.

Yhden läpimenon liukuhihna

  • Kirjoita kerran. Dekoodatut artikkelit kirjoitetaan (pwrite) suoraan lopullisiin tiedostosiirtymiinsä. Ei väliaikaistiedostoja, ei erillistä kokoamisvaihetta.
  • Virransisäinen PAR2-varmistus. Jokainen lohko MD5-tiivistetään dekoodauspuskureista sen saapuessa, joten varmistus valmistuu samalla hetkellä kuin lataus. Se päihittää pikatarkistuksen, johon muut asiakkaat tyytyvät, eikä maksa mitään.
  • Suora purku: store-tilan RAR-julkaisut (useimmat scene-julkaisut) kartoitetaan ja puretaan latauksen aikana, joten osat eivät koskaan päädy levylle. Levykirjoitukset ovat sisältö × 1.0 ja tarvittava levy 1×, siinä missä muut haluavat noin 2×.
  • Sisäkkäiset arkistot, ja syvyys ei juuri maksa mitään. Arkistot arkistojen sisällä - RAR RAR:in sisällä, 7z RAR:in sisällä, monen tason tikkaat - puretaan sitä mukaa kuin tavut saapuvat, sen saman ajon sisällä jonka jo teimme. Siinä on koko ero: asiakas joka kirjoittaa jokaisen kerroksen levylle, sulkee sen, avaa uudelleen ja lukee läpi, maksaa täyden ajon jokaisesta tasosta, joten jokainen taso alaspäin maksaa sille vielä yhden kierroksen levyn kautta. Meidän kerroksemme kulkevat mukana ensimmäisessä ajossa, ja hyötykuorma tulee ulos kymmenen tason tikkailta samalla tavalla kuin yhden tason. Yksi kopio levyllä siinä missä kirjoita-ja-lue-uudelleen pitää kahta tai kolmea.
  • Peittelyn purku. Peitellyt julkaisut nimetään uudelleen niiden PAR2-metatiedoista, ROT13-sekoitetut nimet pelastetaan, ja tiivistenimetty roska luokitellaan ja portitetaan pois.
  • Tarkalleen sopiva korjaus. Vioittuneet lohkot tunnetaan heti niiden sattuessa, joten haetaan vain minimitavumäärän verran palautusosia (reppuongelman ratkaisu) ja korjaus koskee vain vioittuneita alueita.
  • RAR-palautustietueet. Kun PAR2 on käytetty loppuun, tai sitä ei koskaan julkaistu, RAR-osiin upotetut palautustietueet korjaavat vioittuneet osat paikoillaan.
  • Korjaus joka syvyydellä. Sisemmän kerroksen sisään pakattu PAR2-sarja löydetään ja ajetaan omalla tasollaan, ja pelkät parit sisältävä julkaisu (data poistettu, jäljellä 100% palautuksen sarja) rakennetaan kokonaan uudelleen ja puretaan sitten.
  • Pakattu ja salattu varajärjestely: ei-store-julkaisut kirjoittuvat levylle ja puretaan natiivilla RAR-moottorilla, kaikki RAR4:stä uuteen RAR7:ään, muun jonon kanssa limitettynä. Salatut sarjat pysäköidään selkeällä viestillä sen sijaan, että ne kaatuisivat hiljaa.
  • Se etsii salasanan itse. Useimmat salatut postaukset eivät tarvitse sinua. Se kokeilee NZB:n omia metatietoja ja {{pw}}-nimeämiskäytäntöä, *arr-rajapintaa, sitten mitä tahansa lyhyttä tekstimuistiinpanoa tiedostojen vierestä, ja viimeisenä julkaisun ja tiedostojen omia nimiä. Se toistaa haun jokaisella tasolla: ketju, joka piilottaa kunkin kerroksen salasanan sen yläpuoliseen kerrokseen - eri salasana joka tasolla - aukeaa pohjaan asti ilman että kirjoitat mitään. Se mikä oikeasti jää jäljelle, hoituu koontinäytön 🔑-avauksella: se avaa taustalla ja arkistoi sitten normaalisti.
  • Turvakaiteet. Korjatut lähdeosat kirjoitussuojataan uudelleenpurun ajaksi, valmiin tiedoston oma tarkistussumma varmistetaan päästä päähän (oletuksena päällä), ja paluukoodi ilmoittaa ”onnistui” vain kun lopputila on aidosti käyttökelpoinen.

Luotettavuus & saatavuus

  • Ennakkosaatavuustarkistus. Liukuhihnoitetut STAT-pyyhkäisyt rakentavat artikkelikohtaisen × palvelinkohtaisen matriisin sekunneissa ja merkitsevät työn tilaan COMPLETE, REPAIRABLE tai IMPOSSIBLE ennen kuin tavuakaan sisältöä on haettu. Mahdoton julkaisu keskeytyy haettuaan tuskin mitään.
  • Yhdistetty reititys. Artikkeli lasketaan puuttuvaksi vasta kun jokainen elävä palvelin on kieltäytynyt siitä; siihen asti se reitittyy sille palvelimelle, jolla se on. Backbonet eroavat säilytyksessä ja poistoissa, joten yhdistelmä täydentää hiljaa julkaisut, joihin mikään yksittäinen palvelin ei pysty.
  • Kaatumisvarma journaali. Journaali toimii artikkelin tarkkuudella. Anna kill −9 kesken työn, ja se palaa hakien uudelleen vain sen, mitä ei ollut tallennettu; jono ja historia elävät uudelleenkäynnistysten yli.
  • Pysäköinti ja uudelleenyritys: epäonnistuneet työt pysäköidään historiaan, ja uudelleenyritys hakee vain yhä puuttuvat palaset.
  • Kaaostestattu. ValeNNTP-palvelin ajaa kymmenen päästä päähän -epäonnistumisskenaariota (430:t, korruptio, katkaisu, jumit, kuolleet palvelimet, kill −9) jokaisella testiajolla.
  • Palveluntarjoajan luotettavuuspisteytys. Palvelinkohtaisia täydellisyysasteita pidetään pysyvästi ja näytetään koontinäytöllä, varoituksin alle 98%:n.
  • Palvelinten monimuotoisuusanalysaattori. Se STAT-näytteistää palvelimiasi ja klusteroi ne niiden jakamien aukkojen mukaan, jotta näet, mitkä ”eri” palveluntarjoajat ovat oikeasti samaa backbonea, ennen kuin maksat redundanssista, jota sinulla ei todellisuudessa ole.
  • Kiintiöt, lohkotilit ja levyvahti: päivä- ja kuukausikiintiöt, elinaikaiset tavubudjetit lohkotileille (suljetaan automaattisesti pois, kun käytetty loppuun), vähän-tilaa-keskeytys ja palveluntarjoajakohtainen päivittäisen käytön historia.
  • Duplikaattitunnistus: dupekey ja dupescore, ja pidätetty vaihtoehto nostetaan automaattisesti heti kun nappaus epäonnistuu.
  • Säilytystietoinen reititys. Palvelimen säilytystä vanhemmat julkaisut ohittavat sen kokonaan, ja mitä mikään palvelin ei voi palvella, epäonnistuu heti pyörimisen sijaan.

Automaatio & integraatiot

  • SABnzbd-yhteensopiva API: koko se pinta, jota *arrit oikeasti käyttävät: addfile/addurl, kategoriat, prioriteetit, työkohtainen keskeytä/jatka, uudelleenyritys, sivutus, kaksitasoiset API-avaimet. Sonarr ja Radarr juttelevat sille kuin se olisi SABnzbd.
  • NZBGet JSON-RPC -julkisivu. nzb360, LunaSea ja muut NZBGet-kaukosäätimet yhdistävät muuttamatta.
  • Newznab-palvelin. Paikallinen indeksisi vastaa kyselyihin t=search/tvsearch/movie, joten *arrit voivat kohdella omia skannauksiasi indeksoijana.
  • RSS-automaattinappaus: indeksoijan syöte on sama asia, jota uutislukija tilaa, paitsi että se luettelee sen, mitä Usenetiin on juuri lähetetty. Kaikki suodattimiin osuva latautuu itsestään. Syötteet suodatettuina NZBGet-tyylisellä kielellä, lisättyinä ja muokattuina livenä koontinäytöltä.
  • Seurantalista. Nimeä haluamasi sarjat ja elokuvat, myös vielä esittämättömät. Jokainen jakso napataan heti sen ensiesiintymisellä ja päivitetään, kunnes se saavuttaa tavoitelaatusi (vaikkapa 720p → 1080p REMUX), ja korvattu kopio poistetaan vasta kun päivitys on varmistettu. Esityspäiväkalenteri näyttää, mitä on tulossa.
  • Valvontakansio. Pudota .nzb sisään ja se latautuu; tiedosto katoaa heti kun se on otettu.
  • Älykkäät kansiot: regex-, avainsana- ja kokosäännöt lajittelevat lataukset kategorioihin jo jonoon lisättäessä, ja valinnainen TV-arkistointi nimeää muotoon Show/Season NN/Show - S01E02.ext.
  • Siivoussäännöt: roskapäätteet poistetaan heti kun työ valmistuu.
  • Siirto NAS-asemalle: valmiit lataukset siirtyvät purun ja uudelleennimeämisen jälkeen kohdekansioon kategoriarakenne säilyttäen, ja kohteet kategorioittain voivat ohjata sarjat ja elokuvat eri jakoihin. Jos jako ei ole tavoitettavissa, tiedostot jäävät paikoilleen.
  • Jälkikäsittelykomentosarjat. Ne noudattavat SABnzbdin SAB_*-ympäristösopimusta, joten jo olemassa olevat komentosarjasi toimivat sellaisenaan.
  • Yhden napsautuksen migraatio. Se tuo palvelimet SABnzbd-ini- tai NZBGet-conf-tiedostosta, ja lukee sabnzbd.ini-tiedoston suoraan, jos vain sen löytää.
  • Spotnet-sisäänotto: spot-allekirjoitusten varmistus ja NZB-synteesi, sisäänrakennettuina.

Esikatselu & kirjasto

Koontinäyttö & asetukset

Jono latauskohtaisella tietolaatikolla: tiedostokohtaiset edistymispalkit, varmistuslohkot, palvelinkohtainen osuus
Jonolaatikko: tiedostokohtaiset palkit, varmistuslohkot, palvelinkohtainen osuus.
Asetukset: palvelineditori ja live-nopeuden/ajastuksen hallinta
Jokainen asetus muokattavissa selaimessa. Useimmat astuvat voimaan livenä.
Koontinäytön puhelinasettelu
Kunnollinen puhelinasettelu, sama daemon.
  • Live-kaaviot, ei kirjastoja. Kaikki kysellään kerran sekunnissa (nopeusalue, palveluntarjoajakohtainen pinottu alue, varmistuksen tila -aikajana, jonon burn-down ja nopeushistogrammi) ja kaaviot levittävät aikaikkunaansa sitä mukaa kun levennät selainta.
  • Resurssimonitori: CPU, RAM budjettia vasten, levylle kirjoitukset ja verkko yhdellä kaaviolla, vähän-tilaa-varoituksin.
  • Palveluntarjoajien tulostaulu. Palvelimet järjestyvät itse uudelleen live-suorituskyvyn mukaan, ja kukin näyttää istuntotavut, yhteysmäärän, käyttöasteen ja luotettavuuden.
  • Jonon hallinta: raahaa järjestääksesi uudelleen, aseta prioriteetti ja kategoria rivin sisällä, avaa latauskohtainen laatikko, keskeytä optimistisesti tai ”keskeytä N minuutiksi”.
  • Kaikki on määritettävissä selaimessa: palvelimet (live-yhteystesteineen), nopeus ja ajastus, yhteydet/ikkuna/dekooderit, levy ja kiintiö, valvontakansiot ja komentosarjat, indeksoinnin portit, kirjasto, RSS sekä suojaus avaimen vaihdolla. Asetukset säilyvät uudelleenkäynnistysten yli.
  • Diagnostiikka sisäänrakennettuna: käyttöliittymän sisäinen lokinkatselin, järjestelmän mittaus, joka löytää verkon, laskennan ja levyn katot ja kertoo, mitä niille tehdä, palvelinten monimuotoisuusanalysaattori ja yhteysporras.
  • Datan käyttö: 14 päivän pinotut palveluntarjoajakohtaiset palkit, päivittäinen historia ja elinaikaiset laskurit lohkotileille.
  • 28 kieltä. Koontinäyttö toimitetaan täysin lokalisoituna, oikealta vasemmalle kirjoitettavat kielet mukaan lukien; manuaali ja tämä sivusto ovat saatavilla 16:lla.
  • Käytön mukavuus. Raahaa ja pudota .nzb minne tahansa, työpöytäilmoitukset, valmistumisäänet, ensikäynnistysvelho ja serve --open.

Käyttöönotto