⚡ nzbfast
دانلودر سریع Usenet - راهنمای کاربر
1 · خوشآمدید
nzbfast از Usenet به همان سرعتی که خط، ارائهدهندهها و ماشین شما اجازه میدهند دانلود میکند - و معمولاً یعنی بهسرعت خط شما. این یک برنامهٔ واحد و خودکفاست: موتور، یک داشبورد وب، مرورگر رسانهٔ دیوار پوستر، یک ایندکسر داخلی، پیشنمایش بیدرنگ، تعمیر بومی PAR2 و استخراج بومی RAR همگی درون یک فایل اجرایی هستند. چیز دیگری برای نصب نیست.
آنچه آن را سریع میکند معماری است، نه دستکاریهای جزئی:
- NNTP خطلولهای - درخواستهای مقالهٔ فراوان پشتسرهم روی هر اتصال سوار میشوند و بهجای انتظار برای رفتوبرگشتها، هر اتصال را با سرعت کامل نگه میدارند.
- یک خط پردازش تکگذر - دانلود، تأیید و استخراج همپوشانی دارند. جلدهای آرشیو در جریان استخراج میشوند؛ در یک پست معمولی حالت-ذخیره، فایلهای RAR هرگز به دیسک شما نمیرسند، پس کار به 1× اندازهٔ ریلیز نیاز دارد، نه 2×، و همزمان با پایان دانلود تمام میشود.
- اتحاد چند-ارائهدهنده - هر سرور پیکربندیشده سهم میگذارد؛ مقالهای که روی یک ستون فقرات نیست از دیگری واکشی میشود. سرورهای کند یا مرده هرگز صف را متوقف نمیکنند.
- یک بودجهٔ حافظه - موتور خود را با سهمیهٔ کراندار RAM وفق میدهد و در صورت نیاز به دیسک تنزل میکند. هرگز ماشین شما را به swap نمیاندازد.
در سنجش برابر با رقبا روی سختافزار، کارها و ارائهدهندههای یکسان، nzbfast یک دانلود 190 GB را در حدود 5 دقیقه روی یک خط 10 GbE به پایان رسانده - در حالی که گزینههای پیشرو در همان آزمونها 30–220% عقب بودند، آنهم جایی که اصلاً توانستند تمامش کنند. ارقام در §3 هستند.
2 · شروع سریع
macOS
nzbfast-<version>-macos.dmgرا باز کنید و NzbFast را به Applications بکشید (یونیورسال: Apple Silicon + Intel).- اولین اجرا: macOS هشدار میدهد که nzbfast هنوز توسط Apple تأیید محضری (notarize) نشده است. روی اپ کلیک راست کنید → Open - یا System Settings → Privacy & Security را باز کنید، پایین بروید و Open Anyway را بزنید. این یک گام یکباره است.
- پنجرهٔ اپ داشبورد را با یک کارت خوشامد نشان میدهد - رویش کلیک کنید و دستکم یک سرور Usenet اضافه کنید (میزبان، پورت 563، نام کاربری، رمز عبور). بعداً میتوانید در تنظیمات موارد بیشتری اضافه کنید.
- یک
.nzbرا هرجای داشبورد رها کنید - یا فقط روی فایلهای.nzbدر Finder دوبار کلیک کنید. دانلودها در~/Downloads/nzbfastفرود میآیند. از منو خارج شوید؛ دانلودها از همانجا که رها شدهاند ادامه مییابند.
اپ نمیخواهید؟ زیپ ساده (باینری +
راهانداز Start nzbfast.command، همان موتور) هنوز مثل قبل کار میکند -
گامها پایینتر زیر «از ترمینال».
Windows
nzbfast-<version>-windows-x64-setup.exeرا اجرا کنید. فقط برای کاربر شما نصب میشود (بدون رمز عبور مدیر). چون این نسخه هنوز امضای کد ندارد، ممکن است SmartScreen پیام «Windows protected your PC» را نشان دهد - More info → Run anyway را بزنید.- nzbfast در سینی سیستم زندگی میکند: روی نماد سینی دوبار کلیک کنید (یا از منوی کلیکراست آن Open Dashboard را بزنید) تا داشبورد باز شود، سپس سرور Usenet خود را از کارت خوشامد اضافه کنید. منوی سینی همچنین مکث/ازسرگیری، پوشهٔ دانلودها و خروج دارد.
- دوبار کلیک روی یک فایل
.nzbآن را به صف میافزاید. ممکن است Windows Defender یکبار برای اجازهٔ شنود شبکهٔ محلی بپرسد - اجازه دهید.
یک نسخهٔ قابل حمل میخواهید؟ -windows-x64.zip هنوز کار میکند: هرجا
اکسترکت کنید و برای جادوگر ترمینال روی nzbfast.exe (یا Start nzbfast.bat)
دوبار کلیک کنید.
از ترمینال (هر پلتفرمی)
nzbfast setup # interactive server setup (writes config.local.json)
nzbfast serve --open # start the daemon and open the dashboard
nzbfast import-sab
هست.کارت خوشامد همچنین میپرسد چطور میخواهید از nzbfast استفاده کنید، با چهار پاسخ: برنامهای مانند Sonarr یا Radarr آن را میراند، مهاجرت از SABnzbd، مهاجرت از NZBGet، یا فقط خودتان، از همین داشبورد. انتخاب یکی بهخودیخود چیزی را تغییر نمیدهد. فهرست بازبینی کوتاهی نشان میدهد - هر پیشنهاد با نام خودِ تنظیم، مقدار فعلیاش، مقدار پیشنهادی و یک خط چرایی - و اعمال فقط ردیفهایی را تنظیم میکند که تیک زدهاید. هر ردیف یک تنظیم معمولی است که بعداً میتوانید جداگانه برگردانید، و همان فهرست بعدها هم زیر تنظیمات → تنظیمات پیشنهادی برای نحوهٔ استفادهٔ شما در دسترس میماند.
کلید API شما
روی یک نصب واقعاً تازه، nzbfast نخستین باری که دیمن بالا میآید برای خود یک کلید API میسازد و آن را یک بار در بنری درست زیر نشانی داشبورد چاپ میکند. از آن پس هر درخواستی به آن کلید نیاز دارد، پس داشبورد و API به روی هر چیزی که به ماشین میرسد باز نیستند.
اینکه با آن چه میکنید بستگی دارد به اینکه nzbfast را چگونه راه انداختهاید:
- اپ macOS، سینی Windows، یا
serve --open: هیچ. کلید را به پنجرهٔ مرورگری که باز میکنند میدهند، داشبورد آن را به یاد میسپارد و شما از پیش وارد شدهاید. - مرورگری که خودتان باز کردهاید، یا داشبورد روی گوشی یا رایانهای دیگر: صفحه یک بار کلید را میپرسد و پس از آن به یادش میسپارد.
- Sonarr، Radarr، nzb360 و دوستان: آن را بهعنوان کلید SABnzbd یا NZBGet آنها بچسبانید (§11، §12).
کلید در فایلی به نام apikey کنار فایل config شما نگه داشته
میشود، پس در راهاندازیهای مجدد همان میماند و هر وقت لازم شد میتوانید
دوباره بخوانیدش. روی macOS و Linux آن فایل تنها برای حسابی که nzbfast را
اجرا میکند خواندنی است. در خروجی خودِ دیمن هم هست، پس اگر ترمینال اسکرول
شده باشد کارت گزارش داشبورد آن را دارد.
برای استفاده از کلید خودتان بهجای آن، آن را در تنظیمات → امنیت تایپ کنید؛
بیدرنگ اعمال میشود. آن پنل کلید را عوض میکند اما هرگز کلید فعلی را نشان
نمیدهد، پس اگر مقدار ساختهشده را میخواهید فایل apikey را
بخوانید. برای اجرا بدون هیچ کلیدی، چون چیزی جلوی nzbfast از پیش ورود را
مدیریت میکند، آن را با NZBFAST_OPEN=1 در محیط اجرا کنید. آنگاه
nzbfast باز میماند و هنگام شروع صریح میگوید.
اینکه اصلاً کدام ماشینها میتوانند به دیمن برسند انتخابی جداست:
serve --bind. پیشفرض 0.0.0.0 است، یعنی هر رابط
شبکه، چون یک جعبهٔ NAS، یک گوشی، و یک Sonarr روی رایانهای دیگر همه باید
بتوانند وصل شوند. --bind 127.0.0.1 آن را به ماشینی که nzbfast
روی آن اجرا میشود محدود میکند، و همین است آنچه روی یک دسکتاپ تنها که
چیز دیگری به دسترسی نیاز ندارد میخواهید.
3 · nzbfast چگونه کار میکند
یک واژهنامهٔ سریع تا بقیهٔ راهنما راحت خوانده شود:
| اصطلاح | معنا |
|---|---|
| ارائهدهنده / سرور | یک سرویس Usenet که با آن حساب دارید (Newshosting، Eweka، XS News…). هرکدام تعدادی اتصال همزمان اجازه میدهند. |
| ستون فقرات | زیرساخت پشت یک ارائهدهنده. چند برند اغلب همان ستون فقرات را بازفروش میکنند - دانستنش مفید است، چون دو ارائهدهنده روی یک ستون فقرات همان مقالهها را کم دارند. تنوع سرورها را ببینید. |
| NZB | یک فایل XML کوچک که مقالههای سازندهٔ یک پست را فهرست میکند. این همان چیزی است که به nzbfast میدهید. |
| PAR2 | دادهٔ بازیابی که همراه یک ریلیز پست میشود. nzbfast حین دانلود در برابر آن تأیید میکند و هنگام خراب یا گم بودن مقالهها خودکار تعمیر میکند. |
| RAR حالت-ذخیره | بیشتر ریلیزها بدون فشردهسازی در جلدهای RAR بستهبندی میشوند. nzbfast این را تشخیص میدهد و فایل درونی را حین دانلود مستقیماً در مکان نهاییاش مینویسد - بدون گام باز کردن پس از آن. |
خط پردازش، دانلود ← رمزگشایی ← تأیید ← استخراج را همزمان اجرا میکند. کارت خط پردازش در داشبورد هر سه خط را در حال حرکت همزمان نشان میدهد. وقتی آخرین بایت میرسد، تأیید همین حالا انجام شده و فایل همین حالا استخراج شده است؛ زمان «پسپردازش» یک کار معمولی صفر است. اگر تعمیر لازم باشد، تنها آنگاه جلدها روی دیسک مادی میشوند، در جای خود توسط موتور بومی GF(2¹⁶) تعمیر میشوند (دادهٔ مبهمشدهٔ تغییرنامیافته یا بایتشیفتشده با یک اسکن بلوکی لغزان پیدا و پذیرفته میشود) و دوباره استخراج میشوند - همه خودکار.
دانلودهای قطعشده (خرابی، قطع برق، kill -9) از ژورنال مقاله از سر گرفته میشوند: بایتهایی که از قبل روی دیسکاند هرگز دوبار واکشی نمیشوند. ژورنال ثبت میکند بایتهای هر مقاله فیزیکی کجا فرود آمدهاند - حتی بایتهایی که مستقیماً در فایل نهایی استخراج شدهاند - پس یک ازسرگیری از دیسک محلی بازسازی میکند و هر آنچه را بازیابی کرده پیش از اعتماد، در برابر نقشهٔ بلوک PAR2 دوباره تأیید میکند.
این چگونه مقایسه میشود
در سنجش برابر SABnzbd 5.0.4 و NZBGet 26.2 روی همان ماشین، همان ارائهدهندهها و همان NZBها، زمانگرفته تا یک فایل قابلاستفاده - دانلود، تأیید، تعمیر و استخراج همگی شامل، چون واقعاً آنوقت است که کار تمام میشود:
| اندازهٔ کار | 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% |
این فاصله همان پسپردازشی است که دیگران هنوز پس از فرود آخرین بایت باید انجام دهند. هر دو رقیب برای این مقایسه تنظیم شدند، نه روی پیشفرضها رها - بهویژه SABnzbd با خطلولهسازی درخواست خاموش عرضه میشود که برایش گران تمام میشود، پس آن را روشن کردیم.
دو تفاوت بهاندازهٔ زمانها مهماند:
- فضای دیسک. یک گذر به 1× اندازهٔ ریلیز نیاز دارد؛ کلاینتهایی که جلدهای آرشیو را مینویسند و سپس باز میکنند به 2× نیاز دارند. روی یک ماشین آزمایشی با 97 GB فضای آزاد، یک کار 87 GB اینجا در 3 m 08 s تمام شد و آن دو تای دیگر اصلاً نتوانستند اجرا شوند.
- حافظه. در کار 190 GB، اوج مصرف 3.9 GB بود در برابر 9.3 GB برای SABnzbd - و nzbfast اگر بخواهید همان کار را در حدود 1 GB انجام میدهد ( بودجهٔ حافظه را ببینید).
4 · داشبورد
http://localhost:6789 را باز کنید (یا آدرس ماشینتان از دستگاهی دیگر
- چیدمان گوشی خودکار وفق مییابد). همهچیز زنده، ثانیهای یکبار، بهروز میشود. کارتها،
از بالا به پایین:
نوار سربرگ
- منوی محدودیت سرعت - سقفهای ثابت، خودکار · اولویت به LAN (حالتی با ادارهٔ RTT که وقتی کس دیگری در خانه به خط نیاز دارد عقب میکشد)، یا نامحدود.
- مکث برای… - همهچیز را برای 15 دقیقه/30 دقیقه/1 ساعت/3 ساعت با ازسرگیری خودکار مکث کنید، یا برای مکثی بیپایان از دکمهٔ مکث استفاده کنید. مکث فوری است: انتقال فعال ظرف چند ثانیه متوقف میشود و بعداً از ژورنال بدون از دست دادن چیزی از سر گرفته میشود. (کارهای با اولویت اجباری به دانلود ادامه میدهند، بهسبک SABnzbd.)
- وقتی نسخهٔ جدیدی در دسترس باشد، اینجا یک بنر بهروزرسانی ظاهر میشود (بهروزرسانیها را ببینید).
توان عبوری
MB/s زنده با یک نمودار پیمایشی؛ نشانهای خطچین بالا/پایین این نشست را مشخص میکنند و خط کمرنگ یک میانگین متحرک است. زیر آن، یک هیستوگرام نشان میدهد نمونههای سرعت نشست چگونه توزیع میشوند - معمول در برابر اوج. پنجره را پهنتر کنید تا نمودارها تاریخچهٔ بیشتری نشان دهند (تا یک ساعت).
کاشیهای آمار
دانلودشده در این نشست، عمق صف، شمار کاملشده/ناموفق، سرعت اوج نشست.
منابع - یک ماشین، چهار سقف
پردازنده، RAM (در برابر بودجهٔ حافظهٔ nzbfast)، نرخ نوشتن دیسک و شبکه روی یک نمودار نرمالشده، با مقادیر واقعی در راهنما و هشدار کمبود دیسک. هیچ کلاینت NZB دیگری این را به شما نشان نمیدهد؛ برای اثبات یک نکته وجود دارد - nzbfast خط شما را به بیشینه میرساند، نه ماشینتان را.
خط پردازش - مراحل همپوشانی دارند
سه خط: دانلود، تأیید (بلوکهای PAR2 بررسیشده)، استخراج. در یک کار سالم هر سه با هم حرکت میکنند.
ارائهدهندهها
نرخ زندهٔ هر سرور، بهرهوری اتصال، سهم از ترافیک، GB نشست، و یک امتیاز کامل بودن مقالهٔ مادامالعمر (وقتی سروری زیر 98% بیفتد رنگی میشود). یک نمودار ناحیهای انباشته سهم هر ارائهدهنده را در طول زمان نشان میدهد. ردیفها هر 10 ثانیه بر اساس کارایی زنده مرتب میشوند (در تنظیمات → رابط قابل تنظیم) تا سریعترین ارائهدهندهٔ شما همیشه بالا باشد.
صف
- ردیفها را برای ترتیب مجدد بکشید (درون یک ردهٔ اولویت - اجباری/بالا همچنان اول اجرا میشوند)؛ اولویت را در همانجا تغییر دهید.
- روی یک ردیف کلیک کنید تا کشوی جزئیات باز شود: نوارهای پیشرفت هر فایل،
شمار بلوکهای تأیید، اینکه هر سرور چهقدر به این کار سهم داده، و یک خط
"افزودهشده از" که میگوید کار از کجا آمده (پوشهٔ پایش، یک اپ متصل، API…).
دکمهٔ دانلود فایل .nzb فایل
.nzbکار را برایتان ذخیره میکند - nzbfast نسخهٔ خودش را نگه میدارد، پس این برای هر کاری کار میکند، حتی وقتی فایل اصلی مدتهاست رفته. - نشانها حالتهای ویژه را نشان میدهند: بهتعویقافتاده (کند)، پیشواکشی، مکثشده (ابزارهای کارایی را ببینید).
- یک نمودار سوختن، کل GB باقیمانده در سراسر صف را دنبال میکند.
مرور ایندکس
هر آنچه ایندکسر داخلی از گروههای پایششدهٔ شما فهرست کرده جستوجو کنید (خودکارسازی را ببینید) و با یک کلیک دانلود کنید - بدون نیاز به ایندکسر بیرونی. خط وضعیت پیشرفت اسکن را نشان میدهد؛ همین حالا اسکن کن یک گذر را اجبار میکند.
فهرست پیگیری
عنوانها را با نام اضافه کنید - از جمله آنهایی که هنوز پست نشدهاند. وقتی یک ریلیز منطبق در ایندکس ظاهر شود خودکار گرفته میشود، با ترجیحات کیفیت و قواعد ارتقا (یک نسخهٔ بهتر جایگزین بدتر میشود).
این کارت میتواند فهرستی را هم که در Plex نگه میدارید دنبال کند. یک منبع فهرست اضافه کنید: یا حساب Plex خود را پیوند بزنید (یک کد کوتاه را در صفحهٔ خود Plex تأیید میکنید، پس هیچ رمزی هرگز به nzbfast نمیرسد) یا نشانی فهرست پیگیری Plex خود را جایگذاری کنید. با آن نشانی مانند یک رمز رفتار کنید - هرکس آن را داشته باشد میتواند فهرست شما را بخواند - و به همین دلیل پس از ذخیره پنهان میشود. عنوانهای همگامشده بهصورت ردیفهای فقطخواندنی کنار عنوانهای خودتان ظاهر میشوند. یک حساب پیوندشده کل فهرست را میبیند، پس حذف یک عنوان در آنجا پیگیریاش را اینجا هم متوقف میکند (دانلودهای تمامشده هرگز دست نمیخورند)؛ یک نشانی فقط تازهترین موارد را نشان میدهد، پس عنوانی که دیده نمیشود شاید فقط از فهرست بیرون رفته باشد و چیزی حذف نمیشود. هر دو رفتار را میتوان برای هر منبع جداگانه برعکس کرد.
تاریخچه
دانلودهای اخیر، هرکدام یک ردیف. کارهای ناموفق تلاش مجدد ارائه میدهند
(از ژورنال از سر میگیرد). آرشیوهای رمزگذاریشده یک کنترل باز کردن 🔑 نشان میدهند -
رمز را وارد کنید و کار در جای خود تمام میشود. نوار سلامتتأیید بلوکهای خراب PAR2
در هر دانلود را نمودار میکند - دنبالهٔ صعودی یعنی مقالهها خراب میرسند.
کشوی هر ردیف میگوید چه کسی کار را افزوده و همان دکمهٔ دانلود فایل .nzb
صف را دارد - برای دانلود دوبارهٔ یک ریلیز در جای دیگر، یا پیوست کردن
.nzb به یک گزارش مشکل، به کار میآید.
کارت بهطور پیشفرض ده دانلود را فهرست میکند و بقیه یک کلیک فاصله دارند، روی دکمهٔ ▤. وضعیت، مکان و دلیل شکست یک کار پشت یک کلیک روی خودِ ردیف قرار دارند، تا حالت رایج - چه چیزی تمام شد، با چه اندازهای، و چه زمانی - بدون پیمایش خوانا بماند. در عوض میتوانید لبهٔ پایینی کارت را بکشید تا فهرست در ارتفاعی که خودتان انتخاب میکنید پیمایش شود. History rows در تنظیمات → رابط آن عدد ده را تغییر میدهد؛ چون این ویژگیِ دیمن است نه مرورگر شما، برای هر دستگاهی که به این نصب نگاه میکند اعمال میشود. Colour History names در کنار آن، نامهای کاملشده را سبز و ناموفقها را قرمز میکند؛ با خاموش کردنش نامها ساده میمانند و نقطهٔ رنگی و جزئیات خود ردیف همچنان میگویند کدام کدام است.
مصرف داده
میلههای روزانهٔ هر ارائهدهنده و کلهای امروز / 7-روزه / 30-روزه - برای حسابهای اندازهگیریشده و بلوکی ضروری است. حسابهای بلوکی مصرف مادامالعمر را در برابر اندازهشان نشان میدهند.
گزارش، محک سیستم، تنظیم دقیق اتصال، تنوع سرورها
یک نمایشگر گزارش درونصفحه، و سه ابزار خودسنجی که در ابزارهای کارایی شرح داده شدهاند.
چیدن داشبورد
داشبورد را خودتان میچینید. چهار کار، با همان نام هر جا که ببینیدشان: جابهجایی یک کارت، فشردهسازی آن، تغییر اندازه یا پنهانسازی آن. هر انتخاب در همان مرورگری که آن را انجام دادهاید به خاطر سپرده میشود، پس هر دستگاه چیدمان خودش را نگه میدارد، و بازنشانی چیدمان در تنظیمات → رابط هر کارت، اندازه و ستون را به حالت اولیه برمیگرداند.
سفارشیسازی چیدمان راه راهنماییشدهٔ ورود است و سریعترین راه برای دیدن اینکه یک کارت چه کارهایی میتواند بکند. آن را از پیوند کمرنگ درست بالای نخستین کارت باز کنید، یا از تنظیمات → رابط، جایی که نخستین دکمهٔ سطر چیدمان داشبورد است. تا وقتی روشن است، دور هر کارتِ قابل جابهجایی خط کشیده میشود، سه ابزار سطر عنوان با تمام قوت و با واژهشان کنار نماد کشیده میشوند، و هر نوار تغییر اندازه با رنگ تأکید کشیده میشود؛ کارتی که نوار ندارد در سطری از آنِ خود دلیلش را میگوید، به جای آنکه شما را به گشتن وا دارد. انجام شد یا کلید Escape از آن بیرون میآید. این حالت شیوهای برای نگاه کردن به صفحه است و نه یک تنظیم: چیزی از چیدمان شما را تغییر نمیدهد و پس از بارگذاری دوباره باز خاموش است.
در داشبوردی که هنوز کسی آن را نچیده است، یک سطر بالای کارتها میگوید که میتوان آنها را جابهجا کرد، اندازهشان را تغییر داد، فشرده یا پنهانشان کرد، و به همان پیوند اشاره میکند. یک بار نشان داده میشود: متوجه شدم آن را میبندد، و باز کردن این حالت یا چیدن هر چیزی هم همان کار را میکند.
- جابهجایی. کارت را از عنوانش بکشید. همهٔ سرصفحه دستگیره است، نه فقط نماد کوچک کنارش، پس هدف باریکی برای نشانه گرفتن وجود ندارد. آن نماد یک ایستگاه Tab هم هست: تمرکز را به آن بدهید تا کلیدهای جهت بالا و پایین کارت را جابهجا کنند.
- فشردهسازی. دکمهٔ کنار دستگیره فاصلههای آن کارت را جمعتر میکند: همان اعداد، جای کمتر. روی تاریخچه میان ده بارگیری تازهتر و بقیهٔ تاریخچهٔ شما جابهجا میشود. حالت فشرده در تنظیمات → رابط همین کار را یکجا برای کل داشبورد میکند.
- تغییر اندازه. کارتی که فهرست یا نموداری دارد، نواری در لبهٔ پایینش دارد: آن را تا ارتفاع دلخواه بکشید. نوار کمرنگ است تا وقتی به کارت اشاره کنید، آنگاه همچون خطی مویی در تمام پهنا با شیارهایی در گوشهٔ انتهاییاش کشیده میشود؛ تمرکز صفحهکلید را هم میگیرد، جایی که کلیدهای جهت بالا و پایین ارتفاع را تنظیم میکنند و Shift گام را بزرگتر میکند. اینکه کدام کارتها نوار دارند با کم و زیاد شدن فهرستهای خودشان تغییر میکند: نوار را پاسخ بگیرید، نه فهرستی در اینجا. در سفارشیسازی چیدمان کارتهای بینوار خودشان این را میگویند.
- پنهانسازی. آخرین دکمهٔ سطر عنوان آن کارت را پنهان میکند. کارتهای پنهان در نوار پنهان در پایین داشبورد جمع میشوند؛ روی نامی در آنجا کلیک کنید تا یکی برگردد.
کلیک راست روی عنوان یک کارت همان کارها را در یک فهرست گرد میآورد: انتقال به بالا، انتقال به پایین، فشردهسازی، تغییر اندازه و پنهانسازی، بهعلاوهٔ راهی به سفارشیسازی چیدمان اگر از پیش در آن نباشید. تغییر اندازه تنها روی کارتی پیشنهاد میشود که نواری برای کشیدن دارد. انتقال به بالا و انتقال به پایین در دو سر فهرست کمرنگ میشوند و تنها کارتهایی را میشمارند که میبینید: از کارت پنهان رد میشوند، پس نخستین و آخرین یعنی نخستین و آخرینِ دیدهشده.
آن فهرست به همان اندازه که راه ماوس است، راه صفحهکلید هم هست. با Tab به دستگیرهٔ جابهجایی کارت بروید، کلید منوی زمینه یا Shift+F10 را بزنید تا زیر سرصفحه باز شود. کلیدهای جهت بالا و پایین در آن راه میروند و از هر چه کمرنگ است میگذرند؛ Escape آن را میبندد و تمرکز را به همان دستگیرهای که از آن بازش کردید بازمیگرداند. برگزیدن تغییر اندازه تمرکز را به نوار همان کارت میبرد، جایی که کلیدهای جهت بالا و پایین ارتفاع را تنظیم میکنند و Shift گام بزرگتری برمیدارد.
Escape همیشه تنها بالاترین لایه را میبندد. بستن فهرست کارت در حالی که این حالت روشن است، حالت را روشن نگه میدارد؛ Escape دوم از حالت بیرون میآید.
کارتهای داشبورد در تنظیمات → رابط همان چیدن را به شکل فهرستی ساده از کنترلها میدهد: یک کادر نمایش برای هر کارت، یک کادر فشرده کنارش، و دکمههای انتقال به بالا و انتقال به پایین. روی تلفن، تبلت یا هر پنجرهٔ باریک، ابزارهای کارت و کشیدن خاموشاند، چون کشیدن یک کارت در صفحهای که زیر انگشت میلغزد کنترل بدی است: آنجا همین فهرست داشبورد را میچیند. آنچه را رایانه میخواند مینویسد، پس ترتیبی که روی تلفن گذاشتهاید همان ترتیبی است که رایانه نشان میدهد. دکمههایش از قاعدهٔ همان فهرست پیروی میکنند: در دو سرِ کارتهای دیدهشده کمرنگ میشوند، و کارتی که پنهان کردهاید تا آن را دوباره نمایش ندهید جابهجا نمیشود.
ستونهای جدول در جای خود چیده میشوند، نه با هیچیک از موارد بالا. در جدولهای صف، تاریخچه و ایندکس، سرستون را به پهلو بکشید تا ستون جابهجا شود، یا لبهٔ انتهایی سرستون را بکشید تا اندازهاش تغییر کند؛ دوبار کلیک روی همان لبه پهناها را برمیگرداند. وقتی سرستونی تمرکز دارد، کلیدهای جهت چپ و راست آن را جابهجا میکنند و Shift با کلید جهت اندازه را تغییر میدهد.
5 · افزودن دانلود
| روش | چگونه |
|---|---|
| کشیدن و رها کردن | یک یا چند فایل .nzb را هرجای داشبورد رها کنید. |
| پوشهٔ پایش | در تنظیمات یک پوشه تعیین کنید؛ هر .nzb ذخیرهشده
در آن ظرف 5 ثانیه برداشته و به سطل زباله منتقل میشود، و داشبوردِ باز هر برداشتن را
با نام اعلام میکند ("… از Downloads برداشته شد")، پس رفتن یک فایل از پوشه هرگز
معما نیست. ترجیح میدهید فایلهایتان بمانند؟
نگه داشتن فایلهای .nzb پس از برداشتن را روشن کنید
(§9 را ببینید). پوشهٔ دانلود مرورگرتان را روی آن تنظیم
کنید تا از سایتهای ایندکسر با یک کلیک بگیرید. |
| از یک URL | یک لینک NZB را جایگذاری کنید (API mode=addurl، یا از طریق هر اپ متصل). |
| پیوندهای nzblnk: | یک پیوند nzblnk: را هر جای داشبورد بچسبانید، یا داخلش بکشید. اگر از DMG مکاواس یا نصبکننده ویندوز نصب کردهاید، میتوانید یکی را مستقیم روی یک بورد هم کلیک کنید. پیوندهای nzblnk در پایین را ببینید. |
| مرور ایندکس | روی هر ریلیز کامل در کارت مرور کلیک کنید. |
| جستجو در ایندکسرها | در حسابهای ایندکسری که افزودهاید جستجو کنید و یک نتیجه را مستقیم از فهرست به صف بفرستید. جستجو در حسابهای ایندکسر خودتان در پایین را ببینید. |
| فهرست پیگیری / RSS | خودکار - خودکارسازی را ببینید. |
| Sonarr/Radarr و غیره | آنها گرفتنها را مستقیم به صف میفرستند - §11 را ببینید. |
| خط فرمان | nzbfast get file.nzb بدون دیمن دانلود میکند. |
دستهها، اولویتها، رمزهای عبور
- دستهها برچسبهای آزادند؛ هرکدام زیرپوشهای از پوشهٔ دانلود شما میشود، و پوشههای هوشمند (§10 را ببینید) میتوانند آنها را با قاعده تخصیص دهند.
- اولویتها: اجباری > بالا > عادی > پایین. اجباری مکث و سهمیه را دور میزند.
- رمزهای عبور برای آرشیوهای رمزگذاریشده خودکار از
<meta type="password">درون NZB، از نام فایلName{{password}}.nzb، یا از فیلدp=یک پیوند nzblnk برداشته میشوند، و میتوانند بهازای هر کار از طریق API یا بعداً از تاریخچه (🔑) داده شوند.
جستجو در حسابهای ایندکسر خودتان
اگر در یک سایت ایندکسر NZB حساب دارید، nzbfast میتواند از همینجا در آن جستجو کند و آنچه را انتخاب میکنید به صف بفرستد، بهجای اینکه شما به سایت بروید، یک NZB بگیرید و آن را برگردانید. با همان واسط ایندکسر رایجی حرف میزند که همهٔ آن سایتها ارائه میدهند، پس چیزی برای تنظیم بهازای هر سایت وجود ندارد: NZBGeek و NZBFinder و DrunkenSlug و DOGnzb و بقیه یکسان کار میکنند. یک نمونهٔ Prowlarr یا NZBHydra2 هم یک ردیف است و هر ایندکسری را که پشت آن است با خود میآورد.
افزودن یک حساب. تنظیمات → جستجو در ایندکسرها →
+ افزودن ایندکسر. نامی به انتخاب خودتان، نشانی واسط سایت (نشانی وب معمولیاش کافی
است؛ ردیف Prowlarr شبیه http://host:9696/1/api است) و کلید API را از صفحهٔ
حسابتان در آنجا وارد کنید، سپس اعمال ایندکسرها. آزمایش از سایت میپرسد چه
چیزی را پشتیبانی میکند و آنچه برگشته را نشان میدهد، و نشانی و کلید را با یک کلیک ثابت
میکند. کلید ذخیرهشده دیگر هرگز نشان داده نمیشود: کادر همین را میگوید، و خالی گذاشتنش
کلید موجود را نگه میدارد.
جستجو کردن. از سربرگ 🎬 دیوار را باز کنید و به فهرست ریلیزها بروید. منوی کنار کادر جستجو تعیین میکند جستجو کجا را نگاه کند: این ایندکس، یعنی آنچه این دستگاه خودش پویش کرده، ایندکسرها، یا هر دو. انتخابتان به یاد میماند. پرسیدن از حسابهایتان به چیزی در کادر نیاز دارد، چون مرور آنها با پرسوجوی خالی سهمیهٔ یک روز را خرج فهرستی میکند که کسی نخواسته است. با ایندکسر داخلیِ خاموش، که nzbfast همینطور میرسد، پوستری برای نشان دادن نیست و صفحه دقیقاً همین است: یک کادر جستجو، حسابهای شما و نتیجهها.
نتیجهها. یک ردیف برای هر ریلیز، تازهترینها بالا، با اندازه، سن و اینکه کاربران خودِ آن ایندکسر چند بار آن را گرفتهاند. ریلیزی که چند حساب شما دارند یک بار میآید. زیر هر دو، نسخهای که ایندکس خودتان دارد برنده میشود و نسخهٔ بیرونی کنار میرود، چون گرفتن چیزی که خودتان ایندکس کردهاید برایتان هزینهای ندارد. دانلود آن را با اولویت بالا به صف میفرستد: nzbfast خودش فایل NZB را میگیرد، و از آنجا کار مثل هر کار دیگری است، با تعمیر، استخراج، دستهها و اسکریپتها بیتغییر.
پرسیدن دربارهٔ یک عنوان. کارت یک عنوان را روی دیوار باز کنید و ⌕ جستجو در ایندکسرهای من را بزنید. برای فیلمها پرسش هر جا که سایت بپذیرد از راه شمارهٔ IMDb میرود، و همین فرق میان فیلمی است که منظورتان بود و هر ریلیزی که نامش اتفاقی آن واژهها را دارد. nzbfast خودش آن شماره را پیدا میکند، پس صفحه هرگز شمارهای در دست ندارد. از سایتهایی که تطبیق با شماره ندارند با واژههای ساده پرسیده میشود.
سهمیهٔ شما. حسابهای ایندکسر شمرده میشوند: اینقدر جستجو و اینقدر دانلود در روز، بسته به طرحتان. آن دو عدد را روی ردیف بگذارید تا nzbfast در برابرشان بشمارد و در نیمهشب UTC از نو شروع کند. 0، که پیشفرض است، یعنی بیحد، و شمارش باز هم ادامه دارد. حسابی که سهمیهاش تمام شده کنار مینشیند و بقیه کار میکنند، و سطری بالای نتیجهها نام آن حسابِ کنارگذاشته را میآورد: تمامشدن سهمیه هرگز خاموش نیست. سایتی که با حد خودش پاسخ میدهد، یا از ما میخواهد آهستهتر برویم، یک ساعت کنار گذاشته میشود.
کلید شما کجا میرود. فقط به همان ایندکسری که به آن تعلق دارد. کلیدها روی همین دستگاه میمانند، هرگز به مرورگر داده نمیشوند - هر ردیف نتیجه بهجای پیوند یک بلیت نیمساعته دارد - و از گزارش و از هر خطایی که سایت برمیگرداند پاک میشوند، پس یک پیام خطای چسباندهشده نمیتواند کلیدی را لو بدهد. دانلود فقط میتواند پیوندی را بگیرد که یکی از جستجوهای خودتان برگردانده است.
اینها همان حسابهایی هستند که یک پیوند nzblnk وقتی ایندکس محلی سرآیندش را نمیشناسد به آنها پناه میبرد، و همانهایی که فهرست پیگیری میتواند دربارهٔ موارد خواستهشده از آنها بپرسد (§10).
پیوندهای nzblnk
برخی بوردها، بیشتر آلمانی و هلندی، بهجای فایل NZB یک پیوند nzblnk:
منتشر میکنند. پست مبهمسازی شده است، پس اصلاً نام فایلی نیست که بشود به آن پیوند داد.
پیوند در عوض یک سرآیند حمل میکند، h=، که کلید جستجوست نه یک مکان، بهعلاوه
عنوان t=، رمز عبور p= و گروه g= اختیاری. اول
کسی باید برود و پست را پیدا کند.
nzbfast نخست سرآیند را در ایندکس خودش جستجو میکند، که هیچ شبکهای لازم ندارد، و تنها اگر آنجا نیافت از جستجو در ایندکسرهایی که پیکربندی کردهاید میپرسد (تنظیمات → جستجو در ایندکسرها، §9)، زیر همان بودجههای روزانه و همان عقبنشینی هر جستجوی دیگر. عنوان نام کار میشود و رمز عبور خودکار روی کار اعمال میشود.
- چسباندن یا کشیدن روی هر نصبی کار میکند، از جمله Docker و جعبههای NAS: پیوند را از بورد کپی کنید و هر جای داشبورد بچسبانید.
- کلیککردن روی یک پیوند نیاز دارد که طرحواره نزد میزکارتان ثبت شده باشد. برنامه DMG مکاواس آن را ثبت میکند و نصبکننده ویندوز آن را بهعنوان یک وظیفه پیشنهاد میدهد: اول میپرسد، و اگر NZB Monkey یا NZBDonkey از پیش آن را در دست دارد کاری به طرحواره ندارد. تاربال ساده مکاواس، Homebrew و نصبهای لینوکس هیچ گرداننده میزکار ندارند؛ آنجا راه ورود چسباندن است.
- حلکردن پیوند عمداً محدود به نرخ است. ثبت یک طرحواره آن را به فاصله یک پرسش مرورگر از هر صفحهای که بازدید میکنید میآورد، پس پیوندها سقف دقیقهای دارند و تنها چند تای نخست هر دقیقه اجازه دارند به ایندکسرهای شما برسند؛ پس از آن تنها از ایندکس محلی پاسخ داده میشود.
6 · دیوار پوسترها
در سربرگ روی 🎬 دیوار کلیک کنید. دیوار ایندکس شما را به یک مرورگر رسانه تبدیل میکند: هر فیلم و ریلیز TV شناختهشده بهصورت یک کاشی پوستر با امتیاز، سال، ژانرها، بازیگران و خلاصه - گروههای خبری شما، قابل مرور همچون یک فهرست.
- زبانههای فیلمها / سریالها / سایر، جستوجوی آنی و هفت ترتیب: برای شما، جدیدترین پستها، سال انتشار، برترین امتیاز، عنوان الف–ی، بزرگترین و پرپستترین.
- فقط تطبیقیافته بهطور پیشفرض روشن است و آشغال ناشناس را پنهان میکند؛ یک تراشهٔ «+N تطبیقنیافته» آن را آشکار میکند.
- روی یک کاشی کلیک کنید تا برگهٔ جزئیات باز شود: خلاصه، امتیاز و آرای IMDb، بازیگران - و ▶ پخش (بیدرنگ پیشنمایش کنید، §7 را ببینید) یا ⬇ دانلود.
- ✎ اصلاح تطبیق - اگر عنوانی با سریال یا فیلم اشتباه تطبیق یافت، درست را از پوسترهای نامزد انتخاب کنید، یا عنوان/سال/نوع را دستی وارد کنید. متن دستی هرگز توسط غنیساز بازنویسی نمیشود. ↻ تازهسازی فراداده یک عنوان را دوباره واکشی میکند؛ تنظیمات → ایندکسگذاری میتواند همه را تازه کند یا کل ایندکس را پاک/بازسازی کند.
- فراداده بهطور پیشفرض بدون کلید است - TVmaze، iTunes، مجموعهدادگان IMDb، Wikidata، Wikipedia و AniList به حساب نیاز ندارند. یک کلید OMDb (رایگان، ثبتنام فقط با ایمیل - یک دستیار ثبتنام در تنظیمات → ایندکسگذاری هست) تطبیق فیلم را بهتر میکند؛ اگر از قبل یک کلید TMDB دارید پذیرفته میشود.
- برای شما دیوار را بر پایهٔ نمایهای از سلیقه مرتب میکند که روی همین دستگاه از تاریخچهٔ تمامشدهٔ خودتان و فهرست پیگیریتان ساخته میشود: ژانرهای محبوب، گرایش شما به فیلم یا سریال، و تقریباً کدام دوره. عنوانهایی که پیشتر دارید بهجای ناپدیدشدن به پایین میروند، و نوشتهٔ «چون … تماشا میکنید» میگوید بر چه چیزی تکیه شده است. بدون تاریخچه به پرپستترین بازمیگردد، پس زبانه هرگز خالی نیست. هیچیک از اینها از دیمن بیرون نمیرود.
- علاقهای ندارم روی هر کارت آن عنوان را پنهان میکند، و پنهانکردن چند مورد مشابه به دیوار چیزی میآموزد: فیلتری پیشنهاد میدهد که با یک کلیک میپذیرید («از این پس همهٔ عنوانهای ریلیتی پنهان شوند؟»). هر آنچه پنهان کردهاید و هر فیلتر آموختهشده زیر پنهانشدهها و فیلترها فهرست میشود و همانجا برگشتپذیر است.
- نقطهٔ دردسترسبودن کوچک روی یک کارت، حکم پیشگو است (§13): «؟» کهربایی یعنی نامطمئن نزد ارائهدهندههای شما، و قرمز یعنی بخشهایش پیوسته غایباند. گروههایی که همین حالا پاکسازی میشوند نشان پاکسازیشده دارند.
7 · پیشنمایش و بررسی
لازم نیست برای اینکه بدانید فایل درست است منتظر پایان دانلود بمانید. آن را حین دانلود باز کنید، بررسی کنید که محتوا، زبان و کیفیت همان است که انتظار داشتید، و اگر نبود زود لغو کنید - بهجای اینکه بعد از دانلود کامل بفهمید.
نیمهٔ نخست این کار همین حالا روی صفحه است. ردیف یک دانلود را در صف (یا در تاریخچه) باز کنید تا کشو نشان دهد درون فایل ویدیو چیست، خوانده از بایتهایی که تا اینجا رسیدهاند: وضوح، کدکهای ویدیو و صدا، زبانهای صدا، زیرنویسها، فصلها. ریلیزی که نسخهٔ اشتباه، زبان اشتباه یا یک بزرگنماییِ مصنوعی است، خیلی پیش از پایان دانلود در همان پنل خودش را لو میدهد.
صفحه همچنین میسنجد که آیا همین مرورگر میتواند فایل را پخش کند، و بهجای حدس زدن همین را میگوید: مرورگرها با هم فرق دارند (Safari جایی HEVC را رمزگشایی میکند که Chrome نمیکند، و تقریباً هیچکدام صدای AC-3 یا DTS را رمزگشایی نمیکنند)، پس پرسش از مرورگری میشود که واقعاً در آن هستید. وقتی پاسخ مثبت است، ▶ پخش پخشکنندهای را همانجا در صفحه باز میکند که فایل را حین دانلود نشان میدهد. بیشتر انتشارها MKV هستند؛ بسیاری از مرورگرها از باز کردن آن سر باز میزنند هرچند میتوانند هرچه درونش است را رمزگشایی کنند، بنابراین nzbfast آنها را هنگام پخش دوباره بستهبندی میکند. هیچ چیز دوباره کدگذاری نمیشود: تصویر و صدا همان بایتهای اصلی در پوششی دیگر هستند و پریدن به نقطهای دیگر همچنان کار میکند. اگر باند صوتی از نوعی باشد که این مرورگر نتواند رمزگشایی کند و نسخه باند دومی داشته باشد که بتواند، همان باند دوم پخش میشود تا تصویر بیصدا نرسد. تنها وقتی مرورگر رمزگشای خودِ ویدیو را نداشته باشد، دکمه فایل را به پخشکنندهٔ رسانهٔ خودتان میسپارد، همانطور که در ادامه توضیح داده شده است.
یک تنظیم بر همهٔ اینها حکم میراند: تنظیمات → رابط → بررسی فایل حین دانلود. فقط جزئیات، پیشفرض، پنل را نشان میدهد و پخشکنندهای در صفحه ارائه نمیکند؛ جزئیات و پخشکننده پخشکننده را میافزاید؛ خاموش خواندن فایل را بهکلی متوقف میکند - با خاموش بودنش، هیچچیز برای هیچکس فایل نیمهدانلودشدهای را باز نخواهد کرد.
برای بررسی در پخشکنندهٔ رسانهٔ خودتان بهجای آن:
- ▶ پخش روی دیوار (یا
/m3u/<id>) یک URL به پخشکنندهٔ رسانهٔ شما میدهد؛ دیمن دانلود پشت آن را آغاز یا بازاستفاده میکند. - نقطهٔ پایانی
/stream/<nzo_id>فایل را با پشتیبانی کامل بازهٔ HTTP حین دانلود سرو میکند. بررسی هر نقطه کار میکند: دقیقهٔ 40 را سرزده بررسی کنید و مقالههای آن ناحیه به جلوی صف دانلود ارتقا مییابند - معمولاً بهجای دقایق در چند ثانیه همانجا باز میشود. ابتدا و انتهای فایل اول واکشی میشوند تا پخشکنندهها بیدرنگ دادهٔ ایندکس خود را بیابند. - حالت کتابخانه: دستههای فهرستشده در library_cats به رکوردهای آنی
فقط-فراداده تبدیل میشوند - یک فایل
.strmبیدرنگ ظاهر میشود، موجود بودن در پسزمینه تأیید میشود، و دانلود واقعی وقتی نخستین بار آن را باز میکنید آغاز میشود.
/stream را باز میکنند. برای بررسی از ماشین دیگر بهجای localhost
از آدرس LAN ماشینتان استفاده کنید./stream/<id> به یک توکن بهازای هر کار
(?t=…) نیاز دارد - پخشکنندهها نمیتوانند کلید API بفرستند، پس تحویل
/m3u و اشارهگر .strm آن را برایتان تعبیه میکنند؛ ساختن آن
(/m3u) به کلید نیاز دارد. سرو کردن سادهٔ بایتهای یک دانلود از قبل فعال
باز میماند، و نصبهای بدون کلید مثل قبل رفتار میکنند.8 · سرورهای Usenet
تنظیمات → سرورهای Usenet ویرایشگر کامل است: افزودن، ویرایش، حذف، ترتیب مجدد، و وارد یا خارج کردن هر سرور از استخر. هر سرور اینها را دارد:
| فیلد | یادداشتها |
|---|---|
| میزبان / پورت | از پورت SSL 563 استفاده کنید. TLS هزینهٔ محسوسی ندارد - nzbfast همیشه رمزگذاری میکند. |
| نام کاربری / رمز عبور | بهصورت محلی در config.local.json ذخیره میشود، هرگز به مرورگر بازنشان داده نمیشود. خالی گذاشتن رمز عبور هنگام ویرایش، رمز ذخیرهشده را حفظ میکند. رمزهای عبور روی دیسک مبهمسازی میشوند، نه رمزگذاری. |
| اتصالها | اتصالهای همزمان بهازای هر سرور. برای یافتن نقطهٔ بهینهٔ هر ارائهدهنده بهجای حدس زدن عدد بالا از تنظیم دقیق اتصال (§13) استفاده کنید. |
| سطح (رده) | 0 = اصلی؛ سطوح بالاتر سرورهای پُرسازیاند و فقط مقالههایی از آنها خواسته میشود که هر سطح پایینتر کم داشته. حسابهای نامحدود را روی 0، حسابهای بلوکی را روی 1+ بگذارید. |
| اندازهٔ بلوک (GB) | برای حسابهای بلوکی (پرداخت بهازای هر GB): nzbfast مصرف مادامالعمر را در برابر این دنبال میکند و وقتی تمام شد استفاده از سرور را متوقف میکند (هشدار در 85%). |
| هر بایت پول است | برای حساب کنتوری روشنش کنید. دانلودهای شما دقیقاً مثل قبل از سرور استفاده میکنند؛ آنچه متوقف میشود ترافیکی است که nzbfast از جانب خودش برای آن میفرستد - تنظیمگر خودکار اتصال، مرحلهٔ شبکهای محک سیستم، و پویش سرآیندها برای ایندکس داخلی همگی از آن میگذرند. مستقل از رده و از اندازهٔ بلوک، چون یک حساب کنتوری میتواند تنها ارائهدهندهٔ شما باشد و یک حساب نامحدود میتواند در ردهٔ 2 بنشیند. بهطور پیشفرض خاموش. آزمایش دستی در تنظیم دقیق اتصال (§13) روی سرور علامتخورده همچنان کار میکند و اول میپرسد، چون آنجا این شمایید که خرج کردن را انتخاب میکنید. |
کمی فضا زیر سقف اتصال حسابتان باقی بگذارید. تنظیم اتصالها کمی پایینتر از سقف هیچ هزینهای ندارد: توان عبور خیلی پیش از یکی دو اتصال آخر صاف میشود و تنظیم دقیق اتصال (§13) به هر حال زیر آن میماند. همان جاهای خالی است که به دستگاه دوم، برنامهای دیگر یا تلاش دوباره پس از افت سوکت اجازه میدهد باز هم وارد شود، بهجای آنکه رد شود در حالی که این یکی همهی جاها را گرفته است.
لازم نیست سقف فایلهای باز دستگاهتان را خودتان مدیریت کنید. سیستم هر اتصال را یک فایل باز میشمارد و macOS هر برنامه را با سقف 256 فایل آغاز میکند؛ سقفی که یک مجموعهٔ کامل از اتصالها روی چند سرور میتواند از آن بگذرد. روی macOS و Linux، nzbfast این سقف را هنگام اجرا خودش بالا میبرد: 65536 فایل باز میخواهد و تا وقتی سیستم بپذیرد از 16384 و 4096 و 1024 پایین میآید، هرگز بالاتر از سقف سختی که سیستم تعیین میکند، و اگر همهٔ پلهها رد شوند با همان سقفی که داشت ادامه میدهد. Windows چنین سقفی برای هر فرآیند ندارد. برنامههای دیگر به همان سقفی بسنده میکنند که با آن آغاز شدهاند، و برنامهای که وسط یک کار فایل باز کم بیاورد ممکن است بدون آنکه دلیلش را در گزارش بنویسد متوقف شود. پس اتصالهای هر سرور را بر پایهٔ آنچه اشتراکتان اجازه میدهد تنظیم کنید، منهای فضای بالا، نه بر پایهٔ آنچه گمان میکنید دستگاه تاب میآورد.
رمزهای عبور سرویسدهندههای شما چگونه ذخیره میشوند
رمزهای عبور سرویسدهنده در config.local.json مبهمسازی شدهاند، نه
رمزگذاری. آنها به شکل obf1: و پس از آن یک صورت کدشده ذخیره میشوند،
تا اگر فایل در یک عکس صفحه، یک پست انجمن، یک گزارش خطا یا روی نمایشگری که کس دیگری
میبیند ظاهر شد، بهصورت متن ساده خوانده نشود.
روشن بگوییم این چه چیزی به شما میدهد و چه چیزی نمیدهد:
- این رمزگذاری نیست و در برابر کسی که فایل را دارد هیچ محافظتی نمیکند. روش در کد عمومی ما هست و رمزگشا داخل خود nzbfast میآید، پس هر کسی فایل را داشته باشد رمز را در چند ثانیه بیرون میکشد. فایل را دقیقاً همانقدر محرمانه بدانید که اگر رمزها خوانا بودند میدانستید.
- نشت اتفاقی را برمیدارد، و همان است که رایج است. فایلهای پیکربندی خیلی بیشتر از آنکه از روی دیسک دزدیده شوند، در رشتههای پشتیبانی چسبانده و در عکسهای صفحه ثبت میشوند.
- رمزی که خودتان بهصورت متن ساده تایپ کردهاید همچنان کار میکند. nzbfast هر دو صورت را میخواند، پس پیکربندیهای دستویرایششده و درونریزی از کلاینتهای دیگر هرگز نمیشکنند؛ در ذخیرهسازی بعدی صورت مبهم را مینویسد.
- فایل افزون بر این طوری نوشته میشود که تنها حسابی که nzbfast را اجرا میکند بتواند بخواندش (حالت 0600 روی macOS و Linux).
برای مقایسه، NZBGet و SABnzbd هر دو رمزهای عبور سرویسدهنده را بهصورت متن خوانا نگه میدارند در فایلهای پیکربندیشان. ما مبهمسازی را بهبودی کوچک بر آن میدانیم، نه یک ویژگی امنیتی.
چرا از جاکلیدی سیستم استفاده نمیکنیم؟ Keychain در macOS، مدیر اعتبارنامههای Windows و سرویسهای راز در Linux محافظت واقعی میدادند و شاید دوباره سراغش برویم. امروز دو چیز جلوی ما را میگیرد. دسترسی به جاکلیدی به هویت برنامه گره خورده است و nzbfast هنوز امضای کد ندارد، بنابراین پرسشها و رفتار پس از هر بهروزرسانی بد از آب درمیآید. و سهم بزرگی از نصبها Docker، سرورهای بدون نمایشگر و جعبههای NAS است که اصلاً جاکلیدی ندارند، و این دو مسیر ذخیرهسازی متفاوت باقی میگذارد که باید هر دو درست بمانند. یک قالب واحد و خوشفهم که همهجا یکسان رفتار میکند فعلاً معامله بهتری است.
دو گزینهٔ دیگر برای هر سرور هنوز کنترلی در داشبورد ندارند: آنها را دستی در مدخل
همان سرور در config.local.json بیفزایید (نگاه کنید به
§17) و دوباره راهاندازی کنید.
| کلید | یادداشتها |
|---|---|
bind_ip | اتصالهای خروجی این سرور را به یک نشانی محلی مشخص میبندد، برای دستگاههای چندخروجی و تونلهای تقسیمشدهٔ VPN. خانوادهٔ نشانی، خانوادهٔ مقصد را هم برمیگزیند: بستن v4 به نشانی v4 سرور وصل میشود. |
socks5 | ترافیک NNTP این سرور را از یک پراکسی SOCKS5 میگذراند: host:port یا user:pass@host:port. نام میزبان را پراکسی تفکیک میکند، پس نشتِ DNS محلی رخ نمیدهد. |
- تیک کنار هر سرور کلید روشن/خاموش آن است: تیکخورده یعنی سرور در استخر دانلود است، بدون تیک یعنی غیرفعال. سرور غیرفعال اطلاعات ورود و تنظیماتش را نگه میدارد و هنوز قابل آزمایش است؛ فقط هرگز مقالهای از آن خواسته نمیشود. ردیفش کمرنگ میشود، شمارش عنوان (2 از 3 فعال) پایین میآید و تغییر از دانلود بعدی اعمال میشود. برای استراحتدادن به یک حساب بلوکی که ذخیره کردهای، یا برای اثبات اینکه یک ارائهدهنده عامل مشکل است بدون حذف آن، کاربردی است.
- آزمایش یک اتصال + TLS + ورود واقعی انجام میدهد و زمان رفتوبرگشت را گزارش میکند.
- وارد کردن از SABnzbd / NZBGet… مکانهای نصب معمول را اسکن میکند، آنچه یافته را نشان میدهد و سرورها را وارد میکند (تکراریها را رد میکند).
- ویرایش سرور از دانلود بعدی اعمال میشود - بدون راهاندازی مجدد.
9 · مرجع تنظیمات
تقریباً همه چیز از داشبورد و از بخش ⚙ تنظیمات قابل پیکربندی است؛ چهار استثنا در
پایان همین بخش فهرست شدهاند. مقادیر نشاندار
live بیدرنگ اعمال میشوند و مقادیر
restart در راهاندازی بعدی. هر تغییری که اینجا انجام
شود در settings.json ذخیره میشود و از راهاندازی مجدد جان سالم به در
میبرد (مقادیر رابط بر پرچمهای خط فرمان میچربند).
سرعت و زمانبندی زنده
| تنظیم | کارکرد |
|---|---|
| محدودیت سرعت | سقف به بایت/ثانیه (50M، 1G، 0 = نامحدود). اپهای راه دور ممکن است درصد بفرستند - سرعت خط را تنظیم کنید تا درست ترجمه شوند. |
| سرعت خودکار | سقفی با ادارهٔ RTT که به دیگر ترافیک خانگی اولویت میدهد و وقتی خط آرام است دوباره گسترش مییابد. |
| بهتعویقانداختن خودکار دانلودهای کند | کاری که روی یک سرور کند گیر کرده در حالی که بقیه منتظرند به انتهای صف منتقل میشود (پیشرفت حفظ میشود). §13 را ببینید. |
| پیشواکشی روی سرورهای بیکار | سرورهای بیفایده برای کار فعال، کار بعدی صف را آغاز میکنند. §13 را ببینید. |
| بهروزرسانی خودکار / URL بررسی بهروزرسانی | §14 را ببینید. |
| سرعت خط | سرعت نامی اتصال شما - محدودیتهای درصدی از اپهای سازگار با SABnzbd را فعال میکند. |
| زمانبندی هفتگی | ویرایشگر ردیفی برای قواعد زمانهفته: مکث، ازسرگیری، یا تنظیم محدودیت سرعت در روزها/زمانهای معین (وقت محلی). مثلاً محدودیت 20 MB/s در روزهای کاری 9–17، در غیر این صورت نامحدود. |
دانلود بعدی زنده
اتصالها (بهازای هر سرور)، پنجره (عمق خطلولهسازی بهازای هر اتصال)، رمزگشاها (رشتههای رمزگشایی موازی). هنگام آغاز هر کار نمونهبرداری میشوند. پیشفرضها برای بیشتر خطها درستاند؛ پیش از بالا بردن کورکورانه از ابزارهای تنظیم استفاده کنید.
بررسی هنگام بارگیری برمیگزیند که همزمان با رسیدن داده چه اندازه وارسی شود. کامل هر بلوک PAR2 را با MD5 تأیید میکند. سریع (پیشفرض) بلوکها را با CRC32 مطالبه میکند که روی پردازندهٔ کند 2-3 برابر سریعتر است و همچنان جمع کنترلی خودِ هر مقاله را بررسی میکند. کممصرف افزون بر آن، بهمحض اینکه PAR2 پروندهای را بپوشاند از آن جمعهای کنترلی مقاله هم میگذرد: آسیب آنگاه لحظهای دیرتر و در بلوک خودش پدیدار میشود. در هر سه، گذر پایانی و هر ترمیمی از MD5 کامل بهره میگیرند و بارگیری بدون پروندههای PAR2 جمعهای کنترلی مقالههایش را نگه میدارد.
دیسک و سهمیه زنده
کمینهٔ فضای آزاد (زیر آن کارهای جدید مکث میشوند؛ بهطور پیشفرض ۲ گیگابایت، ۰ آن را خاموش میکند)، سهمیهٔ دانلود در روز یا ماه (UTC؛ کارهای اجباری دور میزنند)، محدودیت حافظه - بودجهٔ RAM موتور (پیشفرض: ¼ از RAM، کراندار؛ روی ماشین پُر-RAM برای بیشینه سرعت روی کارهای عظیم آن را بالا ببرید، و پیش از پایین آوردنش هزینهٔ حافظهٔ کم را ببینید) راهاندازی مجدد.
انتقال کاملشدهها به: پس از باز کردن، پاکسازی و تغییر نام،
دانلودهای تمامشده به اینجا منتقل میشوند - یک اشتراک NAS، یک درایو رسانه، هر
جا که کتابخانهتان باشد. چیدمان دستهها حفظ میشود (کاری که زیر
tv/ تمام شده در مقصد زیر tv/ قرار میگیرد) و
تاریخچه هم همراه انتقال میرود، بنابراین برنامههای متصل از محل جدید وارد و
حذف میکنند. اگر هنگام پایان یک کار مقصد در دسترس نباشد (اشتراک آفلاین، فضای
پرشده)، فایلها در پوشهٔ دانلود میمانند و کار باز هم بهطور عادی کامل
میشود. خالی = خاموش. مقصدها بهازای هر دسته دستههای خاص را به جای
دیگری میفرستند (tv=/Volumes/NAS/TV, movies=/Volumes/NAS/Movies)؛ هر مسیر فهرستشده خودِ پوشهٔ آن دسته است،
پس هیچ زیرپوشهٔ دستهٔ اضافهای درونش ساخته نمیشود. دستههای فهرستنشده از
انتقال کاملشدهها به پیروی میکنند.
عمق آرشیوهای تودرتو (پیشفرض ۵) یعنی چند لایه آرشیو-درون-آرشیو بهطور خودکار باز میشود: مجموعهای RAR که درونش یک 7z و در آن باز یک RAR دیگر باشد در یوزنت عادی است و nzbfast این زنجیره را بدون گذر دوم دنبال میکند. در مرز، عمیقترین آرشیو همانجا باقی میماند و بیش از آن باز نمیشود، و دانلود با این حال کامل میشود. تنها برای ریلیزهای بهطور غیرعادی عمیق آن را بالا ببرید.
تغییر نام و پاکسازی خودکار live
تغییر نام دانلودهای تمامشده (بهطور پیشفرض روشن) به پوشه و فایل اصلی نامی
تمیز و گویا میدهد: یک فیلم به Example Movie (2024) بدل میشود و سریالها
Show - S01E02 را نگه میدارند. نامهای مبهمسازیشده یا ناشناخته بهجای
حدسزدن، دقیقاً همانگونه که منتشر شدهاند باقی میمانند.
| تنظیم | چه میکند |
|---|---|
| گنجاندن رزولوشن | 1080p، 2160p… را به نام میافزاید. بهطور پیشفرض روشن؛ چهار برچسب دیگر خاموشاند. |
| گنجاندن کدک ویدیو | x265، x264، AV1… |
| گنجاندن کدک صدا | Atmos، DTS-HD، AC3… |
| گنجاندن منبع | BluRay، WEB، REMUX… |
| گنجاندن گروه ریلیز | برچسب -GROUP در انتها. |
| حذف فایلهای آشغال | بهطور پیشفرض روشن. .par2، .nzb، .sfv، .nfoهای برجایمانده و کلیپهای نمونه را از پوشههای تمامشدهٔ فیلم و سریال پاک میکند. هرگز ویدیو یا زیرنویسهایش را. |
| فقط فایل رسانه را نگه دار | بهطور پیشفرض خاموش، و ویرانگر: همهٔ محتوای پوشه را جز ویدیو (یا ویدیوها) و زیرنویسها برای همیشه حذف میکند. همهٔ قسمتهای یک بستهٔ فصل نگه داشته میشوند. هرگاه هر دو روشن باشند، بر حذف فایلهای آشغال مقدم است. |
| نامگذاری دانلودها از روی فایل .nzb | بهطور پیشفرض خاموش. پوشهٔ تمامشده و فایل اصلیاش نام فایل .nzb را میگیرند، بهجای نام مرتبشدهای که از ریلیز استخراج شده است. فقط بزرگترین فایل تغییر نام مییابد: بقیهٔ بستهٔ قسمتها، نمونه، زیرنویسها و فایل .nfo نامهایی را که با آن رسیدهاند نگه میدارند. هر دسته میتواند زیر دستههای شما جداگانه آن را مجاز یا ممنوع کند، و همین است که آن را برای یک نوع دانلود میگیرید و برای نوعی دیگر نه. |
| Keep the other words in the name | بهطور پیشفرض روشن. ورزش، مسابقات و رویدادهای دیگر اغلب یک عنوان واحدند که در تمام فصل تکرار میشود و تنها یکی دو کلمه با هم فرق دارند - "Round11 Hungary Race" در برابر "Round11 Hungary Qualifying". نگه داشتن همان کلمههاست که نمیگذارد یک فصل کامل به یک نام واحد فروبریزد. تنها جایی اعمال میشود که نام به هیچ روش دیگری قابل مرتب کردن نبوده، بنابراین فیلمها و قسمتهای معمولی دستنخورده میمانند. |
کل این گروه پس از تعمیر و بازکردن و پیش از انتقال کاملشدهها به اجرا میشود، و برای کاری که هنوز چشمبهراه گذرواژه است بهکلی نادیده گرفته میشود. هر دو گام حذف تنها بر ریلیزهایی اعمال میشوند که فیلم یا سریال شناخته شدهاند: یک بار نرمافزاری یا مجموعهای دستهبندیناپذیر (مبهمسازیشده) هرگز پاکسازی نمیشود.
فایلهای حذفشده به سطل زباله میروند تعیین میکند «حذف» در بالا یعنی چه. وقتی روشن است، پاکسازی فایلها را به سطل زبالهٔ سیستم منتقل میکند تا اگر تشخیص دربارهٔ آشغال بودن چیزی اشتباه بود بتوان آن را برگرداند؛ وقتی خاموش است فایلها یکراست حذف میشوند. در macOS و Windows بهطور پیشفرض روشن است، جایی که سطل زباله جایی است که میبینید و خالی میکنید، و در Linux بهطور پیشفرض خاموش است، جایی که معمولاً چنین نیست.
.Trash-1000 (عدد، شناسهٔ کاربری شماست) در بالای دیسک دانلود میسازند
و فایلها را به آنجا منتقل میکنند. هیچچیز آن پوشه را به شما نشان نمیدهد،
هیچچیز خالیاش نمیکند، و فضایی که گرفته هرگز برنمیگردد.
اگر نسخهٔ قدیمیتری از nzbfast را در Linux با این گزینهٔ روشن اجرا کردهاید، آن پوشه را در ریشهٔ اشتراک دانلودتان بجویید. خالی کردنش امن است: هرچه در آن است فایلی است که پاکسازی پیشتر تصمیم گرفته آن را نمیخواستید. nzbfast آن را برایتان خالی نمیکند، چون روی دیسک شماست و قضاوتش با شماست.
پوشهها و پردازش
پوشهٔ دانلود راهاندازی مجدد، پوشهٔ پایش،
اسکریپت پسپردازش (پس از هر کار با آرگومانهای سازگار SABnzbd و محیط
SAB_* اجرا میشود - اسکریپتهای موجود SAB بدون تغییر کار میکنند)،
پسوندهای پاکسازی (فایلهای آشغال پس از اتمام حذف میشوند)، پوشههای هوشمند
و بایگانی TV (§10 را ببینید).
نگه داشتن فایلهای .nzb پس از برداشتن (بهطور پیشفرض خاموش) فایل
.nzb اصلی را پس از افزودن به صف در پوشهٔ پایش نگه میدارد، به جای
انتقال به سطل زباله - برای مجموعهداران، و برای دادن فایل به کسی وقتی دانلودی
مشکل دارد. فایل نگهداشتهشده به خاطر سپرده میشود، حتی پس از راهاندازی مجدد، و
دوباره به صف اضافه نمیشود؛ برای دانلود دوباره، آن را دوباره ذخیره کنید. هرکدام را
انتخاب کنید، کشوی هر کار یک دکمهٔ دانلود فایل .nzb دارد، پس نسخهای از
.nzb هر کار هرگز بیش از یک کلیک فاصله ندارد.
جستجو در ایندکسرها زنده
حسابهای شما در سایتهای ایندکسر NZB، هرکدام یک ردیف، تا جستجویی روی دیوار بتواند از آنها هم بپرسد. اینکه این قابلیت چه میکند و چطور با آن جستجو کنید، در §5 است.
| فیلد | چه میکند |
|---|---|
| نام | برچسبی به انتخاب خودتان، و هویتی که شمارندهها و حدهای روز زیر آن نگه داشته میشوند. تغییر نام یک ردیف ردیف تازهای آغاز میکند، پس کلید را دوباره وارد کنید. |
| نشانی واسط | نشانی واسط سایت. نشانی وب معمولیاش کافی است؛ ردیف Prowlarr یا NZBHydra2 شبیه http://host:9696/1/api است. |
| کلید API | از صفحهٔ حسابتان در آن سایت. روی همین دستگاه میماند، فقط به سایتی که به آن تعلق دارد فرستاده میشود، دیگر نشان داده نمیشود و هرگز در گزارش نوشته نمیشود. خالی، کلید ذخیرهشده را نگه میدارد. |
| جستجو در روز | این حساب در روز چند جستجو میتواند خرج کند. 0 = بیحد، و پیشفرض. |
| دانلود در روز | در روز چند برداشت میتواند خرج کند. 0 = بیحد. هر دو شمارنده در نیمهشب UTC از نو شروع میشوند. |
| روشن، آزمایش | روشن چیزی است که ردیف را قابل جستجو میکند؛ تیک را بردارید تا حسابی را بیآنکه به کار ببرید نگه دارید. آزمایش از سایت میپرسد چه چیزی را پشتیبانی میکند و پاسخ، یا خطا، را همانجا نشان میدهد. |
ایندکسگذاری زنده
| تنظیم | کارکرد |
|---|---|
| ایندکسر داخلی | کلید اصلی، خاموش مگر آنکه روشنش کنید. خاموش یعنی بدون اسکن، بدون جستجوی فراداده، بدون نمونهگیری در دسترسبودن و بدون خوراک newznab؛ ایندکسی که از پیش روی دیسک است نگه داشته میشود (دکمه حذف وجود دارد)، پس روشنکردن دوباره از سر گرفته میشود نه اسکن مجدد. |
| گروهها | گروههای خبری که ایندکسر داخلی اسکن میکند (مثلاً alt.binaries.teevee). |
| فاصلهٔ اسکن | ثانیه بین گذرها (پیشفرض 900). |
| مقالههای پُرسازی گذشته | هدرهایی که در نخستین اسکن یک گروه واکشی میشوند. |
| عمیقسازی در هر اسکن | هر گذر این تعداد مقالهٔ قدیمیتر را نیز ایندکس میکند و تاریخچهٔ قابلجستوجوی شما را در پسزمینه رشد میدهد تا به بیشینهٔ سن برسد (پیشفرض 200,000 در هر گذر ≈ دهها میلیون مقاله در هر روز روشن بودن). |
| بیشینهٔ سن | پستهای قدیمیتر از این را نادیده بگیر (90d، 6m، 2y) - اندازهٔ ایندکس و زمان اسکن را محدود میکند. |
| هرس تا پنجرهٔ سن | بهطور پیشفرض روشن. ریلیزهای پیشتر ذخیرهشده را نیز بهمحض گذشتن از بیشینهٔ سن حذف میکند، تا نمایه بهجای رشد بیپایان تقریباً همان پنجره را نگه دارد. خاموش = تنها پستهای تازه پالایش میشوند و آنچه ذخیره شده میماند. تکههای آشغال مرده (پنهان، پس از یک هفته هنوز ناقص) در هر حال جمعآوری میشوند. |
| دروازههای ورودی | قواعد JSON که آنچه وارد ایندکس میشود را فیلتر میکنند: نوعها (آشغال مبهمشده بهطور پیشفرض حذف میشود)، سال/رزولوشن/زبان، کرانهای اندازه. |
| همین حالا اسکن کن / اسکن مجدد عمیق | یک گذر را فوری اجرا کن؛ با یک عمق، آن تعداد هدر اخیر را دوباره اسکن کن. |
| کلید OMDb / تازهسازی فراداده / پاک کردن | کنترلهای غنیسازی دیوار (§6). پاک کردن پایگاه داده را از نو میسازد - مسیر بازیابی در صورت خرابی آن. |
| خوراک pre | خاموش تا وقتی روشنش کنید. بسیاری از بارگذاریها بدون نامشان منتشر میشوند و پویش چیزی برای خواندن ندارد. کانالهای بازپخش عمومی نام واقعی را اعلام میکنند و این تنها راه باز برای جور کردن چنین نوشتههایی است. روشن کردن، اتصالی به یک شبکهٔ IRC باز نگه میدارد و گوش میدهد: هرگز چیزی فرستاده نمیشود و حسابی ساخته نمیشود. نیازمند روشن بودن نمایهساز است، چون خوراکی که جایی برای گذاشتن شنیدههایش ندارد فقط سوکتی است که بیهوده باز مانده. |
| کارساز بازپخش، کانالهای بازپخش | شبکهٔ IRC که اعلانها را میآورد (میزبان یا میزبان:درگاه) و کانالهایی که باید شنیده شوند، جدا شده با ویرگول. تغییر در اتصال بعدی کارگر میشود: خوراک را خاموش و روشن کنید تا بیدرنگ اعمال شود. |
| نامگذاری با همبستگی | بازپخشهای عمومی زنده نام پرونده ندارند، پس بیشتر نوشتههای مبهمشده را نمیتوان مستقیم جور کرد. آنچه یک اعلان روشن میکند این است که یک انتشار کی پیدا شده و چقدر بزرگ است. این، زمان و اندازهٔ اعلامشده را با نوشتههای بینام میسنجد و هنگام جور بودن، نام واقعی را در بخش مرور پیشنهاد میدهد. پیشنهاد بهروشنی پیشنهاد نشانهگذاری میشود، به کلیک شما نیاز دارد و هرگز نام پروندههای روی دیسک را عوض نمیکند. |
| اعمال خودکار جورهای قوی | بهطور پیشفرض خاموش، و هنگام روشن بودن سختگیر: اندازه باید تنگاتنگ بخواند، هیچ اعلان دیگری نباید تقریباً به همان خوبی جور باشد، و اعلان باید در بررسی وارونه همین نوشته را بازگزیند. نام اعمالشده تنها شیوهٔ نمایش انتشار را عوض میکند، برچسب استنتاجی میخورد و اگر بارگیری پایانیافتهای خلافش را ثابت کند خودبهخود برداشته میشود. هرچه ضعیفتر باشد پیشنهاد میماند. |
| پیشینهٔ اعلانها | خوراک زنده تنها اعلانهای پس از روشن شدنش را میشنود. این، نزدیک شش ماه اعلان گذشته را از یک پایگاه pre عمومی، مؤدبانه و یک بار، میآورد تا نوشتههای از پیش نمایهشده هم جور شوند. نیمساعتی در پسزمینه میدود. |
کتابخانه، امنیت، رابط
کتابخانه: دستههایی که بهعنوان رکوردهای آنی کتابخانه در نظر گرفته میشوند + فاصلهٔ بررسی مجدد. امنیت: کلید API کامل (همهچیز) و کلید NZB (فقط-افزودن - دادنش به سایتهای ایندکسر امن است)، هر دو بهصورت زنده قابل چرخش. هر جعبه بهمحض خروج شما از فیلد، کلیدی را که به آن تعلق دارد جایگزین میکند، و خالی گذاشتن یک جعبه کلیدی را که از پیش دارد نگه میدارد. کلید API افزون بر این Show را دارد که کلید فعلی را آشکار و کپی میکند تا هر وقت خواستید در Sonarr، Radarr یا NZB360 بچسبانید، و Create new که جایگزینی میسازد - کلید قدیمی بیدرنگ از کار میافتد، پس هر چیزی که از پیش متصل است باید کلید تازه را بگیرد. هر دو به خودِ کلید API مشروطاند: کلید NZB فقط-افزودن نمیتواند آن را بخواند، و تمام فلسفهٔ آن کلید همین است. برای اینکه کلید در یک نصب تازه از کجا میآید، §2 را ببینید. رابط: صداهای کلیک، اعلانهای دسکتاپ هنگام اتمام، فاصلهٔ مرتبسازی مجدد ارائهدهندهها.
واحدهای سرعت live تعیین میکند هر سرعتی در داشبورد چگونه نشان داده شود: مگابایت (MB/s، عرف مدیران دانلود، پیشفرض) یا مگابیت (Mb/s، همانگونه که ارائهدهندههای اینترنت خطوط را اعلام میکنند). اندازهٔ فایلها در هر حال به بایت میماند. این ویژگیِ دیمن است نه مرورگر شما، پس برای هر دستگاهی که به این نصب نگاه میکند صدق میکند.
پیشرفته: پیچهای تنظیمی پشت موارد آشکار
شش تنظیم بدون پرچم در خط فرمان. هرکدام اکنون در کارت تنظیماتی که به آن تعلق دارد یک
ردیف پیشرفته دارد و همچنان از راه API قابل تنظیم است
(§16)، برای نمونه
/api?mode=config&name=verify_mode&value=lean&apikey=…. مانند
همهٔ تنظیمهای دیگر در settings.json ذخیره میشوند.
| نام | چه میکند |
|---|---|
verify_mode | full | fast | lean (پیشفرض fast). lean همان هلِ لازم برای پردازندههای کند است: مانند fast، اما بهمحض آنکه PAR2 فایلی را پوشش دهد از CRC یِ yEnc هر مقاله نیز میگذرد، یعنی یک لایهٔ CRC32 بهجای دو لایه. دانلودهای بدون PAR2 همچنان CRC مقالههایشان را نگه میدارند، و بررسی و تعمیر پایان کار در هر دو حالت دستنخورده است. گزینشگر بررسی هنگام بارگیری در بالا همین تنظیم است. |
auto_retry_mins | مهلت پیش از تنها تلاش خودکار دوبارهای که یک شکست نخست با مقالههای غایب میگیرد (پیشفرض ۲۰). تأخیر انتشار علتی واقعی برای غیبت مقالههاست و خودبهخود برطرف میشود؛ به لطف ژورنال، اجرای دوباره تنها آنچه را هنوز کم است میآورد. شکستهای ناشی از گذرواژه یا حذف هرگز مشمول نمیشوند. |
index_scan_par | نمایهساز چند گروه را همزمان پویش کند (پیشفرض ۳، محدود به ۱ تا ۸). |
oracle_sample | بودجهٔ STAT در بیکاری برای پیشگوی دردسترسبودن (§13)، شمار کاوش در ساعت به ازای هر سرور. پیشفرض ۳۰۰، بیشینه ۳۶۰۰، و 0 نمونهبرداری را یکسره خاموش میکند. |
predb_max_rows | جدول خوراک چند اعلان pre را نگه میدارد (پیشفرض 250000، محدود به 10000 تا 5000000). هرس ساعتی تا همین عدد کوتاه میکند و درونریزی تاریخی اگر قرار باشد از آن بگذرد از شروع خودداری میکند، پس هیچ درونریزیای ردیفهایی را که هرس بعدی پاک میکند اضافه نمیکند. |
predb_seed_days | یک درونریزی تاریخی که بدون پنجرهٔ خودش آغاز شود تا چه اندازه به عقب میرسد (پیشفرض 180 روز، بیشینه 366). پنجرهٔ بزرگتر یعنی درخواستهای بیشتر به منبع pre که آهنگش یک درخواست در هر دو ثانیه است. |
10 · خودکارسازی
فهرست پیگیری
سادهترین خودکارسازی: یک عنوان در داشبورد اضافه کنید، ترجیحات کیفیت را تنظیم کنید، تمام. ریلیزهای جدید بهمحض ظاهر شدن در گروههای ایندکسشدهٔ شما گرفته میشوند؛ نسخههای باکیفیتتر گرفتنهای قبلی را ارتقا میدهند؛ یک نمای تقویم آنچه در راه است را نشان میدهد.
یک منبع فهرست فهرست پیگیری را از فهرستی که در Plex نگه میدارید تغذیه میکند، به یکی از دو روش: حساب Plex خود را با تأیید یک کد کوتاه در صفحهٔ Plex پیوند بزنید، یا یک نشانی فهرست پیگیری Plex را جایگذاری کنید. این نشانی یک اعتبارنامه است - به هرکس آن را در دست دارد حق خواندن فهرست را میدهد - پس بعد از ذخیره پنهان میشود. همگامسازی حذفها عمداً بین دو حالت فرق دارد: حساب پیوندشده کل فهرست را میبیند، پس عنوانی که آنجا حذف شود اینجا دیگر پیگیری نمیشود (دانلودهای ازپیشتمامشده میمانند)؛ فید نشانی فقط تازهترین موارد را میآورد، پس نبودنِ یک عنوان چیزی را ثابت نمیکند و عنوانها فقط اضافه میشوند. هر دو پیشفرض را میتوان برای هر منبع تغییر داد.
آنچه میخواهم را در حسابهای ایندکسرم هم جستجو کن، در پای کارت فهرست پیگیری، اجازه میدهد افزون بر ایندکس خودتان از حسابهای تنظیمات → جستجو در ایندکسرها هم بپرسد (§5). خاموش شروع میشود، چون تنها چیزی اینجاست که بدون کلیک شما یک حساب شمردهشده را خرج میکند. روشن که باشد، هر مورد پیگیریشده روزی حدود دو بار میپرسد، و فقط دربارهٔ آنچه هنوز نیافته، زیر همان حدهای روزانه و با همان یادداشتها وقتی حسابی کنار گذاشته میشود. نامزدی که از یک ایندکسر میآید دقیقاً مثل نامزد محلی سنجیده میشود، پس کفهای کیفیت، ارتقاها، بستههای فصل و رسیدگی به تکراریها همه برقرارند، و نسخهٔ محلی هر تساوی را میبرد چون سهمیهای خرج نمیکند. با ایندکسر داخلیِ خاموش، همین است که به فهرست پیگیری اصلاً چیزی برای کار کردن میدهد.
فیدهای RSS
تنظیمات → RSS: هر URL RSS از newznab/ایندکسر با فاصلهٔ هر فید، دسته و قواعد فیلتر (الگوهای عنوان، کرانهای اندازه). موارد منطبق خودکار دانلود میشوند.
پوشههای هوشمند
قواعدی که هنگام افزودن یک کار ارزیابی میشوند: تطبیق با الگو/کلیدواژهها و اندازه،
تخصیص یک دسته (اولین تطبیق برنده است). با روشن بودن بایگانی TV، قسمتهای
تمامشدهٔ TV تغییرنام یافته و بهصورت Show/Season 01/Show - S01E02.mkv
بایگانی میشوند - آمادهٔ Plex/Jellyfin بدون ابزار بیرونی.
زمانبند
زمانبندی هفتگی (§9 را ببینید) مکث/ازسرگیری/سرعت را بر اساس زمان روز خودکار میکند.
اسکریپتها
یک اسکریپت پسپردازش آرگومانهای موقعیتی SABnzbd و متغیرهای محیطی
SAB_* را دریافت میکند: اکوسیستم بزرگ اسکریپتهای SAB
بیتغییر اجرا میشود. گویش NZBGet هم کنارش فراهم است - متغیرهای
NZBPP_*
(DIRECTORY، NZBNAME، CATEGORY،
TOTALSTATUS، PARSTATUS، UNPACKSTATUS،
FINALDIR) و کدهای خروج 93/94/95 - پس منطق اصلی یک اسکریپت
افزونهٔ NZBGet هم اجرا میشود. این نگاشت صادقانه است نه یک شبیهسازی:
تعمیر و باز کردن درون دانلود یکگذره رخ میدهند، پس یک اتمام تمیز
PARSTATUS=0 و یک اتمام تعمیرشده PARSTATUS=2
گزارش میدهد. قالبهای گزینه بهازای هر اسکریپت (NZBPO_*)
فراهم نیستند.
اسکریپت میتواند هنگام خروج یک کمککار را در پسزمینه در حال اجرا
بگذارد و nzbfast آن را نخواهد کشت، اما nzbfast همان لحظهای که خودِ
اسکریپت تمام میشود خواندن خروجی اسکریپت را متوقف میکند: به کمککار
پسزمینهای هدایت خروجی خودش را بدهید، وگرنه نخستین باری که بخواهد چیزی
چاپ کند متوقف میشود.
اسکریپت پیش از صف
قلاب دومی پیش از ورود دانلود به صف اجرا میشود
(Settings → Folders → Pre-queue script)، با قرارداد پیش از صف SABnzbd:
آرگومانهای name, pp, category, script, priority, size, group بهعلاوهٔ
محیط SAB_*. نخستین خط خروجیاش دانلود را میپذیرد
(1) یا رد میکند (0)؛ خطهای 2-7 میتوانند
تغییر نامش دهند، pp را تعیین کنند، دسته را عوض کنند،
اسکریپتی برگزینند یا اولویت را تغییر دهند (خطهای خالی پیشفرض را نگه
میدارند). دانلود ردشده با ذکر دلیل بهعنوان ناموفق به تاریخچه میرود،
و تلاش مجدد از تاریخچه بدون پرسیدن دوباره از اسکریپت آن را برمیگرداند.
این قلاب هرگز نمیتواند دانلودی را گم کند: اگر اسکریپت غایب باشد، از
کار بیفتد، از بودجهٔ زمانیاش فراتر برود یا چیزی چاپ کند که حکم نیست،
افزودن دستنخورده پیش میرود و گزارش میگوید چرا.
رویدادهای چرخهٔ عمر و وبهوکهای امضاشده
هر نقطهٔ عطف یک کار، رویدادی نسخهدار است: job.added،
job.started، job.finishing، job.repaired،
job.completed، job.failed، بهعلاوهٔ
queue.idle، giveup.tripped، disk.low،
storage.slow و quota.reached. هر یک
schema_version را حمل میکند (فعلاً 1؛ کلیدهای تازه ممکن
است بدون افزایش نسخه ظاهر شوند - آنچه را نمیشناسید نادیده بگیرید)،
یک seq یکنواخت صعودی، و مهر زمانی at بر حسب
میلیثانیه.
برای دریافتشان، یک مقصد اعلان از نوع وبهوک بیفزایید
(Settings → Automation) و در فیلد events آن انواع رویدادهایی را
فهرست کنید که باید بگیرد - انواع دقیق، یا پیشوندی مانند
job.*. مقصد سپس بهازای هر رویداد یک POST دریافت میکند:
JSON رویداد بهعنوان بدنه بهعلاوهٔ شناسهٔ delivery
(<boot>-<seq>، دستگیرهٔ حذف تکرار)، سرآیندهای
X-NzbFast-Event و X-NzbFast-Delivery، و - وقتی
مقصد راز امضایی دارد -
X-NzbFast-Signature: sha256=<hex>، یعنی HMAC-SHA256
از عین بایتهای بدنه زیر راز شما (همان شکلی که وبهوکهای GitHub به کار
میبرند). راستیآزمایی در Python:
expected = "sha256=" + hmac.new(secret, body, hashlib.sha256).hexdigest()
ok = hmac.compare_digest(expected, request.headers["X-NzbFast-Signature"])
تحویل دستکم-یکبار است: مقصدی که در دسترس نباشد پس از
10 ثانیه، 60 ثانیه و 5 دقیقه دوباره امتحان میشود، سپس رها
میشود و خطا روی ردیف تنظیمات مقصد نشان داده میشود. پاسخ خطای HTTP
(404، 401...) دوباره امتحان نمیشود - گیرنده را درست کنید و از Test
استفاده کنید. هر مقصد خط تحویل خودش را دارد، پس مقصدی که کند یا
دور از دسترس است هرگز دیگری را معطل نمیکند؛ درون یک خط، تحویلها ترتیب
رخ دادن رویدادها را نگه میدارند، و اگر یکی رها شود شمارههای ترتیب
شکاف را نشان میدهند. واژههای کلاسیک رویداد
(completed، failed، repaired،
disk، quota) معنای اعلان انسانی خود را روی
همان مقصد نگه میدارند.
11 · Sonarr، Radarr و دوستان
nzbfast بهطور بومی با API SABnzbd صحبت میکند، پس هر *arr بدون تنظیم کار میکند - و میتواند ایندکسر آنها هم باشد.
بهعنوان کلاینت دانلود
- در Sonarr/Radarr: Settings → Download Clients → افزودن SABnzbd.
- میزبان: ماشین nzbfast شما · پورت: 6789 · کلید API: کلید API کامل شما (کجا پیدایش کنید: §2).
- دسته به دلخواه (مثلاً
tv/movies). Test → تیک سبز → Save.
داشبورد نشانی را به دستتان میدهد: روی نصبی که هنوز چیزی دانلود نکرده، مسیر «بگذار Sonarr، Radarr یا یک برنامه دانلودها را اضافه کند» در کارت خوشامد، نشانی دقیق را با دکمهٔ کپی در کنارش نشان میدهد. کلید API عمداً روی آن خط نیست؛ پشت آشکارسازی خودش در Settings → Security میماند (§2).
صف، تاریخچه، وضعیت هر کار، «حذف و پاک کردن»، تلاش مجدد و مسیریابی دسته همگی همانطور که *arrها انتظار دارند رفتار میکنند.
بهعنوان ایندکسر (newznab)
- Settings → Indexers → افزودن Newznab.
- URL:
http://<host>:6789/· مسیر API:/api· کلید: کلید API شما. - nzbfast پرسوجوهای
caps،search،tvsearchوmovieرا از ایندکس خودش از گروههای پایششدهٔ شما سرو میکند، و/getnzb/<id>فایل NZB را بازمیگرداند.
<error code="101"> پاسخ میدهد، تا اشتباه همان لحظهای که ایندکسر را
میافزایید دیده شود، نه هفتهها بعد.چرا به زحمتش بیفتیم؟ یک ایندکسر خودمیزبان دقیقاً از همان گروههایی که برایتان مهماند: بدون حساب، بدون سقف فراخوانی API، با نگهداشتی به هر عمقی که اجازه اسکنش را بدهید. این افزودهای بر ایندکسرهای همیشگی شماست نه جایگزین آنها، چون تنها چیزی را مییابد که با نام فایل واقعی پست شده باشد.
12 · گوشی و اپهای راه دور
nzbfast هر دو پروتکل اصلی کنترل از راه دور را پیادهسازی میکند، پس تقریباً هر اپ موبایل/تبلت کار میکند. هر پروتکلی که اپ شما پشتیبانی میکند را انتخاب کنید:
اپهایی که NZBGet صحبت میکنند (nzb360، LunaSea، NZB Unity…)
| فیلد در اپ | مقدار |
|---|---|
| نوع | NZBGet |
| میزبان / پورت | ماشین شما : 6789 |
| نام کاربری | هرچیزی (مثلاً nzbfast) |
| رمز عبور | کلید API شما |
سطح کامل JSON-RPC که این اپها استفاده میکنند سرو میشود: وضعیت، صف با ترتیب مجدد/مکث/حذف، تاریخچه، افزودن-NZB، محدودیت سرعت، مکث/ازسرگیری، گزارش.
اپهایی که SABnzbd صحبت میکنند
| فیلد در اپ | مقدار |
|---|---|
| نوع | SABnzbd |
| میزبان / پورت | ماشین شما : 6789 |
| کلید API | کلید API شما (یا کلید NZB برای دسترسی فقط-افزودن) |
داشبورد روی گوشی شما
فقط http://<machine>:6789 را در یک مرورگر موبایل باز کنید - کل
داشبورد و دیوار چیدمان لمسی دارند. پنل تنظیمات → دسترسی از راه دور، URLهای دقیق
و یک کد QR برای اسکن را نشان میدهد.
دسترسی به nzbfast از بیرون خانه
صفحهٔ ورود وجود ندارد و این عمدی است. ورود مبتنی بر کوکی نشست سطحی امنیتی است که باید تا همیشه نگهداری شود و باز هم ضعیفترین قفل هر چیزی خواهد بود که رو به اینترنت باز است. nzbfast در عوض با کلید API شما احراز هویت میکند و آن کلید را هم در سرآیند درخواست و هم در نشانی میپذیرد (X-Api-Key یا Authorization: Bearer) - و همین است که به چیزی در جلوی آن اجازه میدهد ورود را درست انجام دهد.
سادهترین پاسخ این است که اصلاً منتشرش نکنید. Tailscale را روی این دستگاه و روی گوشیتان نصب کنید تا هر دو به یک شبکهٔ خصوصی بپیوندند: چیزی در معرض نیست، به کار روی مسیریاب یا گواهی نیازی نیست، و تنظیمات ← دسترسی از راه دور بهمحض دیدن اجرای Tailscale نشانیای نمایش میدهد که از همهجا کار میکند. تا وقتی به دامنهٔ عمومی نیاز قطعی ندارید، همین را انتخاب کنید.
nzbfast میتواند خودش هم HTTPS سرو کند. در تنظیمات → امنیت →
HTTPS certificate / HTTPS private key به یک گواهی PEM و کلیدش اشاره
کنید (یا با --tls-cert cert.pem --tls-key key.pem شروع
کنید)، دوباره راهاندازی کنید، و داشبورد و API بهجای HTTP ساده روی
https:// پاسخ میدهند - یک شنونده، یک طرح نشانی. از
گواهیای که دامنهتان همین حالا دارد استفاده کنید (مثلاً از Let's
Encrypt با certbot)، یا برای شبکهٔ محلی از گواهی خودامضا، که مرورگرها
پس از یک هشدار یکباره میپذیرند. گواهی خراب یا منقضی با نام بردن فایل
از راهاندازی سر باز میزند، پس اشتباه همانجایی دیده میشود که مرتکبش
شدید؛ برای تمدید فایلها را جایگزین و دوباره راهاندازی کنید. HTTPS
بومی ترافیک را رمزگذاری میکند اما ورودی اضافه نمیکند، پس کلید API را
تنظیمشده نگه دارید.
اگر به دامنهٔ عمومی نیاز دارید، یک پروکسی معکوس جلوی آن بگذارید، گواهی را به آن بسپارید و بگذارید خودش احراز هویت را انجام دهد. nzbfast را با --bind 127.0.0.1 اجرا کنید تا پروکسی تنها راه ورود باشد، و پروکسی را به 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;
}
هرچه پروکسیتان ارائه میدهد رویش بگذارید: احراز هویت basic، سرویس forward-auth مانند Authelia یا Authentik، یا گواهیهای سمت کاربر. یک نکته همه را غافلگیر میکند - Sonarr، Radarr و برنامههای گوشی نمیتوانند ورود مرورگری را کامل کنند، پس راهی برایشان باز بگذارید. بیشتر پروکسیها میتوانند درخواستی را که سرآیند X-Api-Key معتبر دارد عبور دهند و از بقیه احراز هویت بخواهند.
13 · ابزارهای کارایی
محک سیستم
یک کلیک سه سقف شما را میسنجد - توان عبوری شبکه (یک کاوش واقعی چنداتصاله 8-ثانیهای)، نرخ تأیید پردازنده، و سرعت نوشتن دیسک - و با پاسخ آغاز میکند: بیشینه سرعت دانلود مورد انتظار شما و اینکه کدام سقف حد است. کوتاهترین میله گلوگاه شماست؛ بقیه فضای مانورشان را نشان میدهند. آن را زمانبندی کنید (هر 6 ساعت تا هفتگی) و هر اجرا در یک جدول تاریخچه ثبت میشود، تا ببینید کِی ارائهدهنده، ISP یا سختافزارتان رفتارش را تغییر داده. اجراهای زمانبندیشده فقط هنگام بیکاری صف رخ میدهند.
تنظیم دقیق اتصال
یک ارائهدهنده را با تعداد اتصالهای فزاینده میسنجد و تنظیم را پیشنهاد میدهد - سوکتهای بیشتر تا وقتی ارائهدهنده یا خط شما اشباع شود کمک میکنند، و برخی ارائهدهندهها زیادهخواهی را تنبیه میکنند. آزمایش همه هر ارائهدهنده را مقایسه میکند، سپس همه را با هم میترکاند تا بررسی کند استخر خط شما را اشباع میکند.
تنوع سرورها
مقالهها را در سنین مختلف روی هر سرور با STAT نمونهبرداری میکند و ارائهدهندهها را بر اساس شکافهای مشترک خوشهبندی میکند: ارائهدهندههایی با ~100% مقالههای گمشدهٔ مشترک همان ستون فقراتاند (برای بازیابی زائد)؛ مستقلها واقعاً پوشش شما را گسترش میدهند. با یک توصیهٔ زبانساده پایان مییابد.
هوش خودکار صف
- بهتعویقانداختن خودکار: دانلودی که روی یک سرور کند لنگان است در حالی که کارهای دیگر منتظرند در انتها پارک میشود (ژورنال پیشرفتش را نگه میدارد) و وقتی صف خلوت شد دوباره تلاش میشود.
- پیشواکشی سرور بیکار: سرورهایی که نمیتوانند به کار فعال کمک کنند (نسخههایشان رفته) در این میان شروع به دانلود کار بعدی صف میکنند. هیچ کلاینت دیگری همپوشانی میان-کاری انجام نمیدهد.
- خیساندن میان-کاری: در حالی که دنبالهٔ یک کار تمامشده (تأیید/استخراج) روی دیسک کامل میشود، دانلود کار بعدی همین حالا مالک خط است.
پیشگوی دردسترسبودن
حذفها مهمترین دلیل شکست یک دانلود یوزنتاند، و پیشبینیپذیرند: همان ریلیز روی یک ستون فقرات ناپدید میشود در حالی که دیگری هنوز آن را دارد. nzbfast دفترچهٔ کوچکی از آنچه ارائهدهندههای خودتان واقعاً تحویل دادهاند نگه میدارد و بودجهای ناچیز از کاوشهای STAT در زمان بیکاری خرج میکند (چند صد در ساعت به ازای هر سرور، هرگز در حین دانلود) تا آن را بهروز نگه دارد. برای این کار هرگز بار دادهای دانلود نمیکند.
آنچه از آن به دست میآورید:
- یک حکم دردسترسبودن روی کارتهای دیوار و ردیفهای نمایه (§6): «؟» کهربایی برای نامطمئن نزد ارائهدهندههای شما، قرمز برای ازدسترفتهٔ قطعی. نبودِ نشانه یعنی اوضاع خوب به نظر میرسد.
- نشان پاکسازیشده روی گروههایی که پستهای تازهشان همین حالا برداشته میشود، تا گروهی رو به مرگ را از ریلیزی بدشانس بازشناسید.
- ارائهدهندههایی که پیشگو ازدسترفته میداند آخر پرسیده میشوند (تنظیمات، بهطور پیشفرض خاموش، آزمایشی): وقتی بررسی مطمئن باشد که ستون فقرات یک ارائهدهنده ریلیزی را از دست داده، برای آن دانلود آن ارائهدهنده بهجای اول، آخر پرسیده میشود. چیزی حذف نمیشود، پس قضاوت نادرست کمی زمان میگیرد نه خودِ دانلود.
این حکم پیشبینیای بر پایهٔ شواهد است، نه تضمین. برای پاسخی قاطع دربارهٔ
یک NZB، nzbfast check (§15) مقالههای واقعی را
میشمارد.
بودجهٔ حافظه - و هزینهٔ حافظهٔ کم
همهٔ حافظههای نهان موتور یک بودجه را به اشتراک میگذارند (پیشفرض ¼ از RAM فیزیکی،
کراندار به 256 MB–16 GB). آن را صریحاً با محدودیت حافظه در تنظیمات، یا
--mem-limit در خط فرمان تنظیم کنید.
nzbfast ساخته شده تا شبکه و دیسک شما را همزمان خیس کند، و RAM همان چیزی است که به آن اجازه میدهد هر دو را در یک گذر انجام دهد: مقالهها رمزگشایی، تأیید و مستقیماً در آفستهای نهاییشان نوشته میشوند، پس جلدهای آرشیو اصلاً نیازی نیست به دیسک برسند. آن را از حافظه محروم کنید و چیزی نمیشکند - هر حافظهٔ نهان یک مسیر سرریز دارد، و موتور بهجای swap یا شکست به I/O دیسک بیشتر تنزل میکند. اما آن سرریز رایگان نیست، و روی کارهای بزرگ میتوانید آن را بسنجید.
سنجیده روی یک ماشین و یک خط (M1 Ultra، 10 GbE)، فایلهای یکسان در هر بودجه. هر اجرا یک نتیجهٔ درست، کاملاً تأییدشده و استخراجشده تولید کرد:
| اندازهٔ کار | RAM فراوان | بودجهٔ 2 GB ≈ ماشین 8 GB | بودجهٔ 1 GB ≈ ماشین 4 GB | بودجهٔ 256 MB ≈ NAS 2 GB |
|---|---|---|---|---|
| 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% |
اوج حافظه بودجه را دنبال میکند، نه کار را: آن دانلود 190 GB در حدود 1.1 GB از RAM کامل میشود. آنچه در ازایش میدهید زمان است - و فقط روی کارهای بزرگ.
- تا ~35 GB، حافظهٔ کم رایگان است. مجموعهٔ کاری در هر صورت جا میشود، پس یک ماشین 4 GB چنین کاری را بههمان سرعتِ یک ماشین 64 GB تمام میکند.
- پس از ~87 GB، 20–40% میپردازید - اما فقط وقتی خط شما از دیسکتان جلو بزند. بلوکهای تأیید و جلدهای آرشیوی که در RAM میماندند بهجایش نوشته و بازخوانده میشوند، و این فقط وقتی وقتگیر است که شبکه بتواند سریعتر از آنچه دیسک میتواند ترافیک اضافه را جذب کند تحویل دهد. آن 20–40% بالا روی 10 GbE سنجیده شد؛ همان کار 87 GB با همان بودجهها روی یک خط ~2.4 Gbps اصلاً هیچ جریمهای نشان نداد (−1 تا +7%، درون نوفهٔ اجرا-به-اجرا). جریمه تابعی است از میزان جلو زدن خط از دیسک، نه از اندازهٔ کار - روی یک اتصال خانگی معمولی، یک بودجهٔ کوچک حتی روی کارهای بسیار بزرگ تقریباً رایگان است.
- جریمه به فلات میرسد. همینکه کاری بهقدر کافی بزرگ باشد که سرریز کند، هر بودجهٔ محدود تقریباً به همان اندازه سرریز میکند - اجراهای 2 GB، 1 GB و 256 MB اساساً همان تعداد بلوک را از دیسک بازمیخوانند و در فاصلهٔ نوفه از یکدیگر تمام میشوند. پس کمی RAM بیشتر زیر آستانهای که سرریز را کاملاً حذف میکند، هزینه را جبران نمیکند: یا آنقدر بدهید که کار در حافظه بماند، یا عدد دقیق تقریباً بیاهمیت است.
روی یک NAS کوچک، همراه با بودجه اتصالها را هم پایین بیاورید (2–4). با بودجهٔ 256 MB و 2 اتصال، اوج حافظه نزدیک 190 MB میماند - بهراحتی درون آنچه یک NAS 2 GB اضافه دارد. آگاه باشید که در آن نقطه، تعداد اتصال، نه حافظه، چیزی است که شما را محدود میکند: همان کار 35 GB بهجای 65 s، 286 s طول کشید. این شکل صادقانهٔ این معامله است - همیشه تمام میکند، و درست تمام میکند؛ فقط خط را خیس نمیکند.
محکها برای هر انتشار دوباره اجرا میشوند؛ روش و ارقام هر ماشین در کنار نتایج منتشر میشوند.
14 · بهروزرسانیها
- بهروزرسانیها فقط اطلاعرسانی هستند: nzbfast هرگز باینری خودش را دانلود یا جایگزین نمیکند و کدی که بتواند این کار را بکند در آن وجود ندارد. وقتی نسخهٔ جدیدی موجود باشد، نوار بالا ⬆ v X در دسترس است - دانلود را نشان میدهد؛ این نشانک به صفحهٔ دانلود رسمی میرود (پیوند در برنامه ثابت است و هرگز از مانیفست بهروزرسانی نمیآید). نسخهٔ جدید را همانطور نصب کنید که نسخهٔ فعلی را نصب کردید.
- nzbfast دو بار در روز نسخههای جدید را بررسی میکند. بررسی بهروزرسانیها (تنظیمات) را خاموش کنید تا اصلاً با مانیفست بهروزرسانی تماس نگیرد؛ یک URL بررسی خالی هم همین کار را میکند.
بهروزرسانی بدون از دست دادن تنظیمات
یک قاعده همهٔ نصبها را پوشش میدهد: بهروزرسانی برنامه را جایگزین میکند، هرگز تنظیمات شما را نه. هر آنچه پیکربندی کردهاید - سرورها، مسیرها، کلید API، صف - در چند فایل انگشتشمار داخل یک پوشه زندگی میکند (§17)، و هیچ نصبکنندهای، کشیدن ایمیجی یا ارتقای بستهای به آن پوشه دست نمیزند. وقتی تنظیمات پس از یک بهروزرسانی گمشده به نظر میرسند، تقریباً همیشه به این دلیل است که نصب جدید پوشهای دیگر و خالی را میخواند، نه اینکه چیزی حذف شده باشد؛ فایلهای قدیمی هنوز همانجایی هستند که همیشه بودند. §18 گامهای بازیابی را دارد.
| نصب | روش بهروزرسانی |
|---|---|
| اپ macOS | DMG جدید را باز کنید و NzbFast را به Applications بکشید و جایگزین قدیمی کنید. پوشهٔ دادههای شما جداست و دست نمیخورد. |
| نصبکنندهٔ Windows | نصبکنندهٔ جدید را روی نصب قدیمی اجرا کنید. پوشهٔ دادههای شما جداست و دست نمیخورد. |
| Docker (خط فرمان) | docker pull nzbfast/nzbfast،
کانتینر قدیمی را حذف کنید، سپس جدید را با دقیقاً همان نگاشتهای
-v اجرا کنید. ایمیج دورانداختنی است؛ پوشهٔ نگاشتشدهٔ
/config نصبِ شماست. اگر فرمان اجرای شما مسیری نسبی مانند
-v ./config:/config دارد، هر بار آن را از همان پوشه اجرا
کنید - از هر جای دیگری، ./config پوشهای دیگر و خالی
است. |
| Docker Compose | docker compose pull && docker compose
up -d، با همان فایل compose در همان جا. ./config داخل
فایل به پوشهٔ خودِ فایل لنگر انداخته، پس فایل را همانجا که هست نگه
دارید. |
| Watchtower | کاری لازم نیست: وقتی ایمیج تازهای منتشر شود، کانتینر را با همان نگاشتها دوباره میسازد. |
| Unraid | زبانهٔ Docker → Check for Updates → Apply
Update. هرگز برای بهروزرسانی، اپ را حذف و دوباره اضافه نکنید؛ اگر
روزی واقعاً دوباره نصب کردید، همان مسیر appdata را نگه دارید تا
/config موجودتان را پیدا کند. |
| Synology (Container Manager) | ایمیج جدید را دانلود کنید، کانتینر را متوقف کنید و آن را با همان تنظیمات volume دوباره بسازید - راهنمای Synology این را کلیک به کلیک پوشش میدهد، از جمله انجامش طبق زمانبندی. |
| Synology (بسته) | .spk جدید را در Package
Center نصب کنید؛ در جای خود ارتقا مییابد. |
| QNAP (بسته، بتا) | .qpkg جدید را در App
Center نصب کنید؛ در جای خود ارتقا مییابد. تنظیمات و دانلودهای شما بیرون از پوشهٔ
خود برنامه هستند، بنابراین نه ارتقا و نه حذف، آنها را با خود نمیبرد. |
| Debian / Ubuntu (.deb) Fedora / RHEL (.rpm) | بستهٔ جدید را روی بستهٔ قدیمی نصب کنید: sudo dpkg -i nzbfast_*.deb یا sudo rpm -U nzbfast-*.rpm. پوشهٔ تنظیمات شما بخشی از بسته نیست، بنابراین بهروزرسانی نمیتواند چیزی را در آن جایگزین کند و تغییرات شما در /etc/nzbfast/nzbfast.env حفظ میشود. سرویس تنها در صورتی دوباره راهاندازی میشود که از قبل در حال اجرا بوده باشد. |
| Homebrew | brew upgrade nzbfast |
| باینری ساده | باینری را جایگزین کنید. config شما هر جا که ساختیدش میماند (§17). |
-e NZBFAST_APIKEY=…، یا بلوک environment فایل compose یا
قالب Unraid خودتان). کلیدی که آنجا ذخیره شود از هر سانحهٔ کانتینری جان به
در میبرد، چون روی میزبان، درون تعریف، زندگی میکند و در هر شروع دوباره
اعمال میشود. کلیدی که بعداً در تنظیمات تعیین کنید همچنان بر آن
میچربد.15 · خط فرمان
هر آنچه دیمن انجام میدهد اسکریپتپذیر هم هست. فرمانهای روزمره:
| فرمان | هدف |
|---|---|
nzbfast setup | راهاندازی تعاملی سرور. |
nzbfast serve | اجرای دیمن (داشبورد + API + خودکارسازی). --open مرورگر را باز میکند؛ --apikey کلید را دستی تعیین میکند (§2)؛ --bind نشانی گوشدادن را انتخاب میکند، پیشفرض 0.0.0.0 (هر رابط)، 127.0.0.1 فقط برای همین ماشین. برای فهرست کامل پرچمها --help را ببینید - هر تنظیم داشبورد یک پرچم دوقلو دارد. |
nzbfast get file.nzb | دانلود یک NZB، خط پردازش کامل، بدون دیمن. --preflight اگر پست نتواند کامل شود زود لغو میکند؛ --password برای مجموعههای رمزگذاریشده. |
nzbfast check file.nzb | حکم موجود بودن - COMPLETE / REPAIRABLE / IMPOSSIBLE - بدون دانلود محموله. |
nzbfast verify DIR | تأیید فایلها در برابر مجموعهٔ PAR2 در یک پوشه. |
nzbfast sysbench | محک سیستم + گزارش تنوع، در ترمینال. |
nzbfast index / search | اسکن گروهها به درون ایندکس / جستوجوی آن، بدون دیمن. |
nzbfast import-sab | وارد کردن سرورها از یک ini SABnzbd. |
همچنین در دسترس: inspect، probe،
bench، bench-cpu، soak، fetch،
spots/spot-search/spot-get (Spotnet)،
predb-seed (پایگاه pre را با دورهٔ پیش از روشن شدن خوراک پر میکند)،
make-release-nzb/make-test-nzb (نصبوارههای آزمون). هر
فرمان --config و --help میگیرد. به اینها post افزوده میشود: فایلها را همچون
مقالههای yEnc بارگذاری میکند و NZB متناظر را مینویسد. ابزاری عملیاتی است؛
--post-server صریح میخواهد و هرگز بهجای شما سروری برنمیگزیند.
16 · مرور کلی API
نقطهٔ پایانی پایه: http://host:6789/api?mode=…&apikey=…&output=json -
سازگار با SABnzbd، پس یکپارچهسازیهای موجود SAB بیتغییر کار میکنند. دو کلید:
کلید API (کنترل کامل) و کلید NZB (فقط-افزودن:
addfile/addurl). addnzblnk عمداً در مجموعه فقطافزودن نیست: حلکردن یک پیوند میتواند سهمیه اندازهگیریشده ایندکسر را خرج کند، و این کارِ یک اعتبارنامه فقطافزودن نیست.
| حوزه | حالتها |
|---|---|
| صف | queue (با name=delete/pause/resume/priority/switch)، pause، resume، addfile، addurl، addnzblnk، retry، set_password |
| اطلاعات | history، status/fullstatus، stats، version، server_stats، usage، log، warnings، بهعلاوهٔ /jobnzb/<nzo_id> (فایل .nzb ذخیرهشدهٔ خودِ کار را پس میدهد، صف یا تاریخچه؛ فقط با کلید کامل API) |
| پیکربندی | get_config، config&name=<setting>&value=… (هر فیلد تنظیمات)، server_save/delete/test/enable/reorder، import_probe/apply |
| ایندکس و دیوار | index_search، index_get، index_stats، index_scan_now، wall، wall_search/fix/refresh/art، بهعلاوه newznab در /api?t=caps|search|tvsearch|movie و /getnzb/<id> |
| خودکارسازی | watchlist، watchlist_check_now، watch_calendar، feeds، smart_folders، schedule |
| عیبیابی | sysbench، bench_history، connladder، pooltest، diversity، update_check |
| NZBGet JSON-RPC | /jsonrpc - status، listgroups، history، append، editqueue، rate، pause، log (احراز پایه: هر کاربر، کلید API بهعنوان رمز عبور) |
| پیشنمایش / پخش | /stream/<nzo_id> (بازههای HTTP؛ آغاز یک کار پارکشدهٔ کتابخانه به توکن ?t= یا کلید نیاز دارد)، /m3u/<id> (به کلید نیاز دارد؛ توکن را میسازد)، /wall، /art/… |
17 · فایلها و مکانها
اینکه پوشهٔ تنظیمات کجاست به روش نصب nzbfast بستگی دارد. همین یک پوشه هر آنچه را که ارزش پشتیبانگیری دارد در خود نگه میدارد:
| نصب | پوشهٔ تنظیمات |
|---|---|
| اپ macOS | ~/Library/Application Support/nzbfast/ |
| Windows | %LOCALAPPDATA%\nzbfast\ |
| کانتینرهای Docker / NAS | /config درون کانتینر،
که همان پوشهٔ میزبانی است که به آن نگاشت کردهاید. روی Unraid این همان
پوشهٔ appdata اپ است. |
| بستهٔ Synology | /var/packages/nzbfast/var/ |
| بستهٔ QNAP | معمولاً
/share/Download/nzbfast/config/. پوشه هنگام نصب انتخاب میشود و در
گزارش App Center نام برده میشود؛ فایل nzbfast.env خود برنامه هم آن
را ثبت میکند. |
| بستهٔ Debian / RPM | /var/lib/nzbfast/ |
| ترمینال | پوشهای که nzbfast setup را در آن
اجرا کردید، یا هر جا که --config / $NZBFAST_CONFIG
اشاره میکند. |
و آنچه درون آن است:
| فایل | محتوا |
|---|---|
config.local.json | اعتبارنامههای سرور و گزینههای هر سرور. توسط جادوگر ساخته میشود؛ در تنظیمات قابل ویرایش. آن را خصوصی نگه دارید. رمزهای عبور مبهمسازی شدهاند، نه رمزگذاری. |
settings.json | هر تنظیمی که در داشبورد تغییر داده شده. کنار config زندگی میکند؛ مقادیر رابط بر پرچمهای خط فرمان میچربند. یک کلید (یا فایل) را حذف کنید تا به پرچمها/پیشفرضها بازگردد. |
apikey | کلید APIای که nzbfast در نخستین اجرا برای خود ساخت (§2). کنار config زندگی میکند؛ روی macOS و Linux تنها برای حسابی که nzbfast را اجرا میکند خواندنی است. برای گرفتن کلیدی تازه حذفش نکنید: روی نصبی که از پیش اجرا شده، چیزی جایش را نمیگیرد و دیمن بدون هیچ کلیدی بالا میآید. بهجایش کلید تازه را در تنظیمات → امنیت تعیین کنید. |
index.db | ایندکس ریلیز (SQLite) + فرادادهٔ دیوار. حذفش امن است - از اسکن دوباره ساخته میشود (تنظیمات → ایندکسگذاری → پاک کردن این کار را برایتان میکند). |
<config>/.spool/ | حالت صف (از راهاندازی مجدد جان به در میبرد)، NZBهای هر کار، دفتر مصرف، تاریخچهٔ محک، حافظهٔ نهان تصویر پوستر. |
| ژورنال مقاله | درون پوشهٔ خروجی هر کار تا زمانی که ناقص است - ازسرگیری پس از خرابی و تلاش مجدد را نیرو میدهد. هنگام موفقیت حذف میشود. |
| ابزارهای بیرونی | هیچکدام لازم نیست - استخراج RAR و تعمیر PAR2 بومیاند. اگر روزی مجموعهای غیرمعمول به unrar یا par2 بیرونی بهعنوان جایگزین نیاز داشت، nzbfast کنار فایل اجرایی خود، سپس روی $PATH میگردد. |
18 · عیبیابی
| نشانه | بررسی |
|---|---|
| دانلودهای کند | محک سیستم را اجرا کنید - گلوگاه را صریح نام میبرد. اگر شبکه است: تنظیم دقیق اتصال را اجرا کنید، تعداد اتصال هر سرور را بررسی کنید، و مطمئن شوید ارائهدهندههایتان همگی یک ستون فقرات نیستند (تنوع سرورها). |
| کند فقط روی کارهای بسیار بزرگ (NAS یا ماشین کم-RAM) | مورد انتظار و قابل سنجش: یک بودجهٔ حافظهٔ گرسنه، حافظههای نهان را روی دیسک سرریز میکند و پس از ~87 GB معادل 20–40% هزینه دارد. برای ارقام و اینکه چهقدر RAM بدهید بودجهٔ حافظه را ببینید. کارهای کوچکتر تأثیر نمیپذیرند. |
| دانلود با «articles missing» ناموفق میشود | پست منقضی شده یا روی ارائهدهندههای شما برداشته شده. یک ارائهدهندهٔ دوم روی ستون فقرات متفاوت بیشتر اینها را نجات میدهد. nzbfast check این را پیش از دانلود پیشبینی میکند. و دیوار با نقطهٔ دردسترسبودنش (§13) مواردی را که
احتمالاً رفتهاند از پیش نشانه میگذارد. نخستین شکست از این دست، پس از مهلتی یک بار
خودبهخود تکرار میشود، چون تأخیر انتشار دقیقاً همین شکل را دارد و خودبهخود برطرف
میشود. |
| آرشیو تمامشده رمز عبور میخواهد | ردیف تاریخچه 🔑 نشان میدهد - رمز را همانجا وارد کنید؛ کار در جای خود کامل میشود. |
| آرشیوی استخراج نمیشود | خطاهای رمز عبور و تعمیر خودشان را در ردیف تاریخچه نشان میدهند. برای بقیه موارد یک راه فرار هست: تنظیمات → پوشهٔ پایش و پسپردازش → استخراج با unrar خارجی (تنظیمی پیشرفته) استخراج را به برنامه unrar نصبشده روی دستگاه شما میسپارد، بهجای استخراجکننده داخلی. در غیر این صورت آن را خاموش بگذارید: مسیر داخلی در هر شکلی که سنجیدهایم سریعتر است، و پستهای مبهمسازیشده با نامهای hash به هر حال همیشه از آن استفاده میکنند، چون unrar نمیتواند تغییر نام آنها را دنبال کند. همین کلید برای اجراهای nzbfast get متغیر محیطی NZBFAST_NO_NATIVE_UNRAR=1 است. اگر unrar آرشیوی را استخراج کرد که استخراجکننده داخلی رد کرده بود، لطفاً گزارش دهید تا مسیر داخلی را درست کنیم. |
| Sonarr/Radarr نمیتواند متصل شود | پورت 6789 قابل دسترس است؟ کلید API درست است (کلید کامل، نه کلید NZB)؟ نوع کلاینت روی SABnzbd تنظیم شده؟ |
| داشبورد کلید APIای میخواهد که هرگز تعیینش نکردهام | نصب تازه یکی برای خود میسازد و هنگام شروع یک بار چاپش میکند (§2). در فایل apikey کنار config شما و در خروجی شروع هست. یا از مرورگری که از پیش وارد شده، کلید خودتان را در تنظیمات → امنیت تایپ کنید. |
| همهٔ تنظیماتم بعد از یک بهروزرسانی گمشده به نظر میرسند (سرورها، مسیرها، کلید API) | هیچچیز در یک بهروزرسانی تنظیمات را حذف نمیکند؛ این یعنی nzbfast پوشهای دیگر و خالی را میخواند. نخست: فیلد کلید API در تنظیمات از روی عمد خالی نشان داده میشود - پیش از آنکه نتیجه بگیرید گم شده، روی Show کلیک کنید. روی Docker، نگاشت /config کانتینر جدید را با قدیمی مقایسه کنید: مسیر میزبانِ تغییرکرده، مسیر نسبیای که از پوشهای دیگر اجرا شده، یا پوشهٔ appdata تازه، همگی nzbfast را از صفر شروع میکنند در حالی که تنظیمات واقعی شما دستنخورده در مسیر قبلی نشستهاند. پوشهٔ قدیمی را پیدا کنید (دنبال settings.json، فایل config خودتان و apikey بگردید - مکانها در §17)، سپس یا نگاشت را به آن برگردانید یا آن فایلها را در پوشهٔ جدید کپی کنید و دوباره راهاندازی کنید. گزارش راهاندازی نام دقیق فایل تنظیمات در حال استفاده را میبرد: [settings] applying saved settings from … |
| هیچچیز روی شبکه به دیمن نمیرسد | --bind را بررسی کنید: 127.0.0.1 تنها به ماشینی که nzbfast روی آن اجرا میشود سرویس میدهد. پیشفرض، 0.0.0.0، به هر رابط سرویس میدهد. سپس فایروال خودِ ماشین را برای پورت 6789 بررسی کنید. |
| کارت مرور کوچک میماند | ایندکسر در پسزمینه رشد میکند - بررسی کنید گروههای تنظیمات → ایندکسگذاری تنظیم شده باشند، و به عمیقسازی در هر اسکن زمان بدهید تا تاریخچه انباشته شود. «همین حالا اسکن کن» یک گذر را اجبار میکند؛ خط وضعیت پیشرفت زنده را نشان میدهد. |
| دیوار تصویر اشتباه/بدون تصویر نشان میدهد | برگهٔ جزئیات → ✎ اصلاح تطبیق یا ↻ تازهسازی فراداده. جستوجوهای فیلم با یک کلید رایگان OMDb بهتر میشوند. |
| macOS میگوید برنامهٔ «nzbfast» باز نمیشود | دو دلیل دارد، هر دو زودحل. اگر از -macos-universal.zip ساده استفاده میکنید، روی Start nzbfast.command دوبار کلیک کنید، نه روی فایل nzbfast کنار آن: آن یکی خودِ برنامه است و Finder به دوبار کلیک روی آن دقیقاً همین پیام را میدهد. این راهانداز است که همهچیز را آماده و اجرا میکند. اگر راهانداز هم همین پیام را داد، نسخه در راه بیت اجرای یونیکس خود را از دست داده است: macOS این بیت را داخل فایل .zip نگه میدارد، اما برنامههای گفتوگو، درایوهای ابری و فشردهسازی دوباره آن را نگه نمیدارند، پس نسخهای که دستبهدست رسیده باشد بدون اجازهٔ اجرا میرسد. فایل .dmg یا .zip را مستقیم از صفحهٔ releases دانلود کنید تا این اتفاق نیفتد. برای نجات نسخهای که همین حالا دارید: ترمینال را باز کنید، chmod +x را با یک فاصله در انتها بنویسید، Start nzbfast.command و فایل nzbfast را روی پنجره بکشید و Return را بزنید، سپس دوباره روی راهانداز دوبار کلیک کنید. |
| دیمن شروع نمیشود: پورت در حال استفاده | نمونهٔ دیگری در حال اجراست - یا --port را تغییر دهید. |
| گزارشها کجا هستند؟ | کارت گزارش در داشبورد، یا ترمینال/فایلگزارشی که serve را با آن اجرا کردید. |
nzbfast --version خود بگنجانید.nzbfast - این راهنما با هر انتشار عرضه میشود. تنظیمات، نقاط پایانی و پیشفرضهای ارجاعشده اینجا با نسخهای که با آن عرضه شده مطابقت دارند.