يصل الإرسال 4.0.0 بناءً على C ++ و BitTorrent v2 والمزيد

ناقل السرعة

الإرسال هو عميل P2P مجاني ومفتوح المصدر وخفيف الوزن لشبكة BitTorrent.

بعد ما يقرب من ثلاث سنوات من التطوير أعلنت عن إطلاق الإصدار الجديد من ناقل الحركة 4.0.0، الإصدار الذي تم فيه إعادة هيكلة قاعدة الكود بشكل كبير ، مما سمح بتقليل حجم الكود بنسبة 18٪ ، وتحسين تغطية الاختبار وتبسيط الصيانة.

بالنسبة لأولئك الجدد في Transmission ، يجب أن تعلم أن هذا عميل BitTorrent خفيف الوزن نسبيًا ومتساهل مكتوب بلغة C ومتوافق مع مجموعة متنوعة من واجهات المستخدم: GTK ، Qt ، نظام Mac الأصلي ، واجهة الويب ، البرنامج الخفي ، CLI.

الميزات الرئيسية الجديدة لناقل الحركة 4.0.0

El كان التغيير الرئيسي في الفرع الجديد هو ترجمة مصدر الشفرة من C (C90) إلى C ++. في السابق ، تمت كتابة الواجهة المستندة إلى Qt فقط بلغة C ++. السبب الرئيسي لنقل المشروع بأكمله إلى C ++ هو امتداد الرغبة في الاستفادة من الوظائف الإضافية المتوفرة في مكتبة C ++ القياسية وتوافر فحص أكثر تقدمًا من النوع في C ++. تم نقل واجهة GTK لاستخدام gtkmm ، وهو غلاف GTK للغة C ++.

فيما يتعلق بالتحسينات ، تم التأكيد على أن ، إضافة دعم لاستخدام التورنت بتنسيق BitTorrent v2 والتورنت المختلط (فقط أنشطة التورنت الجاهزة في الوقت الحالي ، ستظهر القدرة على إنشاء التورنت بناءً على BitTorrent 2 في أحد الإصدارات التالية). في BitTorrent v2 ، تم استبدال استخدام خوارزمية SHA-1 لصالح SHA2-256 ، والتي تُستخدم للتحكم في تكامل كتل البيانات ولإدخالات الفهارس (قاموس المعلومات) ، مما يكسر التوافق مع DHT و مقتفي.

تمت إعادة كتابة واجهة الويب باستخدام أساليب تطوير JavaScript أكثر حداثة وتم تكييفه للاستخدام على الأجهزة المحمولة. يتم حفظ الرمز من استخدام مكتبة jQuery ، بالإضافة إلى أن واجهة الويب المضغوطة الآن تبلغ 68 كيلوبايت فقط.

El تم تحسين الأداء بشكل ملحوظ- أظهر اختبار إطلاق البرنامج الخفي للإرسال باستخدام 25 ألف تورنت انخفاضًا بنسبة 50٪ في حمل وحدة المعالجة المركزية وانخفاضًا بنسبة 70٪ في استهلاك الذاكرة مقارنةً بالإرسال 3.00.

تم تغيير تفاعل عملية الخلفية مع واجهات واجهة المستخدم الرسومية (الإرسال- qt و Transmission-web) إلى RPC قيد التشغيل في وضع الجدول ، مما يقلل من حجم البيانات المرسلة ويقلل متطلبات النطاق الترددي. لضغط البيانات المرسلة عبر RPC ، يتم استخدام مكتبة libdeflate المحسّنة بدلاً من zlib.

من التغييرات الأخرى التي تبرز:

  • يتمتع المستخدم بفرصة تعيين أدوات التتبع الافتراضية التي يمكن استخدامها للإعلان عن جميع السيول العامة.
  • يتم إطلاق البذور المضافة حديثًا على الفور ، مع إجراء عمليات التحقق حسب الحاجة (دون إجراء فحص كامل قبل الإطلاق).
  • تمت إضافة خيار للاستبعاد عند إنشاء معلومات تورنت جديدة يمكن استخدامها لتعريف المستخدم بشكل غير مباشر (على سبيل المثال ، تاريخ الإنشاء ووكيل المستخدم).
  • تمت إضافة دعم القائمة السوداء لـ IPv6.
  • تم نقل نظام اختبار الوحدة لاستخدام Google Test.
  • تم ضمان إصدار التجميعات المستندة إلى Clang في نظام التكامل المستمر.
  • كانت المكتبة الأساسية عبارة عن اختبار زغب.
  • تم تنفيذ عملية جديدة للتحقق من الكود في محللات Sonarcloud و Coverity و LGTM و clang-tidy الساكنة.

أخيرا إذا كنت مهتمًا بمعرفة المزيد عنها، يمكنك التحقق من التفاصيل في الرابط التالي.

كيفية تثبيت Transmission على لينكس؟

إلى أولئك الذين يستخدمون Debian أو Ubuntu أو Linux Mint أو أي توزيعة مشتقة منها ، قم بتثبيت التطبيق باستخدام:

sudo add-apt-repository ppa: Transmissionbt / ppa -y sudo apt install transfer

إذا كانوا كذلك مستخدمي فيدورا أو التوزيعات المبنية عليه, يمكنهم تثبيت التطبيق بما يلي أمر:

sudo yum تثبيت الإرسال

بينما بالنسبة لأولئك الذين يجب على مستخدمي Mandriva Linux التثبيت باستخدام هذا الأمر:

انتقال sudo urpmi

بالنسبة لمن هم بالنسبة لمستخدمي openSUSE ، يجب عليهم كتابة ما يلي في الجهاز:

sudo zypper تثبيت الإرسال

أخيرًا ، في حالة مستخدمي Arch Linux والتوزيعات المشتقة منه ، يمكنك التثبيت باستخدام هذا الأمر:

انتقال sudo pacman -S

وبالمثل يمكنك تجميع الإرسال على النظام من كود المصدر الخاص به ، ما عليك سوى اتباع الخطوات التالية للقيام بذلك.

يتم استضافة كود المصدر الخاص بهم على GitHub لذا يجب أن يكون لديهم دعم git حتى يتمكنوا من استنساخ المستودع.

سنفتح Terminal ونكتب ما يلي فيه.

أولاً سنحصل على الكود المصدري مع:

بوابة استنساخ https://github.com/transmission/transmission Transmission

ندخل الدليل:

انتقال القرص المضغوط

ونبدأ التجميع بالأوامر التالية التي يجب أن نكتبها واحدة تلو الأخرى:

تحديث الوحدة الفرعية git --init mkdir build cd build cmake .. اجعل sudo يقوم بالتثبيت