ویژگی‌ها

نسخهٔ کوتاه در بالا، جزئیات کامل در پایین.

  • NNTP خط‌لوله‌ای با نرخ خط: 8.31 Gbps سنجیده‌شده روی 10 GbE.
  • خط پردازش تک‌گذر: رمزگشایی، تأیید و استخراج هم‌پوشانی دارند؛ جلدهای RAR هرگز به دیسک نمی‌رسند؛ آرشیوهای تودرتو در همان گذر باز می‌شوند.
  • موجودیت اتحادی چند-ارائه‌دهنده: کامل از اتحاد سرورهایتان، یا لغو زودهنگام.
  • بودجهٔ حافظه: RAM کران‌دار، سرریز ملایم، هرگز swap نمی‌کند.
  • ازسرگیری ایمن در برابر خرابی: ژورنال در سطح مقاله؛ در میانهٔ کار kill −9 کنید و از همان‌جا که مانده بود ادامه می‌دهد.
  • API سازگار با SABnzbd + JSON-RPC NZBGet: Sonarr/Radarr/nzb360/LunaSea بدون تغییر کار می‌کنند.
  • ایندکسر داخلی: گروه‌ها را به یک ایندکس محلی، قابل‌جست‌وجو و سرو‌کنندهٔ Newznab اسکن می‌کند.
  • دیوار پوستر: تصاویر، امتیازها، بازیگران، شبکه‌های قسمت؛ بدون هیچ کلید API.
  • گرفتن خودکار فهرست پیگیری + ارتقای کیفیت: در اولین ظهور بگیر، تا کیفیت هدف ارتقا بده.
  • یک فایل اجرایی خودکفای واحد: par2 + باز کردن RAR تعبیه‌شده.

موتور و سرعت

  • NNTP خط‌لوله‌ای. نگه‌داشتن چند درخواست در جریان به‌ازای هر اتصال، هم تأخیر رفت‌وبرگشت و هم تحلیل پنجرهٔ ازدحام TCP را شکست می‌دهد. ما جایی بین +12% تا +270% نسبت به واکشی سریالی می‌سنجیم، و حدود 8 اتصال به‌ازای هر سرور برای اشباع خط کافی است.
  • رمزگشایی yEnc با SIMD (rapidyenc، هسته‌های NEON/AVX) با 4.95 GB/s به‌ازای هر هسته کار می‌کند و همان‌جا در مسیر دریافت، به‌محض رسیدن بایت‌ها، رمزگشایی می‌شود.
  • صف مشترک چند-سرور. ارائه‌دهنده‌ها بدون هیچ تنظیمی خود را تا ~2% متعادل می‌کنند. نرخ واقعی هرکدام دنبال می‌شود و دنبالهٔ هر کار دوتایی ارسال می‌شود تا یک سرور کندِ تنها نتواند پایان کار را کش بدهد.
  • خیساندن میان-کاری. دنبالهٔ کار N با آغاز کار N+1 هم‌پوشانی دارد، پس خط در سراسر یک صف از لبه تا لبه روشن می‌ماند: اینجا 2% بیکاری در برابر 61% خاموشی SABnzbd در همان محک.
  • سگ نگهبان کار کند. دانلودی که روی یک سرور کند می‌خزد در حالی که بقیه بیکار نشسته‌اند به انتهای صف رانده می‌شود، پیشرفتش حفظ می‌شود، و به‌محض خلوت شدن صف از سر گرفته می‌شود.
  • پیش‌واکشی سرور بیکار: سروری که کار فعال نمی‌تواند از آن استفاده کند، چون مقاله‌هایش آنجا ذخیره نشده، به‌جای بیکار نشستن روی کار بعدیِ صف شروع می‌کند.
  • نردبان تنظیم اتصال. به‌جای حدس زدن، می‌سنجد که توان عبوری هر ارائه‌دهنده واقعاً کجا از بالا رفتن بازمی‌ماند (اتصال‌های خواسته‌شده در برابر داده‌شده) و همان‌جا می‌نشیند.
  • حاکم سرعت خودکار: یک حاکم RTT اختیاری به‌سبک LEDBAT که به بقیهٔ ترافیک خانهٔ شما راه می‌دهد و آنچه از خط باقی می‌ماند را برمی‌دارد.
  • محدودیت سرعت و زمان‌بند هفتگی: سقف‌های قابل‌تنظیم زنده، یک زمان‌بندی به وقت محلی (امن نسبت به DST)، و یک «مکث برای N دقیقه» که خودش از سر می‌گیرد.
  • بودجهٔ حافظه. یک بودجهٔ سراسری RAM (خودکار: یک‌چهارم RAM، سقف‌دار و قابل بازنویسی). با تنگ شدن بودجه، اول بافرها کوچک می‌شوند، سپس داده به دیسک سرریز می‌کند و پس از آرام گرفتن کار بازخوانده می‌شود. هرگز swap نمی‌کند. یک کار 190 GB درون بودجهٔ 1 GB و با ~1.1 GB اوج RSS تمام می‌شود، و یک نمای 2 GB سنجیده و مستند برای دستگاه‌های NAS هست.
  • فشار برگشتی. یک دیسک کند به‌جای اینکه بگذارد RAM پر شود، سوکت‌ها را کند می‌کند. درون ±1% از یک سقف نوشتن می‌ماند، و RAM زیر فشار در واقع افت می‌کند.
  • کاهش حافظه پس از کار: دیمن به‌محض بیکار شدن حافظهٔ آزادشده را به سیستم‌عامل بازمی‌گرداند و روی macOS بین کارها به حدود 8 MB می‌رسد.

خط پردازش تک‌گذر

  • یک‌بار نوشتن. مقاله‌های رمزگشایی‌شده مستقیماً در آفست‌های نهایی فایل‌شان pwrite می‌شوند. بدون فایل موقت، بدون یک گذر مونتاژ جداگانه.
  • تأیید PAR2 در جریان. هر بلوک به‌محض رسیدن از بافرهای رمزگشایی با MD5 هش می‌شود، پس تأیید همان لحظه‌ای تمام می‌شود که دانلود تمام می‌شود. این از بررسی سریعی که کلاینت‌های دیگر به آن بسنده می‌کنند قوی‌تر است، و هیچ هزینه‌ای ندارد.
  • استخراج مستقیم: پست‌های RAR حالت-ذخیره (بیشتر ریلیزهای scene) حین دانلود نگاشت و استخراج می‌شوند، پس جلدها اصلاً روی دیسک فرود نمی‌آیند. نوشتن روی دیسک به محتوا × 1.0 می‌رسد و دیسک موردنیاز به 1×، جایی که دیگران چیزی حدود 2× می‌خواهند.
  • آرشیوهای تودرتو، و عمق تقریباً هیچ هزینه‌ای ندارد. آرشیوهای درون آرشیوها - ‏RAR در RAR، ‏7z درون یک RAR، نردبان‌هایی به عمق چندین سطح - همان‌طور که بایت‌ها می‌رسند و در دل همان گذری که پیش‌تر انجام می‌دادیم، از تودرتویی درمی‌آیند. تمام تفاوت همین‌جاست: کلاینتی که هر لایه را روی دیسک می‌نویسد، می‌بندد، دوباره باز می‌کند و از نو می‌خواند، برای هر سطح یک گذر کامل می‌پردازد، پس هر لایه که پایین‌تر می‌رود یک رفت‌وبرگشت دیگر روی دیسک برایش هزینه دارد. لایه‌های ما در همان گذر نخست سوار می‌شوند، و محتوا از نردبانی ده‌سطحی همان‌گونه بیرون می‌آید که از نردبانی یک‌سطحی. یک نسخه روی دیسک، آنجا که روش نوشتن-و-بازخوانی دو یا سه نسخه نگه می‌دارد.
  • ابهام‌زدایی. پست‌های مبهم از روی فرادادهٔ PAR2 خودشان تغییرنام می‌یابند، نام‌های به‌هم‌ریختهٔ ROT13 نجات داده می‌شوند، و آشغالِ با نام هش دسته‌بندی و دروازه‌بندی می‌شود.
  • تعمیر دقیقاً-جامتناسب. بلوک‌های خراب همان لحظه که رخ می‌دهند شناخته می‌شوند، پس فقط مجموعهٔ کمینه-بایت از جلدهای بازیابی واکشی می‌شود (یک حل کوله‌پشتی) و تعمیر جز بازه‌های خراب به چیزی دست نمی‌زند.
  • رکوردهای بازیابی RAR. وقتی PAR2 ته می‌کشد، یا اصلاً پست نشده باشد، رکوردهای بازیابی RAR تعبیه‌شده جلدهای خراب را درجا تعمیر می‌کنند.
  • تعمیر در هر عمقی. مجموعهٔ PAR2 بسته‌بندی‌شده در یک لایهٔ درونی پیدا و در همان سطح خودش اجرا می‌شود، و یک پست فقط-par (داده‌ها حذف‌شده، یک مجموعهٔ بازیابی 100% به‌جا مانده) یک‌جا بازسازی و سپس باز می‌شود.
  • جایگزین فشرده و رمزگذاری‌شده: پست‌های غیر-ذخیره از طریق موتور بومی RAR، هر چیزی از RAR4 تا RAR7 جدید، مادی و باز می‌شوند، هم‌پوشان با بقیهٔ صف. مجموعه‌های رمزگذاری‌شده به‌جای شکست خاموش، با یک پیام روشن پارک می‌شوند.
  • خودش دنبال گذرواژه می‌گردد. بیشتر پست‌های رمزگذاری‌شده به شما نیازی ندارند. ابتدا فراداده‌های خود NZB و قرارداد نام‌گذاری {{pw}}، سپس API ابزارهای *arr، بعد هر یادداشت متنی کوتاهی که کنار فایل‌ها منتشر شده، و در نهایت نام ریلیز و خود فایل‌ها را امتحان می‌کند. این جست‌وجو را در هر سطح تکرار می‌کند: زنجیره‌ای که گذرواژهٔ هر لایه را در لایهٔ بالاتر پنهان می‌کند - گذرواژه‌ای متفاوت در هر سطح - تا انتها باز می‌شود بی‌آنکه چیزی تایپ کنید. آنچه واقعاً باقی بماند با بازگشایی 🔑 در داشبورد حل می‌شود: در پس‌زمینه باز می‌کند و بعد مثل همیشه بایگانی می‌کند.
  • ریل‌های ایمنی. جلدهای منبعِ تعمیرشده تا وقتی استخراج مجدد اجرا می‌شود در برابر نوشتن محافظت می‌شوند، چک‌سام خودِ فایل نهایی سرتاسری تأیید می‌شود (به‌طور پیش‌فرض روشن)، و یک کد خروج تنها زمانی «موفقیت» گزارش می‌دهد که حالت پایانی واقعاً قابل‌استفاده باشد.

پایایی و موجودیت

  • بررسی موجودیت پیش‌پرواز. روبش‌های STAT خط‌لوله‌ای ظرف چند ثانیه یک ماتریس هر-مقاله × هر-سرور می‌سازند و کار را پیش از آنکه حتی یک بایت محتوا واکشی شود COMPLETE، REPAIRABLE یا IMPOSSIBLE علامت می‌زنند. یک پست ناممکن با واکشی تقریباً هیچ‌چیز لغو می‌شود.
  • مسیریابی اتحادی. یک مقاله تنها زمانی گم به‌شمار می‌آید که هر سرور زنده آن را رد کرده باشد؛ تا آن زمان به هر سروری که آن را دارد مسیریابی می‌شود. ستون‌های فقرات در نگهداری و برداشت‌ها با هم فرق دارند، پس اتحاد بی‌سروصدا پست‌هایی را کامل می‌کند که هیچ سرور تنهایی نمی‌توانست.
  • ژورنال ایمن در برابر خرابی. ژورنال در سطح مقاله کار می‌کند. در میانهٔ کار یک kill −9 بفرستید و بازمی‌گردد و فقط آنچه را ماندگار نشده بود دوباره واکشی می‌کند؛ صف و تاریخچه از راه‌اندازی‌های مجدد جان به در می‌برند.
  • پارک و تلاش مجدد: کارهای ناموفق در تاریخچه پارک می‌شوند، و یک تلاش مجدد فقط تکه‌هایی را که هنوز گم‌اند می‌کشد.
  • آزموده با آشوب. یک سرور ساختگی NNTP در هر تک اجرای آزمون، ده سناریوی شکست سرتاسری را می‌راند: 430ها، خرابی، بریدگی، توقف‌ها، سرورهای مرده، kill −9.
  • امتیازدهی پایایی ارائه‌دهنده. نرخ کامل بودن هر سرور برای همیشه نگه داشته و در داشبورد نشان داده می‌شود، با هشداری زیر 98%.
  • تحلیل‌گر تنوع سرورها. در سراسر سرورهای شما با STAT نمونه‌برداری می‌کند و آن‌ها را بر پایهٔ شکاف‌های مشترکشان خوشه‌بندی می‌کند، تا بتوانید بگویید کدام ارائه‌دهنده‌های «متفاوت» واقعاً همان ستون فقرات‌اند، پیش از آنکه بابت افزونگی‌ای که در عمل ندارید بپردازید.
  • سهمیه‌ها، حساب‌های بلوکی و نگهبان دیسک: سهمیه‌های روزانه و ماهانه، بودجه‌های بایت مادام‌العمر برای حساب‌های بلوکی (به‌محض تمام شدن خودکار کنار گذاشته می‌شوند)، مکث کمبود دیسک، و تاریخچهٔ مصرف روزانهٔ هر ارائه‌دهنده.
  • تشخیص تکراری: dupekey و dupescore، با یک جایگزینِ نگه‌داشته‌شده که همان لحظه که یک گرفتن شکست می‌خورد خودکار ارتقا می‌یابد.
  • مسیریابی آگاه از نگهداری. پست‌های قدیمی‌تر از نگهداری یک سرور به‌کلی از آن رد می‌شوند، و هر چیزی که هیچ سروری نتواند سرو کند به‌جای چرخیدن بی‌درنگ شکست می‌خورد.

خودکارسازی و یکپارچه‌سازی‌ها

  • API سازگار با SABnzbd: کل سطحی که *arrها واقعاً استفاده می‌کنند: addfile/addurl، دسته‌ها، اولویت‌ها، مکث/ازسرگیری هر کار، تلاش مجدد، صفحه‌بندی، کلیدهای API دولایه. Sonarr و Radarr چنان با آن حرف می‌زنند که گویی SABnzbd است.
  • نمای JSON-RPC NZBGet. nzb360، LunaSea و دیگر کنترل‌های راه دور NZBGet بدون تغییر متصل می‌شوند.
  • سرور Newznab. ایندکس محلی شما به t=search/tvsearch/movie پاسخ می‌دهد، پس *arrها می‌توانند اسکن‌های خودتان را همچون یک ایندکسر ببینند.
  • گرفتن خودکار RSS: فید یک ایندکسر همان چیزی است که یک خبرخوان مشترکش می‌شود، با این تفاوت که فهرست می‌کند چه چیزی همین حالا روی یوزنت منتشر شده است. هر چه با فیلترها بخواند خودبه‌خود دانلود می‌شود. فیدهایی که با یک زبان به‌سبک NZBGet فیلتر می‌شوند، به‌صورت زنده از داشبورد افزوده و ویرایش می‌شوند.
  • فهرست پیگیری. سریال‌ها و فیلم‌هایی را که می‌خواهید نام ببرید، حتی آن‌هایی که هنوز پخش نشده‌اند. هر قسمت در اولین ظهورش گرفته می‌شود و تا رسیدن به کیفیت هدف شما (مثلاً 720p ← 1080p REMUX) ارتقا می‌یابد، و نسخهٔ جایگزین‌شده تنها پس از آنکه ارتقا تأیید شد حذف می‌شود. یک تقویم تاریخ پخش نشان می‌دهد چه چیزی در راه است.
  • پوشهٔ پایش. یک ‎.nzb داخلش رها کنید تا دانلود شود؛ فایل به‌محض اینکه گرفته شد ناپدید می‌شود.
  • پوشه‌های هوشمند: قواعد عبارت‌باقاعده، کلیدواژه و اندازه، دانلودها را هنگام به‌صف‌رفتن به دسته‌ها مرتب می‌کنند، با بایگانی اختیاری TV به Show/Season NN/Show - S01E02.ext.
  • قواعد پاک‌سازی: پسوندهای آشغال به‌محض تمام شدن یک کار حذف می‌شوند.
  • انتقال به NAS: دانلودهای تمام‌شده پس از باز کردن و تغییر نام، با حفظ چیدمان دسته‌ها به یک پوشهٔ مقصد منتقل می‌شوند و مقصدها به‌ازای هر دسته می‌توانند سریال‌ها و فیلم‌ها را به اشتراک‌های جداگانه بفرستند. اگر اشتراک در دسترس نباشد، فایل‌ها سر جای خود می‌مانند.
  • اسکریپت‌های پس‌پردازش. این‌ها قرارداد محیطیِ SAB_* از SABnzbd را رعایت می‌کنند، پس همان اسکریپت‌هایی که از قبل دارید بی‌کم‌وکاست اجرا می‌شوند.
  • مهاجرت یک‌کلیکی. سرورها را از یک ini از SABnzbd یا یک conf از NZBGet وارد می‌کند، و اگر تنها همان را بیابد sabnzbd.ini را مستقیم می‌خواند.
  • دریافت Spotnet: تأیید امضای spot و ساخت NZB، درست همان‌جا درون‌ساخت.

پیش‌نمایش و کتابخانه

داشبورد و تنظیمات

صف با کشوی جزئیات هر دانلود: نوارهای پیشرفت هر فایل، بلوک‌های تأیید، سهم هر سرور
کشوی صف: میله‌های هر فایل، بلوک‌های تأیید، سهم هر سرور.
تنظیمات: ویرایشگر سرور و کنترل‌های زندهٔ سرعت/زمان‌بندی
هر تنظیم در مرورگر قابل ویرایش. بیشترشان زنده اعمال می‌شوند.
چیدمان گوشی داشبورد
چیدمان گوشی درست‌وحسابی، همان دیمن.
  • نمودارهای زنده، بدون کتابخانه. همه‌چیز یک بار در ثانیه نمونه‌گیری می‌شود (یک ناحیهٔ توان عبوری، ناحیهٔ انباشتهٔ هر ارائه‌دهنده، یک خط‌زمان سلامت‌تأیید، سوختن صف، یک هیستوگرام سرعت) و نمودارها هرچه مرورگر را پهن‌تر کنید پنجرهٔ زمانی‌شان را پهن‌تر می‌کنند.
  • پایشگر منابع: پردازنده، RAM در برابر بودجه، نوشتن دیسک و شبکه روی یک نمودار واحد، با یک هشدار کمبود دیسک.
  • جدول رتبه‌بندی ارائه‌دهنده. سرورها خودشان را بر اساس کارایی زنده دوباره مرتب می‌کنند، و هرکدام بایت‌های نشست، شمار اتصال، بهره‌وری و پایایی را نشان می‌دهد.
  • مدیریت صف: بکشید تا ترتیب عوض شود، اولویت و دسته را درجا تنظیم کنید، یک کشوی جزئیات هر دانلود باز کنید، خوش‌بینانه مکث کنید، یا «مکث برای N دقیقه».
  • همه‌چیز در مرورگر قابل تنظیم است: سرورها (با آزمون‌های اتصال زنده)، سرعت و زمان‌بندی، اتصال‌ها/پنجره/رمزگشاها، دیسک و سهمیه، پوشه‌های پایش و اسکریپت‌ها، دروازه‌های ایندکس‌گذاری، کتابخانه، RSS، و امنیت با چرخش کلید. تنظیمات از راه‌اندازی مجدد جان به در می‌برند.
  • عیب‌یابی درون‌ساخت: یک نمایشگر گزارش درون‌رابط، یک محک سیستم که سقف‌های شبکه، پردازش و دیسک شما را می‌یابد و می‌گوید با آن‌ها چه کنید، تحلیل‌گر تنوع سرورها، و نردبان اتصال.
  • مصرف داده: میله‌های انباشتهٔ 14-روزهٔ هر ارائه‌دهنده، تاریخچهٔ روزانه، و شمارنده‌های مادام‌العمر برای حساب‌های بلوکی.
  • 28 زبان. داشبورد کاملاً بومی‌سازی‌شده عرضه می‌شود، از جمله خط‌های راست-به-چپ؛ راهنما و این سایت به 16 زبان‌اند.
  • کیفیت زندگی. کشیدن و رها کردن یک ‎.nzb در هرجا، اعلان‌های دسکتاپ، صداهای اتمام، یک جادوگر اولین اجرا، و serve --open.

استقرار