nzbfast هي أداة تنزيل Usenet مبنية حول خط معالجة ذي تمريرة واحدة: كل بايت يُفكّ تشفيره ويُتحقَّق منه ويُستخرج أثناء تنزيله. لا تمريرة تجميع، ولا تمريرة تحقق، ولا تمريرة فك ضغط. عندما يمتلئ شريط التقدم، يكون الملف جاهزًا وسليمًا بشكل يمكن إثباته.
macOS · Windows · Linux · Docker: ملف تنفيذي واحد قائم بذاته، مع أدوات الإصلاح وفك الضغط مدمجة.

لماذا هي سريعة
قِسنا ما يُنشر فعلًا على Usenet قبل أن نقرر ما نُحسِّنه، وفكرة واحدة تقوم بمعظم العمل. كل ذلك مقيس في سجل قياس الأداء بأوامر قابلة لإعادة الإنتاج.
تُفكّ شيفرة المقالات بتقنية SIMD في مكانها، وتُكتب مرة واحدة مباشرة عند إزاحاتها النهائية، ويُتحقَّق منها بـ PAR2 من المخازن نفسها. يُستخرج الأرشيف أثناء التنزيل، فلا توجد وحداته كملفات على الإطلاق. ينطبق ذلك على الأرشيفات العادية والمشفّرة والمتداخلة وأرشيفات 7z، أي نحو 95% من كل ما يُنشر، بحسب الحجم. والأرشيفات المضغوطة فعلًا تُفَكّ أثناء وصولها هي الأخرى، ولا تعود إلى تمريرة ثانية إلا عندما تكون المجموعة أكبر من أن تُحفظ في الذاكرة أثناء فكّ ضغطها.
لا يكون المقال "مفقودًا" إلا عندما يرفضه كل عمود فقري مُهيَّأ. تحدد المحاسبة الدقيقة على مستوى الكتلة COMPLETE / REPAIRABLE / IMPOSSIBLE قبل إهدار البايتات، وتجلب الحد الأدنى المناسب تمامًا من كتل الاسترداد، وتُلغي التنزيلات اليائسة في ثوانٍ.
إبقاء عدة طلبات قيد التنفيذ لكل اتصال ليس فكرتنا، والعملاء الجيدة تفعل ذلك. لكن تنفيذنا فعّال بشكل غير معتاد: في أربعة مواقع قِسنا من +12% إلى +270% مقارنة بالتسلسلي، ويُشبَع الخط بـ 8 اتصالات بدلًا من 30-50، فتحصل على السرعة الكاملة دون إرهاق مزوّدك. وما تزال SABnzbd تشحن هذه الميزة معطّلة.
خط المعالجة
يكتب المنافسون وحدات الأرشيف، ثم يقرؤونها من جديد للتحقق، ويقرؤونها مرة أخرى للاستخراج، ثم يكتبون الناتج، أي نحو 2× كتابات و2× قراءات. أما nzbfast فتفعل هذا بدلًا من ذلك:
socket ──TLS──▶ rapidyenc SIMD decode (in place - 4.95 GB/s per core)
│
├─▶ pwrite at final offset (plain posts)
│ └─ or: RAR-map translate ─▶ (unlock, if encrypted) ─▶
│ pwrite straight into the extracted file
│ (the rar volumes never touch disk - plain,
│ encrypted and nested archives alike)
├─▶ PAR2 block hasher - every block MD5-verified from the
│ decode buffer; verification finishes with the download
└─▶ availability ledger - block-exact health, live
أبرز الميزات
القائمة الكاملة (كل خيار ضبط، وكل تكامل) موجودة على صفحة الميزات.
قياس الأداء
الجهاز نفسه، والمزوّدون الستة أنفسهم، تُشغَّل بالتناوب واحدة تلو الأخرى. الوقت حتى وجود ملف قابل للاستخدام ومُستخرَج، المقياس الوحيد الذي يهم. كل منافس مضبوط على أفضل إعداداته الموثقة (بما في ذلك تشغيل خط معالجة SABnzbd تشغيلًا، وهو يُشحن دونه).
NZB بحجم 190.6 GB → ملف mkv واحد بحجم 167.9 GB، M1 Ultra على 10 GbE، 6 مزوّدين × 8 اتصالات. تكتمل المهمة نفسها ضمن ميزانية ذاكرة 1 GB. الجداول الكاملة، والسيناريوهات السبعة كلها، والأشواط التي لا نفوز بها (بالإضافة إلى كيفية إعادة الإنتاج) على صفحة قياس الأداء.
يناسب حزمتك
واجهة API كاملة متوافقة مع SABnzbd، أضف nzbfast كعميل تنزيل "SABnzbd" وسيعمل ببساطة: عمليات الجلب والفئات والأولويات وإعادة المحاولات وبرامج المعالجة اللاحقة (عقد SAB_*) والسجل. تتيح واجهة Newznab أيضًا لحزمة *arr البحث في فهرسك المحلي كأنه مفهرِس.
يتحدث الخادم الخفي بـ JSON-RPC الخاص بـ NZBGet أيضًا، فتتحكم أدوات الهاتف البعيدة الشائعة في nzbfast دون تعديل. ولوحة المعلومات نفسها تملك تخطيطًا هاتفيًا من الطراز الأول لحين ابتعادك عن الشاشة الكبيرة. (nzb360: SABnzbd API.)
تستورد نقرة واحدة خوادمك من منشأة SABnzbd أو NZBGet قائمة (كما يقرأ sabnzbd.ini مباشرةً). وتأتي معها مجلدات المراقبة، وخلاصات RSS بمرشحات، والمجلدات الذكية بترتيب تلفزيوني، وقواعد التنظيف ضمن الحزمة.
فُك الضغط، وانقر نقرًا مزدوجًا على المُشغّل، وأجب عن ثلاثة أسئلة (أو دعه يعثر على إعدادات SABnzbd الخاصة بك)، وتُفتح لوحة المعلومات. أول تنزيل خلال دقيقتين.