توررست-أكتيكس المقتفي
وصف المشروع
Torrust-Actix Tracker هو برنامج BitTorrent Tracker خفيف الوزن ولكنه قوي بشكل لا يصدق وغني بالميزات تم تصنيعه باستخدام Rust.
حاليًا، يتم استخدامه بنشاط على https://www.gbitt.info/.
نشأ هذا المشروع من كود Torrust-Tracker الذي تم تطويره في الأصل بواسطة Mick van Dijke، وتم تطويره بواسطة Power2All كبديل لـ OpenTracker وكود التتبع الآخر المتاح على GitHub.
سمات
تم تنفيذ أفضل الممارسات البيئية
- أفضل الممارسات البيئية 3: بروتوكول BitTorrent
- أفضل الممارسات البيئية 7: دعم IPv6
- أفضل الممارسات البيئية 15: بروتوكول تعقب UDP لـ BitTorrent
- أفضل الممارسات البيئية 23: يقوم Tracker بإرجاع قوائم النظراء المضغوطة
- أفضل الممارسات البيئية 41: ملحقات بروتوكول تعقب UDP
- أفضل الممارسات البيئية 48: ملحق بروتوكول التعقب: كشط
ابدء
يمكنك الحصول على أحدث الثنائيات من الإصدارات أو اتباع تعليمات التثبيت من البداية أدناه.
التثبيت من الصفر
- استنساخ المستودع:
git clone https://github.com/Power2All/torrust-actix.git
cd torrust-actix
- أنشئ الكود المصدري باستخدام Rust (تأكد من تثبيت Rust مع فرع مستقر)
باستخدام بناء البرنامج النصي
الاستخدام
قم بتشغيل الكود باستخدام الوسيطة --help
لاستخدامها في البيئة الخاصة بك:
./target/release/torrust-actix --help
قبل أن تتمكن من تشغيل الخادم، تحتاج إما إلى إيقاف تشغيل الصلاحيات، وعند تمكينها، تأكد من إنشاء قاعدة البيانات الخاصة بك وتشغيلها. راجع وسيطة المساعدة أعلاه حول كيفية إصلاح الإعداد الخاص بك كما يحلو لك.
تم تقديم Swagger UI، وعند تمكينها في التكوين، يمكن الوصول إليها من خلال واجهة برمجة التطبيقات عبر /swagger-ui/
.
تم تقديم دعم Sentry.io، ويمكنك تمكينه في التكوين وعنوان URL الذي تريد دفع البيانات إليه.
سجل التغيير
v4.0.4
- مواصلة تنفيذ Sentry (تسجيل التتبع)
v4.0.3
- إصلاح مسارات الإعلان وكشطها، لأنها طريقة خاطئة.
- إصلاح العديد من الأخطاء الصغيرة التي لا تؤدي إلى تعطل التطبيق، ولكن يجب التعامل معها بشكل أفضل.
- تمت إضافة دعم لـ Sentry.io SaaS والإعداد المستضاف ذاتيًا.
- جارٍ تحضير العمل للإصدار v4.1.0، والذي سيقدم دعم LUA للبرامج الوسيطة.
v4.0.2
- تمت إضافة خيار قيام النظام بإزالة البيانات من قاعدة البيانات.
- تمت إضافة متغيرات التحديثات للقائمة البيضاء/السوداء وجداول المفاتيح.
- إعادة تسمية تسمية "قاعدة البيانات" والتي يجب أن تكون "جداول".
- الكثير من الإصلاحات والأخطاء التي تعثرت فيها.
v4.0.0
- تمت إعادة بناء كود التتبع بالكامل لسهولة القراءة.
- تم النقل إلى Actix v4، وبالتالي إصدار هذا البرنامج إلى v4.0.0 أيضًا.
- إعادة بناء وإعادة إنشاء طريقة إنشاء ملف التكوين (تحتاج إلى إعطاء الأمر كوسيطة له).
- تم إعادة بناء نظام قاعدة البيانات بالكامل، وتم اختباره باستخدام أحدث الإصدارات المتوفرة في الوقت الحالي.
- لقد مرت API بالكثير من العمل وتم اختبارها.
- تم تقديم Swagger UI كاختبار وتوثيق.
- تم تطبيق الكثير من التحسينات في السرعة والأداء بشكل أكبر.
- تمت إضافة وظيفة الاستيراد والتصدير، وسيتم تفريغ ملفات JSON أو استيرادها منها، وهي مفيدة عند عمل نسخة احتياطية من قاعدة البيانات الموجودة لديك، أو عند الترحيل إلى محرك قاعدة بيانات آخر.
- تمت إزالة WebGUI، وكانت قديمة وغير مفيدة حقًا.
v3.2.2
- صدمت إصدارات المكتبة بشكل كبير، بما في ذلك تصحيحات الأمان.
- التغييرات الثابتة في المكتبات للعمل بشكل صحيح.
- ضبط رمز عدم الثبات لاستخدام ذاكرة أقل.
v3.2.1
- إصدارات المكتبة صدم، بما في ذلك تصحيحات الأمان.
- تم إصلاح الخلل في معالج PostgreSQL.
- بعض الأسماء المنسية من Torrust-Axum إلى Torrust-Actix.
v3.2.0
- إصدارات المكتبة صدم.
- تم تعديل طريقة إجراء الجدولة من خلال سلاسل الرسائل، حيث يمكن أن يؤدي ذلك إلى قفل وإبطاء المتتبعين العامين من خلال النشاط المكثف.
- التغيير والتبديل في استخدام قاعدة بيانات SQLite3 واستهلاك مساحة قاعدة البيانات.
- إصلاح شامل لكيفية استخدام السيول والأقران في الذاكرة. استخدام خريطة تخطي الشعاع المتقاطع لمشاركة الذاكرة بشكل آمن وغير قابل للقفل.
- بعض التحسينات المتنوعة في أداء الترميز وسهولة القراءة وفحص الملفات.
- تم استبدال إطار عمل الويب Tokio Axum بـ Actix، السبب: كان فقدان الأشياء المهمة مثل انتهاء مهلة الاتصال وقطع الاتصال والقراءة والكتابة والدعم باهتًا.
- تمت إعادة تسمية مستودع جيثب من torrust-axum إلى torrust-actix.
- إضافة دعم تتبع المستخدم بمفتاح إضافي.
v3.1.2
- إصدارات المكتبة صدم.
- تمت إضافة ملف قواعد السلوك، حيث أن بعض المشاريع مفتوحة المصدر تحتاج إلى ذلك.
- تمت إضافة وظيفة تبديل الصيانة إلى API وWebGUI.
- لا يتم إنشاء ملف التكوين عندما لا يكون موجودًا، أو يحتوي على بيانات غير صالحة، ما لم يتم فرضه باستخدام وسيطة "--create-config".
- إصلاح الخلل الصغيرة المختلفة.
v3.1.1
- إصدارات المكتبة صدم.
- تعمل قاعدة بيانات SQLite3 وMySQL وPostgreSQL الآن بشكل صحيح مع جميع الجداول، وسيتم استخدامها إذا تم تمكينها.
- واجه UDP مشكلة في IPv4، وتم إصلاح الكود لتحليل صفيف البايت بشكل صحيح.
- تنظيف وإعادة هيكلة بعض التعليمات البرمجية الزائدة عن الحاجة.
- تمت إضافة بعض عمليات الفحص الصغيرة عند الحاجة لمنع الأخطاء.
v3.1.0
- نظام القائمة البيضاء: يمكنك تمكين هذا للسماح فقط باستخدام تجزئة التورنت التي تحددها في قاعدة البيانات، أو إضافتها من خلال واجهة برمجة التطبيقات.
- نظام القائمة السوداء: يمكنك تمكين هذا لعدم السماح باستخدام تجزئة التورنت التي تحددها في قاعدة البيانات، أو إضافتها من خلال واجهة برمجة التطبيقات.
- نظام المفاتيح: يمكنك تمكين هذا للسماح بالتتبع فقط عند إعطاء تجزئة "مفتاح" نشطة (مثل info_hash، أو 20 بايت أو 40 حرفًا سداسيًا عشريًا). ستكون المفاتيح ذات مهلة صفر "0" دائمة ولن تتم إزالتها بواسطة عملية التنظيف.
- WebGUI: تحتوي واجهة برمجة التطبيقات (API) على واجهة ويب متاحة، والتي يمكن الوصول إليها من خلال https://your.api:8080/webgui/ وإعطاء مفتاح API الصحيح، الذي تقوم بتكوينه في ملف التكوين.
- يمكن توفير بنية قاعدة بيانات قابلة للتخصيص في ملف التكوين.
- النظام متاح الآن أيضًا من خلال Docker Hub على https://hub.docker.com/r/power2all/torrust-axum
v3.0.1
- إصلاحات الأخطاء
- تمت إضافة دعم SQLite3
- تمت إضافة دعم MySQL
- تمت إضافة دعم PostgresSQL
v3.0.0
النسخة الأولية من Torrust-Axum.
الاعتمادات
كان Torrust-Tracker بمثابة جهد مشترك بين Nautilus Cyberneering GmbH وDutch Bits وPower2All. شكرًا أيضًا لـ Naim A. والقرد الأعظم على بعض الأجزاء في كود Torrust-Tracker. تم إنشاء هذا المشروع (Torrust-Actix) من الصفر بواسطة Power2All.