⚡ nzbfast
أداة تنزيل Usenet السريعة - دليل المستخدم
1 · ترحيب
يُنزّل nzbfast من Usenet بأقصى سرعة يسمح بها خطّك ومزوّدوك وجهازك - وغالبًا ما يعني ذلك بسرعة خطّك. إنه برنامج واحد قائم بذاته: المحرّك، ولوحة تحكم على الويب، ومتصفّح وسائط بجدار ملصقات، ومفهرِس مدمج، ومعاينة فورية، وإصلاح PAR2 الأصيل، واستخراج RAR الأصيل، كلها داخل ملف تنفيذي واحد. لا شيء آخر يحتاج التثبيت.
ما يجعله سريعًا هو البنية، لا التعديلات الطفيفة:
- NNTP المتسلسل بالأنابيب - تركب طلبات مقالات كثيرة كل اتصال بالتتابع، فتبقي كل اتصال بأقصى سرعة بدل انتظار الرحلات الذهاب-وإياب.
- خط معالجة ذو تمريرة واحدة - يتداخل التنزيل والتحقق والاستخراج. تُستخرج مجلدات الأرشيف أثناء البث؛ في منشور نمط التخزين النموذجي لا تلمس ملفات RAR قرصك أبدًا، فتحتاج المهمة إلى ضعف واحد من حجم الإصدار لا ضعفين، وتنتهي حين ينتهي التنزيل.
- اتحاد متعدّد المزوّدين - يساهم كل خادم مُعدّ؛ والمقالة المفقودة على عمود فقري واحد تُجلَب من آخر. الخوادم البطيئة أو الميتة لا توقف قائمة الانتظار أبدًا.
- ميزانية للذاكرة - يتكيّف المحرّك مع حدّ 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 بعد. انقر بزر الفأرة الأيمن على التطبيق ← 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
على سطر الأوامر.مفتاح API لديك
على تثبيت جديد فعلًا، يصنع nzbfast لنفسه مفتاح API أول مرة تبدأ فيها الخدمة، ويطبعه مرة واحدة في لافتة تحت عنوان لوحة التحكم مباشرةً. ومن ثَمّ يحتاج كل طلب إلى ذلك المفتاح، فلا تكون لوحة التحكم ولا API مفتوحتين لكل ما يصل إلى الجهاز.
وما تفعله به يعتمد على كيفية تشغيلك nzbfast:
- تطبيق macOS، أو صينية Windows، أو
serve --open: لا شيء. تمرّر المفتاح إلى نافذة المتصفّح التي تفتحها، وتتذكّره لوحة التحكم، وتكون قد سجّلت الدخول أصلًا. - متصفّح فتحته بنفسك، أو لوحة التحكم على هاتف أو حاسوب آخر: تطلب الصفحة المفتاح مرة واحدة ثم تتذكّره بعد ذلك.
- Sonarr وRadarr وnzb360 وأمثالها: ألصِقه بوصفه مفتاح SABnzbd أو NZBGet لديها (§11، §12).
يُحفظ المفتاح في ملف اسمه apikey بجانب ملف الإعداد، فيبقى
كما هو عبر إعادة التشغيل ويمكنك قراءته متى احتجت إليه.
وعلى 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 خصوصًا يأتي بتسلسل الطلبات بالأنابيب معطّلًا، ما يكلّفه غاليًا، لذا فُعِّل.
فرقان لا يقلّان أهمية عن الأوقات:
- مساحة القرص. تحتاج التمريرة الواحدة إلى ضعف واحد من حجم الإصدار؛ أما العملاء الذين يكتبون مجلدات الأرشيف ثم يفكّون ضغطها فيحتاجون إلى ضعفين. على جهاز اختبار به 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 دقيقة/ساعة/3 ساعات مع استئناف تلقائي، أو استخدم زر الإيقاف المؤقت لإيقاف مفتوح. الإيقاف المؤقت فوري: يتوقّف النقل النشط خلال ثوانٍ ويستأنف لاحقًا من السجلّ، دون فقد شيء. (مهام أولوية الإجبار تواصل التنزيل، بأسلوب SABnzbd.)
- تظهر هنا لافتة تحديث عندما تتوفّر نسخة جديدة (انظر التحديثات).
الإنتاجية
MB/s مباشرة مع مخطط متمرّر؛ العلامات المائية المتقطّعة تحدّد ذروة/حضيض هذه الجلسة، والخط الباهت متوسط متحرّك. أسفلها، يعرض المدرّج التكراري كيف تتوزّع عيّنات سرعة الجلسة - نموذجي مقابل الذروة. وسّع النافذة فتُظهر المخططات سجلًا أطول (حتى ساعة).
بطاقات الإحصاء
المُنزَّل في هذه الجلسة، وعمق قائمة الانتظار، وأعداد المكتمل/الفاشل، وسرعة ذروة الجلسة.
الموارد - جهاز واحد، أربعة سقوف
المعالج، والذاكرة (مقابل ميزانية ذاكرة nzbfast)، ومعدّل الكتابة على القرص والشبكة على مخطط واحد مُطبَّع، مع القيم الحقيقية في المفتاح وتحذير مساحة منخفضة. لا عميل NZB آخر يعرض لك هذا؛ إنه موجود لإثبات نقطة - سيبلغ nzbfast أقصى خطّك، لا جهازك.
خط المعالجة - المراحل تتداخل
ثلاثة مسارات: التنزيل، التحقق (فحص كتل PAR2)، الاستخراج. في مهمة سليمة تتحرّك الثلاثة معًا.
المزوّدون
لكل خادم المعدّل الحي، واستغلال الاتصالات، وحصة الحركة، وGB الجلسة، ودرجة اكتمال المقالات مدى الحياة (تُلوَّن حين يهبط خادم دون 98%). يعرض مخطط منطقة مكدّس مساهمة كل مزوّد عبر الزمن. تُعاد ترتيب الصفوف حسب الأداء الحي كل 10 ثوانٍ (قابل للضبط في الإعدادات ← الواجهة) بحيث يكون مزوّدك الأسرع دائمًا في الأعلى.
قائمة الانتظار
- اسحب الصفوف لإعادة الترتيب (ضمن نطاق أولوية - الإجبار/العالية تبقى تعمل أولًا)؛ غيّر الأولوية ضمن السطر.
- انقر صفًا للدُرج التفصيلي: أشرطة تقدّم لكل ملف، وأعداد كتل التحقق،
وأيّ خادم ساهم بكم في هذه المهمة، وسطر "أُضيف بواسطة"
يقول من أين جاءت المهمة (مجلد المراقبة، تطبيق متصل، واجهة API…).
وزر تنزيل ملف .nzb يحفظ لك ملف
.nzbالخاص بالمهمة - يحتفظ nzbfast بنسخته الخاصة، فيعمل هذا مع كل مهمة، حتى بعد اختفاء الملف الأصلي منذ زمن. - تُظهر الشارات حالات خاصة: مؤجَّل (بطيء)، جلب مسبق، مُوقَف مؤقتًا (انظر أدوات الأداء).
- يتتبّع مخطط عدّ تنازلي إجمالي GB المتبقية عبر قائمة الانتظار.
تصفّح الفهرس
ابحث في كل ما فهرسه المفهرِس المدمج من مجموعاتك المراقَبة (انظر الأتمتة) ونزّل بنقرة واحدة - بلا مفهرِس خارجي. يعرض سطر الحالة تقدّم الفحص؛ افحص الآن يجبر تمريرة.
قائمة المتابعة
أضِف عناوين بالاسم - بما فيها عناوين لم تُنشَر بعد. حين يظهر إصدار مطابق في الفهرس يُجلَب تلقائيًا، مع تفضيلات الجودة وقواعد الترقية (نسخة أفضل تحل محل الأسوأ).
السجل
التنزيلات الأخيرة، كل واحدة في صف. المهام الفاشلة تعرض أعد المحاولة
(يستأنف من السجلّ). الأرشيفات المشفّرة تعرض عنصر فك قفل 🔑 - أدخل
كلمة المرور فتنتهي المهمة في مكانها. يرسم شريط سلامة التحقق كتل PAR2
التالفة لكل تنزيل - والذيل المتصاعد يعني وصول المقالات تالفة.
ودُرج كل صف يقول من أضاف المهمة ويحمل زر تنزيل ملف .nzb نفسه
الموجود في قائمة الانتظار - مفيد لتنزيل إصدار مجددًا في مكان آخر، أو
لإرفاق ملف .nzb بتقرير مشكلة.
تعرض البطاقة عشر تنزيلات افتراضيًا، والبقية على بُعد نقرة واحدة عبر الزر ▤. أما الحالة والموقع وسبب فشل المهمة فتقع خلف نقرة على الصف نفسه، بحيث تبقى الحالة الشائعة - ما الذي انتهى، وبأي حجم، ومتى - مقروءة دون تمرير. أو اسحب الحافة السفلية للبطاقة لتمرّر القائمة عند ارتفاع تختاره أنت. ويغيّر History rows في الإعدادات ← الواجهة هذا العدد؛ ولأنه خاصية للخفي (daemon) لا لمتصفحك، فإنه يسري على كل جهاز ينظر إلى هذا التثبيت. ويلوّن Colour History names المجاور له الأسماء المكتملة بالأخضر والفاشلة بالأحمر؛ وبإيقافه تبقى الأسماء بلا لون، وتظل النقطة الملوّنة وتفاصيل الصف نفسها تقول أيّها أيّ.
استهلاك البيانات
أشرطة يومية لكل مزوّد وإجماليات اليوم / 7 أيام / 30 يومًا - ضرورية للحسابات المحدودة بعدّاد وحسابات الكتلة. تعرض حسابات الكتلة الاستخدام مدى الحياة مقابل حجمها.
السجل، قياس أداء النظام، ضبط الاتصالات، تنوّع الخوادم
عارض سجل ضمن الصفحة، وأدوات القياس الذاتي الثلاث الموصوفة في أدوات الأداء.
5 · إضافة التنزيلات
| الطريقة | كيف |
|---|---|
| السحب والإفلات | أفلِت ملفًا أو أكثر من .nzb في أي مكان على لوحة التحكم. |
| مجلد المراقبة | عيّن مجلدًا في الإعدادات؛ أي .nzb يُحفَظ فيه
يُلتقَط خلال 5 ثوانٍ ويُنقل إلى سلة المهملات، وتعلن أي لوحة تحكم مفتوحة عن كل
التقاط باسمه ("التُقط … من Downloads")، فلا يبقى خروج ملف من المجلد لغزًا أبدًا.
تفضّل الاحتفاظ بملفاتك؟ شغّل الاحتفاظ بملفات .nzb بعد الالتقاط
(انظر §9). وجّه مجلّد تنزيلات متصفّحك
إليه للجلب بنقرة واحدة من مواقع المفهرِسات. |
| من رابط | الصق رابط NZB (واجهة mode=addurl، أو عبر أي تطبيق متصل). |
| روابط nzblnk: | الصق رابط nzblnk: في أي موضع من لوحة التحكم، أو اسحبه إليها. وإن كنت ثبّتّ من صورة DMG على macOS أو من مثبّت Windows فيمكنك أيضًا النقر على واحد مباشرةً في منتدى. انظر روابط nzblnk أدناه. |
| تصفّح الفهرس | انقر أي إصدار كامل في بطاقة التصفّح. |
| قائمة المتابعة / RSS | تلقائي - انظر الأتمتة. |
| Sonarr/Radarr إلخ. | ترسل عمليات الجلب مباشرةً إلى قائمة الانتظار - انظر §11. |
| سطر الأوامر | nzbfast get file.nzb يُنزّل دون الخدمة. |
الفئات، الأولويات، كلمات المرور
- الفئات تسميات حرّة الشكل؛ تصبح كلٌّ منها مجلدًا فرعيًا لمجلّد تنزيلك، ويمكن للمجلدات الذكية (انظر §10) أن تسندها بقاعدة.
- الأولويات: إجبار > عالية > عادية > منخفضة. الإجبار يتجاوز الإيقاف المؤقت والحصة.
- كلمات المرور للأرشيفات المشفّرة تُلتقَط تلقائيًا من
<meta type="password">داخل NZB، أو من اسم ملفName{{password}}.nzb، أو من حقلp=في رابط nzblnk، ويمكن تزويدها لكل مهمة عبر الواجهة أو لاحقًا من السجل (🔑).
روابط nzblnk
بعض المنتديات، ولا سيما الألمانية والهولندية، تنشر رابط nzblnk: بدل
ملف NZB. المنشور مموَّه، فلا يوجد أصلًا اسم ملف يمكن الربط إليه. يحمل الرابط بدلًا من
ذلك ترويسة، h=، وهي مفتاح بحث لا موضع، إضافة إلى عنوان t=
وكلمة مرور p= ومجموعة g= اختيارية. على أحدهم أن يذهب أولًا
ليعثر على المنشور.
يبحث nzbfast عن الترويسة في فهرسه هو أولًا، وهذا لا يحتاج شبكة على الإطلاق، ولا يسأل مفهرسات البحث التي أعددتها (الإعدادات ← مفهرسات البحث، §9) إلا إذا أخفق ذلك، وضمن الميزانيات اليومية نفسها والتراجع نفسه المتّبع في أي بحث آخر. يصير العنوان اسمَ المهمة وتُطبَّق كلمة المرور على المهمة تلقائيًا.
- اللصق أو السحب يعمل على أي تنصيب، بما فيه Docker وصناديق NAS: انسخ الرابط من المنتدى والصقه في أي موضع من لوحة التحكم.
- النقر على رابط يستلزم تسجيل المخطّط لدى سطح مكتبك. يسجّله تطبيق صورة DMG على macOS، ويعرضه مثبّت Windows كمهمة: يسأل أولًا، ويترك المخطّط وشأنه إن كان NZB Monkey أو NZBDonkey يحوزه بالفعل. أما أرشيف macOS المجرّد وHomebrew وتنصيبات Linux فلا معالِج سطح مكتب لها، وهناك يكون اللصق هو باب الدخول.
- الحلّ محدود المعدّل عن قصد. تسجيل مخطّط يجعله على بُعد سؤال متصفّح واحد من أي صفحة تزورها، فللروابط سقف في الدقيقة ولا يبلغ مفهرساتِك إلا أوائلها في كل دقيقة؛ وما بعد ذلك يُجاب من الفهرس المحلي وحده.
6 · جدار الملصقات
انقر 🎬 الجدار في الترويسة. يحوّل الجدار فهرسك إلى متصفّح وسائط: كل فيلم ومسلسل مُتعرَّف عليه بطاقةَ ملصق مع التقييم والسنة والأنواع والطاقم والملخص - مجموعاتُك الإخبارية في هيئة كتالوج قابل للتصفّح.
- ألسنة للأفلام / المسلسلات / غير ذلك، وبحث فوري، وسبعة ترتيبات: مخصّص لك، أحدث المنشورات، سنة الإصدار، الأعلى تقييمًا، العنوان أ–ي، الأكبر، والأكثر نشرًا.
- المطابَق فقط مفعّل افتراضيًا، يخفي النفايات غير المُعرَّفة؛ وشارة "+N غير مطابَق" تكشفها.
- انقر بطاقةً لورقة التفاصيل: الملخص، وتقييم IMDb والأصوات، والطاقم - و▶ تشغيل (عاينها فورًا، انظر §7) أو ⬇ تنزيل.
- ✎ أصلِح التطابق - إن طابق عنوانٌ المسلسلَ أو الفيلمَ الخطأ، اختر الصحيح من ملصقات مرشّحة، أو أدخِل العنوان/السنة/النوع يدويًا. النص اليدوي لا يُستبدَل أبدًا بالمُثري. ↻ حدّث البيانات الوصفية تُعيد جلب عنوان واحد؛ الإعدادات ← الفهرسة تستطيع تحديث الكل أو محو/إعادة بناء كامل الفهرس.
- البيانات الوصفية بلا مفاتيح افتراضيًا - TVmaze، iTunes، مجموعات بيانات IMDb، Wikidata، Wikipedia وAniList لا تحتاج حسابات. مفتاح OMDb (مجاني، تسجيل بالبريد فقط - ثمة مساعد تسجيل في الإعدادات ← الفهرسة) يحسّن مطابقة الأفلام؛ ومفتاح TMDB يُحترَم إن كان لديك بالفعل.
- مخصّص لك يرتّب الجدار وفق ملف ذوق يُبنى على هذا الجهاز من سجلّك المكتمل ومن قائمة متابعتك: الأنواع المفضّلة، وميلك إلى الأفلام أو المسلسلات، وأي حقبة تقريبًا. العناوين التي تملكها أصلًا تهبط إلى الأسفل بدل أن تختفي، ويقول تعليق «لأنك تشاهد …» على أي أساس جرى الترتيب. من دون سجلّ يعود الترتيب إلى الأكثر نشرًا، فلا يكون اللسان فارغًا أبدًا. لا شيء من هذا يغادر الخفيّ.
- لا يهمّني على أي بطاقة يخفي ذلك العنوان، وإخفاء بضعة عناوين متشابهة يعلّم الجدار: فيقترح مرشّحًا تقبله بنقرة واحدة («إخفاء كل عناوين تلفزيون الواقع من الآن فصاعدًا؟»). كل ما أخفيته، وكل مرشّح متعلَّم، مدرج تحت المخفيّة والمرشّحات ويمكن التراجع عنه هناك.
- نقطة التوفّر الصغيرة على بطاقة هي حكم العرّاف (§13): «؟» كهرمانية تعني غير مؤكد لدى مزوّديك، وحمراء تعني أن أجزاءه تعود ناقصة مرة بعد مرة. المجموعات التي تُكنَس حاليًا تحمل شارة مكنوسة.
7 · المعاينة والتحقّق
لا يلزم أن تنتظر اكتمال التنزيل لتعرف أنه الملف الصحيح. افتحه أثناء تنزيله، وتحقّق من أن المحتوى واللغة والجودة كما توقّعت، وألغِه مبكرًا إن لم تكن كذلك - بدل أن تكتشف ذلك بعد اكتمال التنزيل.
- ▶ تشغيل على الجدار (أو
/m3u/<id>) يسلّم مشغّل الوسائط لديك رابطًا؛ وتبدأ الخدمة أو تعيد استخدام التنزيل خلفه. - تقدّم نقطة النهاية
/stream/<nzo_id>الملفَّ بدعم كامل لنطاقات HTTP أثناء تنزيله. التحقّق من أي نقطة يعمل: افحص الدقيقة 40 فتُرقَّى مقالات تلك المنطقة إلى مقدّمة قائمة تنزيل المقالات - ويُفتح هناك عادةً خلال ثوانٍ قليلة بدل دقائق. يُجلَب رأس الملف وذيله أولًا كي يجد المشغّلون بيانات فهرستهم فورًا. - وضع المكتبة: الفئات المدرجة في library_cats تصبح إدخالات
بيانات وصفية فقط فورية - يظهر ملف
.strmعلى الفور، ويُتحقَّق من التوفّر في الخلفية، ويبدأ التنزيل الحقيقي عند أول فتح له.
/stream. للتحقّق من جهاز آخر استخدم عنوان LAN لجهازك بدل
localhost./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%). |
اترك هامشًا بسيطًا تحت حد الاتصالات في حسابك. ضبط الاتصالات أقل قليلًا من الحد لا يكلّف شيئًا: تتسطّح السرعة قبل الاتصالين الأخيرين بكثير، وضبط الاتصالات (§13) يستقر تحته على أي حال. تلك الأماكن الشاغرة هي ما يسمح لجهاز ثانٍ أو لبرنامج آخر أو لمحاولة جديدة بعد انقطاع المقبس بالدخول رغم ذلك، بدلًا من رفضها بينما يشغل هذا كل مكان.
كيف تُحفَظ كلمات مرور مزوّديك
كلمات مرور المزوّدين في 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. |
| التحديث التلقائي / رابط فحص التحديثات | انظر §14. |
| سرعة الخط | السرعة المصنّفة لاتصالك - تتيح حدود النسبة المئوية من التطبيقات المتوافقة مع SABnzbd. |
| الجدولة الأسبوعية | محرّر صفوف لقواعد وقت-الأسبوع: أوقف مؤقتًا، أو استأنف، أو اضبط حد سرعة عند أيام/أوقات معيّنة (بالتوقيت المحلي). مثلًا حُدّ إلى 20 MB/s أيام الأسبوع 9–17، وبلا حد غير ذلك. |
التنزيل التالي مباشر
الاتصالات (لكل خادم)، والنافذة (عمق التسلسل بالأنابيب لكل اتصال)، ومفكّكات التشفير (خيوط فك تشفير متوازية). تُعيَّن عند بدء كل مهمة. الافتراضيات صحيحة لمعظم الخطوط؛ استخدم أدوات الضبط قبل الرفع عشوائيًا.
التحقق أثناء التنزيل يختار كم يُفحص من التنزيل وهو يصل. الكامل يؤكد كل كتلة PAR2 بـ MD5. السريع (الافتراضي) يطالب بالكتل عبر CRC32، وهو أسرع بمقدار 2-3x على معالج بطيء، ويظل يتحقق من مجموع التدقيق الخاص بكل مقالة. المقتصد يتخطى كذلك مجاميع المقالات تلك فور أن تغطي PAR2 ملفًا: فيظهر التلف بعد لحظة، عند كتلته. وفي الثلاثة جميعًا تستخدم التمريرة الختامية وأي إصلاح MD5 كاملًا، والتنزيل الذي بلا ملفات PAR2 يحتفظ بمجاميع تدقيق مقالاته.
القرص والحصة مباشر
أدنى مساحة فارغة (أوقف المهام الجديدة تحتها؛ 2 غيغابايت افتراضيًا، و0 يوقفه)، وحصة التنزيل لكل يوم أو شهر (UTC؛ مهام الإجبار تتجاوز)، وحد الذاكرة - ميزانية RAM للمحرّك (الافتراضي: ¼ من RAM، مقيَّدة؛ ارفعها على جهاز كبير الذاكرة لأقصى سرعة على المهام الضخمة، وانظر ما تكلّفه الذاكرة المنخفضة قبل خفضها) إعادة تشغيل.
نقل المكتملة إلى: بعد فك الضغط والتنظيف وإعادة التسمية تنتقل
التنزيلات المنتهية إلى هنا - مشاركة NAS أو قرص وسائط أو حيثما تكون مكتبتك.
يُحفظ تخطيط الفئات (المهمة التي انتهت تحت tv/ تصل في الوجهة تحت
tv/)، ويتبع السجل عملية النقل، فتستورد التطبيقات المتصلة وتحذف
من الموقع الجديد. إذا تعذّر الوصول إلى الوجهة عند انتهاء مهمة (المشاركة
متوقفة أو المساحة نفدت)، تبقى الملفات في مجلد التنزيل وتكتمل المهمة رغم ذلك
بشكل طبيعي. فارغ = معطّل. وجهات لكل فئة ترسل فئات محددة إلى مكان آخر
(tv=/Volumes/NAS/TV, movies=/Volumes/NAS/Movies)؛ كل مسار مُدرج هو مجلد تلك الفئة نفسه، فلا يُنشأ داخله أي
مجلد فئة فرعي إضافي. الفئات غير المُدرجة تتبع نقل المكتملة إلى.
عمق الأرشيفات المتداخلة (الافتراضي 5) هو عدد طبقات الأرشيف-داخل-الأرشيف التي تُفك تلقائيًا: مجموعة 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 ومقاطع العيّنة من مجلدات الأفلام والمسلسلات المنتهية. ولا تحذف الفيديو ولا ترجماته أبدًا. |
| الاحتفاظ بملف الوسائط فقط | مطفأة افتراضيًا، ومدمّرة: تحذف نهائيًا كل ما في المجلد عدا الفيديو (أو مقاطع الفيديو) والترجمات. وتُحفظ كل حلقة من حزمة الموسم. وتتقدّم على إزالة ملفات النفايات حين تكون الاثنتان مفعّلتين. |
| Keep the other words in the name | مُفعَّل افتراضيًا. كثيرًا ما تكون الرياضة والسباقات وغيرها من الفعاليات عنوانًا واحدًا يتكرّر طوال الموسم، ولا يفصل بينها سوى كلمة أو كلمتين - "Round11 Hungary Race" مقابل "Round11 Hungary Qualifying". والاحتفاظ بتلك الكلمات هو ما يمنع موسمًا كاملًا من الانهيار إلى الاسم نفسه. ولا ينطبق إلا حيث تعذّر ترتيب الاسم بأي طريقة أخرى، فتبقى الأفلام والحلقات العادية دون مساس. |
تعمل المجموعة كلها بعد الإصلاح وفكّ الضغط وقبل نقل المكتملة إلى، وتُتخطّى بالكامل لمهمة ما زالت تنتظر كلمة مرور. وتنطبق خطوتا الحذف فقط على الإصدارات المعروفة أنها فيلم أو مسلسل: أما حمولة برمجية أو مجموعة غير قابلة للتصنيف (مموّهة) فلا تُكنس أبدًا.
الملفات المحذوفة تذهب إلى سلة المهملات يقرّر ما يعنيه "الحذف" أعلاه. حين يكون مفعّلًا، ينقل التنظيف الملفات إلى سلة مهملات النظام أو سلة المحذوفات، فيمكن التراجع عن تقدير خاطئ لما كان نفاية؛ وحين يكون مطفأً تُحذف الملفات نهائيًا. وهو مفعّل افتراضيًا على macOS وWindows، حيث سلة المهملات في مكان يمكنك رؤيته وإفراغه، ومطفأ افتراضيًا على Linux، حيث لا تكون كذلك في العادة.
.Trash-1000
(الرقم هو معرّف المستخدم الخاص بك) في أعلى قرص التنزيل وتنقل الملفات إليه. لا شيء
يُريك ذلك المجلد، ولا شيء يفرغه، والمساحة التي يشغلها لا تعود أبدًا.
إن كنت شغّلت نسخة سابقة من nzbfast على Linux وهذا الخيار مفعّل، فابحث عن ذلك المجلد في جذر مشاركة التنزيل لديك. إفراغه آمن: كل ما فيه ملف قرّر التنظيف سلفًا أنك لم ترده. لن يفرغه nzbfast عنك، لأنه على قرصك والحكم فيه لك.
المجلدات والمعالجة
مجلد التنزيل إعادة تشغيل، ومجلد المراقبة،
وسكربت المعالجة اللاحقة (يعمل بعد كل مهمة بوسائط متوافقة مع SABnzbd
وبيئة SAB_* - سكربتات SAB الحالية تعمل دون تغيير)،
وامتدادات التنظيف (ملفات نفاية تُحذَف بعد الاكتمال)، والمجلدات الذكية
وترتيب المسلسلات (انظر §10).
الاحتفاظ بملفات .nzb بعد الالتقاط (مُطفأ افتراضيًا) يترك ملف
.nzb الأصلي في مجلد المراقبة بعد إضافته إلى قائمة الانتظار، بدلًا من
نقله إلى سلة المهملات - لهواة الجمع، ولمشاركة الملف مع أحد حين يتعطل
تنزيل ما. الملف المحتفظ به يُتذكر، حتى عبر إعادات التشغيل، ولا يُضاف
مجددًا؛ أعد حفظه لتنزيله مرة أخرى. وأيًّا كان اختيارك، ففي دُرج كل مهمة
زر تنزيل ملف .nzb، فنسخة من ملف .nzb لأي مهمة ليست
أبعد من نقرة.
الفهرسة مباشر
| الإعداد | ما يفعله |
|---|---|
| المفهرس المدمج | المفتاح الرئيسي، مُطفأ ما لم تشغّله. الإطفاء يعني لا مسح ولا استعلامات بيانات وصفية ولا أخذ عيّنات توفّر ولا تغذية 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، كما يعلن المزوّدون سرعات الخطوط). وتبقى أحجام الملفات بالبايت في الحالتين. وهذه خاصية للخفيّ لا لمتصفّحك، فهي تسري على كل جهاز ينظر إلى هذا التثبيت.
متقدّم: مفاتيح الضبط خلف الواضحة
ستة إعدادات بلا راية في سطر الأوامر. صار لكل واحد منها صف متقدّم في بطاقة الإعدادات
التي يخصّها، ولا يزال يُضبط عبر الواجهة البرمجية
(§16)، مثلًا
/api?mode=config&name=verify_mode&value=lean&apikey=…. وكغيرها
جميعًا تُحفظ في settings.json.
| الاسم | ما يفعله |
|---|---|
verify_mode | full | fast | lean (الافتراضي fast). وlean هو الدفعة للمعالجات البطيئة: مثل fast، لكنه يتخطّى أيضًا تدقيق yEnc لكل مقالة متى غطّى PAR2 ملفًا، فتبقى طبقة CRC32 واحدة بدل اثنتين. أما التنزيلات بلا PAR2 فتحتفظ بتدقيق مقالاتها، ولا يتغيّر التحقق ولا الإصلاح في نهاية المهمة في الحالتين. ومحدِّد التحقق أثناء التنزيل أعلاه هو هذا الإعداد نفسه. |
auto_retry_mins | مهلة الانتظار قبل المحاولة التلقائية الوحيدة التي يحظى بها إخفاق أول بسبب مقالات ناقصة (الافتراضي 20). فتأخّر الانتشار سبب حقيقي لنقص المقالات وينحلّ من تلقاء نفسه؛ وبفضل السجلّ لا تجلب الإعادة إلا ما بقي ناقصًا. ولا تندرج إخفاقات كلمة المرور أو الإزالة في هذا أبدًا. |
index_scan_par | كم مجموعة يمسحها المفهرس بالتوازي (الافتراضي 3، محصور بين 1-8). |
oracle_sample | ميزانية STAT في الخمول لعرّاف التوفّر (§13)، عدد السبر في الساعة لكل خادم. الافتراضي 300، وأقصاه 3600، و0 يعطّل أخذ العينات كليًا. |
predb_max_rows | كم إعلان pre يحتفظ به جدول التغذية (الافتراضي 250000، محصور بين 10000 و5000000). التشذيب الساعي يقلّص إلى هذا الرقم، والاستيراد التاريخي يرفض البدء إن كان سيتجاوزه، فلا يضيف استيراد أبدًا صفوفًا يحذفها التشذيب التالي. |
predb_seed_days | إلى أي مدى يعود الاستيراد التاريخي إذا بدأ دون نافذة خاصة به (الافتراضي 180 يومًا، بحد أقصى 366). النافذة الأوسع تعني طلبات أكثر إلى مصدر pre، وإيقاعه طلب واحد كل ثانيتين. |
10 · الأتمتة
قائمة المتابعة
أبسط أتمتة: أضِف عنوانًا على لوحة التحكم، واضبط تفضيلات الجودة، انتهى. تُجلَب الإصدارات الجديدة فور ظهورها في مجموعاتك المفهرَسة؛ والنسخ الأعلى جودة تُرقّي عمليات الجلب الأسبق؛ وعرض تقويمي يُظهر ما هو قادم.
خلاصات RSS
الإعدادات ← RSS: أي رابط RSS لـ newznab/مفهرِس مع فترة لكل خلاصة وفئة وقواعد ترشيح (أنماط العناوين، حدود الحجم). العناصر المطابقة تُنزَّل تلقائيًا.
المجلدات الذكية
قواعد تُقيَّم حين تُضاف مهمة: طابِق بالنمط/الكلمات المفتاحية والحجم، وأسنِد
فئةً (أول تطابق يفوز). مع تفعيل ترتيب المسلسلات، تُعاد تسمية حلقات المسلسلات
المنتهية وتُرتَّب كـ Show/Season 01/Show - S01E02.mkv -
جاهزة لـ plex/Jellyfin دون أداة خارجية.
المجدوِل
الجدولة الأسبوعية (انظر §9) تُؤتمِت الإيقاف المؤقت/الاستئناف/السرعة حسب وقت اليوم.
السكربتات
يتلقّى سكربت المعالجة اللاحقة وسائط SABnzbd الموضعية ومتغيرات بيئة
SAB_* - منظومة سكربتات SAB الكبيرة تعمل
كما هي.
11 · Sonarr وRadarr وأمثالها
يتحدّث nzbfast واجهة SABnzbd أصيلًا، لذا يعمل كل *arr مباشرةً - ويمكنه أن يكون مفهرِسها أيضًا.
كعميل التنزيل
- في Sonarr/Radarr: Settings ← Download Clients ← أضِف SABnzbd.
- المضيف: جهاز nzbfast لديك · المنفذ: 6789 · مفتاح API: مفتاح API الكامل لديك (أين تجده: §2).
- الفئة كما تريد (مثل
tv/movies). Test ← علامة صح خضراء ← Save.
قائمة الانتظار، والسجل، وحالة كل مهمة، و"إزالة وحذف"، وإعادة المحاولة وتوجيه الفئات جميعها تتصرّف كما تتوقّع *arr.
كمفهرِس (newznab)
- Settings ← Indexers ← أضِف Newznab.
- الرابط:
http://<host>:6789/· مسار API:/api· المفتاح: مفتاح API لديك. - يقدّم nzbfast استعلامات
capsوsearchوtvsearchوmovieمن فهرسه الخاص لمجموعاتك المراقَبة، و/getnzb/<id>يعيد NZB.
<error code="101"> بدل نتيجة فارغة، فيظهر الخطأ لحظة إضافتك للمفهرس
لا بعد أسابيع.ولمَ العناء؟ مفهرس تستضيفه بنفسك لتلك المجموعات التي تهمّك بالضبط: بلا حسابات، وبلا حدود لنداءات الواجهة، وباستبقاء بعمق ما تسمح له بمسحه. إنه إضافة إلى مفهرساتك المعتادة لا بديل عنها، لأنه لا يجد إلا ما نُشر باسم ملف حقيقي.
12 · تطبيقات الهاتف والتحكم عن بُعد
يُنفّذ nzbfast كلا بروتوكولَي التحكم عن بُعد الرئيسيَّين، فيعمل تقريبًا كل تطبيق للهاتف/اللوحي. اختر أيّ بروتوكول يدعمه تطبيقك:
التطبيقات التي تتحدّث NZBGet (nzb360، LunaSea، NZB Unity…)
| الحقل في التطبيق | القيمة |
|---|---|
| النوع | NZBGet |
| المضيف / المنفذ | جهازك : 6789 |
| اسم المستخدم | أي شيء (مثل nzbfast) |
| كلمة المرور | مفتاح API لديك |
يُقدَّم كامل سطح JSON-RPC الذي تستخدمه هذه التطبيقات: الحالة، وقائمة الانتظار مع إعادة الترتيب/الإيقاف المؤقت/الحذف، والسجل، وإضافة NZB، وحد السرعة، والإيقاف المؤقت/الاستئناف، والسجل.
التطبيقات التي تتحدّث SABnzbd
| الحقل في التطبيق | القيمة |
|---|---|
| النوع | SABnzbd |
| المضيف / المنفذ | جهازك : 6789 |
| مفتاح API | مفتاح API لديك (أو مفتاح NZB للوصول بإضافة فقط) |
لوحة التحكم على هاتفك
افتح فقط http://<machine>:6789 في متصفّح هاتف - لكامل
لوحة التحكم والجدار تخطيط لمسي. تعرض لوحة الإعدادات ← الوصول عن بُعد
الروابطَ الدقيقة ورمز QR للمسح.
الوصول إلى nzbfast من خارج المنزل
لا توجد صفحة تسجيل دخول، وهذا اختيار مقصود. تسجيل الدخول بملف تعريف ارتباط للجلسة سطح أمني يجب صيانته إلى الأبد، وسيظل رغم ذلك أضعف قفل على أي شيء مكشوف للإنترنت المفتوح. يستوثق nzbfast بدلًا من ذلك بمفتاح API الخاص بك، ويقبل هذا المفتاح في ترويسة الطلب كما يقبله في العنوان (X-Api-Key، أو Authorization: Bearer) - وهذا تحديدًا ما يتيح لشيء أمامه أن يتولى تسجيل الدخول كما ينبغي.
أبسط جواب هو ألا تنشره أصلًا. ثبّت Tailscale على هذا الجهاز وعلى هاتفك فينضم كلاهما إلى شبكة خاصة واحدة: لا شيء مكشوف، ولا حاجة إلى عمل في الموجّه أو الشهادات، وتعرض الإعدادات ← الوصول عن بُعد عنوانًا يعمل من أي مكان بمجرد أن ترى Tailscale يعمل. فضّل هذا ما لم تكن بحاجة فعلية إلى نطاق عام.
وإن كنت بحاجة إليه، فضع أمامه وكيلًا عكسيًا، وأعطه الشهادة، ودعه يتولى الاستيثاق. شغّل 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 ساعات → أسبوعيًا) فيُسجَّل كل تشغيل في جدول تاريخي، كي ترى متى تغيّر سلوك مزوّدك أو مزوّد الإنترنت أو عتادك. التشغيلات المجدولة تحدث فقط أثناء خمول قائمة الانتظار.
ضبط الاتصالات
يقيس مزوّدًا واحدًا بأعداد اتصالات متزايدة ويوصي بالإعداد - المزيد من المنافذ يساعد حتى يتشبّع المزوّد أو خطّك، وبعض المزوّدين يعاقبون على الإفراط في الطلب. اختبر الكل يقارن كل مزوّد، ثم يطلقهم جميعًا معًا للتحقق من أن التجميع يُشبِع خطّك.
تنوّع الخوادم
يأخذ عيّنات STAT للمقالات عبر الأعمار على كل خادم ويجمّع المزوّدين حسب الفجوات المشتركة: المزوّدون بنحو 100% من المقالات المفقودة المشتركة هم العمود الفقري نفسه (زائدون للاستعادة)؛ والمستقلّون يوسّعون تغطيتك فعلًا. ينتهي بتوصية بلغة واضحة.
ذكاء قائمة الانتظار التلقائي
- التأجيل التلقائي: التنزيل المتعثّر على خادم بطيء واحد بينما تنتظر مهام أخرى يُركن في الخلف (يُبقي السجلّ تقدّمه) ويُعاد تجربته حين تخلو قائمة الانتظار.
- الجلب المسبق على الخوادم الخاملة: الخوادم التي لا تستطيع مساعدة المهمة النشطة (نُسخها اختفت) تبدأ تنزيل المهمة التالية في قائمة الانتظار في الأثناء. لا عميل آخر يجري تداخلًا عبر المهام.
- النقع عبر المهام: بينما يكتمل ذيل مهمة منتهية (تحقق/استخراج) على القرص، يكون تنزيل المهمة التالية قد استحوذ فعلًا على الخط.
عرّاف التوفّر
عمليات الإزالة هي السبب الأول لفشل تنزيل من يوزنت، وهي قابلة للتوقّع: يختفي الإصدار نفسه على شبكة أساسية بينما تحتفظ به أخرى. يحتفظ nzbfast بسجلّ صغير لما قدّمه مزوّدوك فعلًا، وينفق ميزانية ضئيلة من سبر STAT في أوقات الخمول (بضع مئات في الساعة لكل خادم، ولا مرة أثناء تنزيل) ليبقيه محدَّثًا. ولا ينزّل حمولة قط لأجل ذلك.
ما تجنيه من ذلك:
- حكم توفّر على بطاقات الجدار وصفوف الفهرس (§6): «؟» كهرمانية لغير المؤكد لدى مزوّديك، وحمراء للمفقود بثقة. وغياب العلامة يعني أن الأمور تبدو سليمة.
- شارة مكنوسة على المجموعات التي تُزال منها المنشورات الحديثة بالفعل، فتميّز مجموعة تحتضر من إصدار سيّئ الحظ.
- تخطَّ المزوّدين الذين حكم العرّاف بخلوّهم (الإعدادات، مطفأ افتراضيًا، تجريبي): متى تيقّن الفحص أن الشبكة الأساسية لمزوّد فقدت إصدارًا، جرى تخطّيه فورًا في ذلك التنزيل بدل انتظار فشله. ولن يتخطّى آخر مزوّد باقٍ لديك أبدًا.
الحكم تنبؤ من قرائن لا ضمان. وللحصول على جواب قاطع بشأن ملف NZB واحد،
يعدّ nzbfast check (§15) المقالات الفعلية.
ميزانية الذاكرة - وما تكلّفه الذاكرة المنخفضة
تتشارك كل ذواكر المحرّك المؤقتة ميزانيةً واحدة (الافتراضي ¼ من RAM الفيزيائية، مقيَّدة إلى
256 MB–16 GB). اضبطها صراحةً بـ حد الذاكرة في الإعدادات، أو
--mem-limit على سطر الأوامر.
بُني nzbfast لِيُشبِع شبكتك وقرصك في آنٍ واحد، وRAM هي ما يتيح له فعل كليهما في تمريرة واحدة: تُفكّ المقالات وتُتحقَّق وتُكتب مباشرةً إلى مواضعها النهائية، فلا تحتاج مجلدات الأرشيف إلى لمس القرص أصلًا. جوّعه من الذاكرة فلا ينكسر شيء - لكل ذاكرة مؤقتة مسار انسكاب، ويتراجع المحرّك إلى مزيد من دخل/خرج القرص بدل المبادلة أو الفشل. لكن ذلك الانسكاب ليس مجانيًا، وفي المهام الكبيرة يمكنك قياسه.
مقيسًا على جهاز واحد وخط واحد (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 نفسها 286 s بدل 65 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) | نزّل الصورة الجديدة، وأوقف الحاوية، وأعد إنشاءها بإعدادات وحدات التخزين نفسها - والشرح في دليل Synology يغطي ذلك نقرة نقرة، بما في ذلك تنفيذه على جدول زمني. |
| Synology (حزمة) | ثبّت ملف .spk الجديد في
Package Center؛ فيرقّي نفسه في مكانه. |
| Homebrew | brew upgrade nzbfast |
| ملف تنفيذي مجرّد | استبدل الملف التنفيذي. يبقى إعدادك حيث أنشأته (§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، update_apply |
| NZBGet JSON-RPC | /jsonrpc - status، listgroups، history، append، editqueue، rate، pause، log (مصادقة Basic: أي مستخدم، مفتاح 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/ |
| الطرفية | المجلد الذي شغّلت فيه nzbfast setup،
أو حيث يشير --config / $NZBFAST_CONFIG. |
وما الذي بداخله:
| الملف | المحتويات |
|---|---|
config.local.json | بيانات اعتماد الخوادم وخيارات كل خادم. يُنشئه المعالج؛ قابل للتحرير في الإعدادات. أبقِه خاصًّا. كلمات المرور مموّهة، لا مشفّرة. |
settings.json | كل إعداد غُيّر في لوحة التحكم. يقيم بجانب الإعداد؛ قيم الواجهة تتجاوز أعلام سطر الأوامر. احذف مفتاحًا (أو الملف) للعودة إلى الأعلام/الافتراضيات. |
apikey | مفتاح API الذي صنعه nzbfast لنفسه في تشغيلة أولى (§2). يقيم بجانب الإعداد؛ ولا يقرأه إلا الحساب الذي يشغّل nzbfast على macOS وLinux. لا تحذفه للحصول على مفتاح جديد: على تثبيت سبق أن عمل، لا شيء يحلّ محلّه وتعود الخدمة بلا مفتاح البتة. اضبط مفتاحًا جديدًا من الإعدادات ← الأمان بدلًا من ذلك. |
index.db | فهرس الإصدارات (SQLite) + بيانات الجدار الوصفية. آمن للحذف - يُعاد بناؤه من الفحص (الإعدادات ← الفهرسة ← محو يفعل ذلك نيابةً عنك). |
<config>/.spool/ | حالة قائمة الانتظار (تبقى عبر إعادة التشغيل)، وملفات NZB لكل مهمة، وسجلّ الاستخدام، وتاريخ قياس الأداء، وذاكرة صور الملصقات المؤقتة. |
| سجلّ المقالات | داخل مجلد خرج كل مهمة أثناء عدم اكتمالها - يشغّل استئناف التعطّل وإعادة المحاولة. يُزال عند النجاح. |
| الأدوات الخارجية | لا يلزم شيء - استخراج RAR وإصلاح PAR2 أصيلان. إن احتاجت مجموعة غريبة يومًا إلى unrar أو par2 خارجي كمسار احتياطي، يبحث nzbfast بجانب ملفه التنفيذي، ثم على $PATH. |
18 · استكشاف الأخطاء
| العَرَض | افحص |
|---|---|
| تنزيلات بطيئة | شغّل قياس أداء النظام - يسمّي عنق الزجاجة صراحةً. إن كان الشبكة: شغّل ضبط الاتصالات، وتحقّق من أعداد اتصالات كل خادم، وتأكّد أن مزوّديك ليسوا كلهم عمودًا فقريًا واحدًا (تنوّع الخوادم). |
| بطيء فقط على المهام الكبيرة جدًا (NAS أو جهاز منخفض الذاكرة) | متوقّع، وقابل للقياس: ميزانية ذاكرة مجوّعة تنسكب الذواكر المؤقتة إلى القرص وتكلّف 20–40% بعد ~87 GB. انظر ميزانية الذاكرة للأرقام وكم RAM تمنحها. المهام الأصغر غير متأثّرة. |
| يفشل التنزيل "المقالات مفقودة" | انتهت صلاحية المنشور أو أُزيل على مزوّديك. مزوّد ثانٍ على عمود فقري مختلف ينقذ معظم هذه. nzbfast check يتنبّأ بذلك قبل التنزيل. كما يعلّم الجدار سلفًا ما يُرجَّح أنه اختفى بنقطة التوفّر خاصته
(§13). والإخفاق الأول من هذا الشكل يعيد نفسه مرة واحدة بعد مهلة،
لأن تأخّر الانتشار يبدو مطابقًا له وينحلّ وحده. |
| الأرشيف المنتهي يريد كلمة مرور | يعرض صف السجل 🔑 - أدخل كلمة المرور هناك؛ فتكتمل المهمة في مكانها. |
| أرشيف يتعذر فك ضغطه | أخطاء كلمة المرور والإصلاح تسمي نفسها في صف السجل. ولكل ما عدا ذلك يوجد مخرج طوارئ: الإعدادات → مجلد المراقبة والمعالجة اللاحقة → فك الضغط بواسطة unrar خارجي (إعداد متقدم) يسلم فك الضغط إلى برنامج unrar المثبت على جهازك بدلًا من المستخرج المدمج. اتركه معطلًا فيما عدا ذلك: المسار المدمج أسرع في كل شكل قسناه، والمنشورات المموهة بأسماء التجزئة تستخدمه دائمًا على أي حال، لأن unrar لا يستطيع متابعة إعادة تسميتها. المفتاح نفسه لتشغيلات nzbfast get هو متغير البيئة NZBFAST_NO_NATIVE_UNRAR=1. إذا فك unrar ضغط أرشيف رفضه المستخرج المدمج، فأبلغنا من فضلك لنصلح المسار المدمج. |
| يتعذّر على Sonarr/Radarr الاتصال | هل المنفذ 6789 قابل للوصول؟ مفتاح API صحيح (المفتاح الكامل، لا مفتاح NZB)؟ نوع العميل مضبوط على SABnzbd؟ |
| تطلب لوحة التحكم مفتاح API لم أضبطه قط | يصنع التثبيت الجديد واحدًا لنفسه ويطبعه مرة واحدة عند البدء (§2). وهو في ملف apikey بجانب إعدادك، وفي خرج البدء. أو اكتب مفتاحًا من عندك في الإعدادات ← الأمان من متصفّح سجّل الدخول أصلًا. |
| كل إعداداتي تبدو مختفية بعد تحديث (الخوادم، المسارات، مفتاح API) | لا شيء في التحديث يحذف الإعدادات؛ فهذا يعني أن nzbfast يقرأ مجلدًا آخر فارغًا. أولًا: حقل مفتاح API في الإعدادات يظهر فارغًا عمدًا - انقر Show قبل أن تستنتج أنه ضاع. وعلى Docker، قارن تعيين /config للحاوية الجديدة بتعيين القديمة: فمسار مضيف تغيّر، أو مسار نسبي شُغّل من دليل مختلف، أو مجلد appdata جديد، كلها تبدأ nzbfast من الصفر بينما تجلس إعداداتك الحقيقية دون مساس عند المسار السابق. اعثر على المجلد القديم (ابحث عن settings.json وملف إعدادك و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 - يأتي هذا الدليل مع كل إصدار. الإعدادات ونقاط النهاية والافتراضيات المشار إليها هنا تطابق النسخة التي جاء معها.