
A .torrent file and a مغناطيس link are two ways of giving a BitTorrent client the same thing: the identity of a torrent.
- ملف .torrent هو ملف "معلومات وصفية". يحتوي قاموس المعلومات على طول الجزء، واسم الملف وطوله (أو قائمة بالملفات)، وفي الإصدار الأول، قائمة متسلسلة من تجزئات SHA-1 بحجم 20 بايت، واحدة لكل جزء. تجزئة المعلومات هي تجزئة SHA-1 بحجم 20 بايت لقيمة المعلومات المشفرة، محسوبة على الشكل المشفر تمامًا كما يظهر في ملف .torrent. تقع عناوين URL الخاصة بالمتتبع خارج هذا القاموس، لذا يمكن تغييرها دون تغيير هوية ملف التورنت. يُغير BitTorrent v2 (BEP 52) التجزئة: فهو يستخدم SHA-256 مع شجرة Merkle لكل ملف وشجرة ملفات هرمية. تقع "طبقات الأجزاء" لكل ملف خارج قاموس المعلومات، والتطبيقات يجب قارنها بحقول الجذر الخاصة بالأجزاء الموجودة بداخلها. bep 0003 +2
- لا يحتوي رابط المغناطيس على أي بيانات وصفية، بل على تلك الهوية فقط. تنسيقه هو magnet:?xt=urn:btih: للإصدار 1 أو xt=urn:btmh: للإصدار 2، مع معلمات اختيارية مثل اسم العرض (dn) والمتتبع (tr) وعنوان النظير (x.pe). قد يحمل التورنت الهجين موضوعي btih وbtmh في رابط واحد. للبدء، يجلب العميل البيانات الوصفية من النظراء الآخرين باستخدام امتداد BEP 9. ينقل هذا الامتداد جزء قاموس المعلومات فقط من ملف .torrent، في كتل بحجم 16 كيلوبايت. ثم يتحقق العميل من ذلك مقابل التجزئة في الرابط. إذا لم يذكر الرابط أي متتبع، فيجب على العميل استخدام DHT للعثور على النظراء. bep 0009 +2
إذن، يشير كلا التنسيقين إلى نفس المجموعة ويُقدّمان نفس التنزيل بمجرد بدء العملية. ويكمن الاختلاف بينهما في مصدر البيانات الوصفية.
ملف .torrent هو عنصر ثابت: قائمة الملفات معروفة على الفور، والبيانات الوصفية تبقى حتى بعد توقف البث، ويجب استضافة الملف في مكان ما.
رابط المغناطيس عبارة عن سلسلة نصية قصيرة يمكن لصقها في أي مكان، لكنها لا تعمل إلا إذا كان لدى نظير واحد على الأقل بيانات التعريف. لا يُثبت أي من التنسيقين هوية الناشر أو تطابق المحتوى مع تصنيفه. يُثبت التجزئة فقط تطابق البيانات مع التجزئة.
نصيحة: بناءً على طلب الجمهور، يُعد هذا المنشور بمثابة دعم لجميع منشوراتنا المتعلقة بالتورنت وP2P في مجال الهندسة.
التاريخ والخلفية
صيغة .torrent مستوحاة من تصميم BitTorrent الأصلي. صمم برام كوهين البروتوكول في أبريل 2001، وأصدر النسخة الأولى في 2 يوليو 2001، وأسس مع أشوين نافين شركة BitTorrent, Inc. (التي أصبحت لاحقًا Rainberry, Inc.) في عام 2004. كوهين هو أيضًا المؤلف المُدرج لـ BEP 3، المواصفة الأساسية التي تُحدد ملف البيانات الوصفية وتجزئة المعلومات. يتم تنسيق التطوير اللاحق من خلال عملية اقتراح تحسين BitTorrent، المُستوحاة من PEPs في لغة بايثون، وكان كوهين يُريد أن يبقى عميل البرنامج الرئيسي مفتوح المصدر.
تُعتبر مواصفات BEP 3 أقرب ما يكون إلى السلطة الرسمية لـ تنسيق الملفظهر تنسيق v2 لاحقًا: أصدرت شركة BitTorrent, Inc. مواصفات v2 في 15 مايو 2017. أما روابط المغناطيس فلها تاريخ مختلف. لم يُصمم نظام magnet: خصيصًا لـ BitTorrent، بل صُمم كطريقة محايدة لتحديد الملفات من خلال تجزئة المحتوى عبر شبكات P2P متعددة. تُدرجه هيئة IANA فقط كنظام مؤقت، مسجل في عام 2012 باسم مشروع Magnet-URI. تشير مصادر ثانوية إلى أن تاريخ تقديمه يعود إلى عام 2002، لكنني لم أجد أي مصدر أساسي يؤكد هذا التاريخ. يعتمد استخدام BitTorrent لروابط المغناطيس على BEP 9، الذي وضعه جريج هازل وأرفيد نوربيرج (نوربيرج هو أيضًا المؤلف الأصلي لمكتبة libtorrent). لا يزال BEP 9 "مقبولًا" فقط، وليس نهائيًا، وقد حصل على معلمة عنوان النظير x.pe في عام 2016. يحدد BEP كلاً من بروتوكول تبادل البيانات الوصفية وتنسيق BitTorrent magnet، لكن ملاحظات أحد المنفذين تصف عناوين URI المغناطيسية بأنها اتفاقية فعلية، وليست BEP مرقمة.
عملياً، يعتمد كلا الشكلين على عملية BEP وعلى ما يطبقه العملاء الرئيسيون، وليس على شكل رسمي. المعايير جسم.
1. الأساسيات
| وجه | ملف تورنت | رابط مغناطيسي |
|---|---|---|
| ما هو | ملف ثنائي صغير (قاموس مُشفّر بنظام Bencoded) | عنوان URI نصي (magnet:?xt=urn:btih:…) |
| هل يحتوي على المحتوى؟ | لا، فقط البيانات الوصفية | لا، مجرد مُعرِّف |
| المحتويات الأساسية | رابط (روابط) التتبع، أسماء الملفات وأحجامها، طول كل جزء، تجزئة كل جزء، تعليق اختياري، المنشئ والتاريخ | تجزئة المعلومات (xt)، اسم العرض الاختياري (dn)، المتتبعات (tr)، عناوين النظراء (x.pe)؛ بذور الويب (ws) فقط كامتداد يعتمد على العميل، غير مُعرّف في BEP 9 |
| الحجم النموذجي | من بضعة كيلوبايتات إلى عدة ميغابايتات (تزداد مع حجم المحتوى) | حوالي 100-500 بايت |
| المعرف المستخدم | SHA-1 info-hash (v1)، SHA-256 (v2)، أو كليهما (هجين) | نفس قيمة التجزئة للمعلومات: جرة:btih (v1) أو urn:btmh (v2) |
| مواصفة | BEP 3 (v1)، BEP 52 (v2) | BEP 9 (تبادل البيانات الوصفية وتنسيق URI المغناطيسي) |
| معالج البروتوكول | تم فتح الملف بواسطة ارتباط الملف (.torrent) | تم فتحه بواسطة نظام التشغيل أو المتصفح: معالج عنوان URI |
2. البيانات الوصفية ومعلومات الملف
| وجه | ملف تورنت | رابط مغناطيسي |
|---|---|---|
| قائمة الملفات مرئية قبل بدء التنزيل | نعم، على الفور | لا، فقط بعد جلب البيانات الوصفية من النظراء |
| مصدر البيانات الوصفية | مضمن في الملف | تم التنزيل من النظراء (DHT، PEX، أدوات التتبع) عبر ut_metadata |
| سلامة البيانات الوصفية | تم التحقق منه بواسطة التجزئة | تم التحقق من صحة البيانات باستخدام رمز التجزئة الموجود في الرابط، لذا يتم رفض البيانات الوصفية التي تم التلاعب بها. |
| تأخير البدء | لا أحد | من ثوانٍ إلى دقائق (أو لا شيء على الإطلاق، إذا لم يكن لدى أي نظير البيانات الوصفية) |
| اسم العرض | مخزنة في الملف (الاسم) | dn اختياري وغير موثق؛ إنه مجرد تصنيف |
| تجزئة القطع | مشمول | تم الحصول عليها لاحقًا باستخدام البيانات الوصفية |
| قابل للتعديل | يمكن تعديل ملفات التتبع دون تغيير قيمة التجزئة. يؤدي تعديل قاموس المعلومات إلى تغيير قيمة التجزئة للمعلومات، مما يُنشئ ملف تورنت مختلفًا. | من السهل تعديلها كنص (إضافة أو إزالة أدوات التتبع). لا يمكن تغيير رمز التجزئة (info-hash) دون الإشارة إلى محتوى مختلف. |
3. المؤلف، المصدر، والأصالة
| وجه | ملف تورنت | رابط مغناطيسي |
|---|---|---|
| معلومات المؤلف | الحقول الاختيارية: المُنشئ (العميل والإصدار)، تاريخ الإنشاء، التعليق | لا يوجد؛ لا يوجد حقل مؤلف قياسي |
| تسريب بيانات تعريفية عن المُنشئ | (إصدار العميل، الطابع الزمني، وأحيانًا التعليقات أو عناوين URL) | بسيط؛ يحتوي الرابط فقط على ما أدرجه المُشارك |
| التوقيع الرقمي | يوجد تمديد للتوقيع (BEP 35) ولكنه نادر الاستخدام | لا أحد |
| الدليل على المحتوى هو ما هو مكتوب على الملصق | لا شيء، ويمكن تزوير الاسم. | لا شيء، ويمكن تزييف dn |
| إثبات أن المحتوى يطابق التجزئة | نعم، كل قطعة يتم التحقق منها باستخدام التجزئة | نعم، يتم التحقق من كل جزء باستخدام التجزئة بعد البيانات الوصفية. تَحَقّق |
| نموذج الثقة | تثق بمن قام بتزويدك بالملف، ثم تتحقق من البيانات باستخدام التجزئات. | تثق بمن قدم الرابط، ثم تحقق منه بنفس الطريقة |
| مخاطر التزييف | تُعدّ ملفات التورنت المزيفة التي تحمل نفس العنوان شائعة. | الأمر نفسه، والرابط يفتقر إلى السياق بشكل أكبر (لا توجد قائمة ملفات لفحصها أولاً). |
4. الاستضافة والتوزيع والتوافر
| وجه | ملف تورنت | رابط مغناطيسي |
|---|---|---|
| يحتاج إلى استضافة | نعم، خادم ويب، أو موقع فهرسة، أو مشاركة ملفات | لا؛ إنه مجرد نص ويمكن لصقه في أي مكان |
| طرق المشاركة | التنزيل، إرفاق الملفات عبر البريد الإلكتروني، نقل الملفات (قد يتم حظر المرفقات أحيانًا) | الدردشة، نص البريد الإلكتروني، رمز الاستجابة السريعة، منشور المنتدى، تطبيق الملاحظات |
| التعرض للإزالة | يمكن إزالة الملفات المستضافة أو حظرها | يصعب إزالتها (نص خالص)، ولكن لا يزال من الممكن حظر المواقع التي تنشرها |
| تعطل الرابط | يبقى الملف موجودًا طالما بقي المضيف موجودًا | النص موجود، لكنه عديم الفائدة إذا لم يكن لدى أي نظير البيانات الوصفية. |
| قيمة الأرشفة | مستوى عالٍ: فهو يحافظ على البيانات الوصفية كاملة حتى عندما يكون السرب ميتًا | منخفض: يعتمد على سرب حي لاسترداد البيانات الوصفية |
| فهرسة وبحث المواقع | يجب تخزين ملف واحد لكل عملية تورنت (مساحة تخزين أكبر) | قم بتخزين سلسلة قصيرة فقط (أرخص وأسهل في النسخ) |
| سهولة الاستخدام عبر الأجهزة | يتطلب نقل ملف | سهل: انسخ والصق، أو امسح رمز الاستجابة السريعة (QR code). |
| سلوك المتصفح | يقوم بتنزيل ملف، ثم يفتحه في برنامج عميل | يؤدي ذلك إلى ظهور مطالبة معالج البروتوكول (يتطلب عميلًا مسجلاً) |
5. سلوك الشبكة وأداؤها
| وجه | ملف تورنت | رابط مغناطيسي |
|---|---|---|
| اكتشاف الأقران | المتتبعات المدرجة في الملف، بالإضافة إلى DHT وPEX وLSD (إلا إذا كانت خاصة) | DHT وPEX وLSD، بالإضافة إلى أي متتبعات هرمون التستوستيرون الموجودة في الرابط |
| يعمل بدون أي جهاز تتبع | فقط إذا سُمح باستخدام هرمون ديهدروتستوستيرون | نعم، مع DHT (هذا هو وضعه المعتاد) |
| الاعتماد على ثنائي هيدروتستوستيرون | خياري | غالباً ما يكون ذلك ضرورياً للبيانات الوصفية والأقران |
| بذور الويب (مصادر HTTP) | حقول قائمة عناوين URL / httpseeds (BEP 19) | ws= مُعامل، وهو امتداد يعتمد على العميل وغير مُعرّف في BEP 9 |
| سرعة التنزيل بمجرد التشغيل | تطابق | |
| سلوك مع التورنتات الميتة أو النادرة | يبدأ وينتظر أقرانه | قد يتوقف عند "استرجاع البيانات الوصفية" |
| متتبعون خاصون | مدعوم بالكامل (علامة خاصة، مفتاح المرور في عنوان URL للإعلان) | غير قابل للاستخدام عمومًا. تُعطّل ملفات التورنت الخاصة بروتوكول DHT/PEX، ولا يتم عرض مفتاح مرور المُتتبّع في رابط قابل للمشاركة. |
6. الأمن
| وجه | ملف تورنت | رابط مغناطيسي |
|---|---|---|
| مصدر خطر البرامج الضارة | المحتوى الذي تم تنزيله، وليس التنسيق | المحتوى الذي تم تنزيله، وليس التنسيق |
| مخاطر المحلل أو المعالج | قد يؤدي وجود رمز bencode غير صحيح إلى حدوث أخطاء في برنامج عميل مكتوب بشكل سيئ (وهذا نادر الحدوث). | يمكن أن تتسبب معلمات dn أو URI الخبيثة في حدوث أخطاء حقن أو عرض في العملاء أو المعالجات المكتوبة بشكل سيئ (نادر). |
| إمكانية المعاينة قبل التنزيل | مستوى عالٍ: يمكنك رؤية قائمة الملفات وامتداداتها وأحجامها أولاً | يتم تحميل الملفات بشكل منخفض حتى وصول البيانات الوصفية؛ ثم تتيح لك معظم البرامج مراجعة قائمة الملفات قبل التنزيل. |
| ملفات تنفيذية مُقنّعة | يمكن اكتشافها في قائمة الملفات (.exe، .scr، .lnk وما إلى ذلك) | الأمر نفسه، ولكن فقط بعد جلب البيانات الوصفية. |
| مخاطر التصيد الاحتيالي والإعلانات | غالباً ما تكون مواقع التورنت مليئة بالإعلانات. | الأمر نفسه، بالإضافة إلى النقرات العرضية على أزرار مغناطيسية متشابهة |
| قوة التجزئة | SHA-1 للإصدار 1 (ضعيف ضد التصادم نظريًا، ويصعب استغلاله في التورنت)؛ SHA-256 للإصدار 2 | نفس قيمة التجزئة الخاصة بالتورنت الذي يشير إليه |
| العبث أثناء النقل | تم الكشف عنها عبر تجزئات الأجزاء | تم اكتشاف ذلك عبر تجزئة المعلومات، على الرغم من أن الرابط المبدل يشير إلى محتوى مختلف تمامًا |
7. الخصوصية وعدم الكشف عن الهوية
| وجه | ملف تورنت | رابط مغناطيسي |
|---|---|---|
| عنوان IP الخاص بك مرئي للأقران | Yes | |
| عنوان IP الخاص بك مرئي لبرامج التتبع | نعم (أجهزة التتبع المدمجة) | نعم، إذا تم تضمين أدوات تتبع الرحلات |
| التعرض لـ DHT | ممكن | شبه مؤكد؛ عمليات البحث التي تقوم بها تذهب إلى DHT العام |
| الفرق في إخفاء الهوية | لا شيء ذو معنى | |
| البيانات الوصفية التي تكشف عن المُشارك | يمكن أن يكشف كل من "تم الإنشاء" والتعليق وتاريخ الإنشاء عن التفاصيل. | لا شيء يتجاوز ما يحتويه نص الرابط |
| إجراءات التخفيف | VPN أو الوكيلجانب العميل التشفير، أدوات التتبع الخاصة | |
8. المخاطر والقيود
| مخاطرة | ملف تورنت | رابط مغناطيسي |
|---|---|---|
| أكشاك لا مثيل لها | ينتظر أقرانه | قد لا يتم الحصول على البيانات الوصفية أبدًا |
| محتوى مزيف أو مصنف بشكل خاطئ | ممكن | |
| التعرض القانوني | يعتمد ذلك على المحتوى والولاية القضائية. قد يؤدي استضافة الملف إلى زيادة تعرض مشغلي المواقع الإلكترونية. | يعتمد الأمر على المحتوى والولاية القضائية. يُعامل تبادل الروابط أحيانًا بشكل مختلف عن استضافة الملفات، لكن هذا يختلف ولا يُعدّ ملاذًا آمنًا. |
| انتهاك الخصوصية | نظام التتبع ورؤية الأقران | DHT ورؤية الأقران |
| وفاة المتتبع | يقلل من الاكتشاف، لكن قد يظل DHT فعالاً | لا مشكلة إذا كان الرابط يعتمد على DHT |
| متانة طويلة الأمد | أحسن | أسوأ |
| أخطاء مطبعية واختصارات | تم اكتشاف ملف تالف | خطأ إملائي في الهاش لا يشير إلى شيء، ورابط مبتور معطل دون تنبيه. |
9. التوافق وسهولة الاستخدام
| وجه | ملف تورنت | رابط مغناطيسي |
|---|---|---|
| دعم العملاء | عالمي | متوفر عالميًا لدى العملاء العصريين (يتطلب BEP 9) |
| صناديق البذور وخدمات الويب | يحظى بدعم عالمي | معظم الخدمات مدعومة، على الرغم من أن بعض الخدمات القديمة تقبل الملفات فقط. |
| سهولة الاستخدام على الأجهزة المحمولة | متوسط (التعامل مع الملفات التي تم تنزيلها غير سلس) | عالي |
| الأتمتة (RSS(البرامج النصية، واجهات برمجة التطبيقات) | مباشر | كما أنه سهل الاستخدام وأسهل في التخزين |
| سهولة القراءة البشرية | غير قابل للقراءة بدون أداة | التجزئة مبهمة، لكن البنية قابلة للقراءة |
10. كيفية إنشاء ملفات .torrent وروابط المغناطيس
العناصر المميزة بعلامة الخنجر هي استنتاجاتي الشخصية أو معلومات عامة، وليست مؤكدة من مصدر.
| وجه | ملف تورنت | رابط مغناطيسي |
|---|---|---|
| مدخلات البداية | ملفاتك أو مجلدك الفعلي، بالإضافة إلى أداة إنشاء (على سبيل المثال mktorrent، أو وظيفة "إنشاء ملف تورنت" الخاصة بالعميل) | تجزئة معلومات موجودة. في الإصدار 1، تكون هذه التجزئة هي SHA-1 لقاموس المعلومات المشفر، لذا لا يمكن أن يوجد رابط مغناطيسي قبل وجود بيانات تعريف ملف التورنت. |
| ترتيب الخطوات | 1) حدد طول القطعة. 2) قم بتشفير كل قطعة. 3) أنشئ قاموس المعلومات. 4) أضف الحقول الخارجية مثل أدوات التتبع. 5) قم بترميز البيانات وحفظها. | ١) احصل على ملف التورنت. ٢) استخرج قيمة التجزئة (info-hash) الخاصة به. ٣) اكتب عنوان URI باستخدام xt. ٤) يمكنك إضافة dn و tr و x.pe (اختياري). |
| طول القطعة | أنت من يختار الحجم. غالبًا ما يكون من مضاعفات العدد اثنين، وأكثرها شيوعًا 256 كيلوبايت. يستخدم برنامج mktorrent الحجم الافتراضي 2^18 بايت، ويمكنك تغييره باستخدام الخيار -l | لا شيء؛ إنه موروث من التورنت |
| عمل التجزئة | يتم تشفير كل بايت: أجزاء SHA-1 للإصدار الأول، وأشجار Merkle لكل ملف باستخدام SHA-256 للإصدار الثاني. يزداد وقت المعالجة مع حجم البيانات (dagger)، ويمكن لـ mktorrent استخدام عدة خيوط معالجة. | ضئيل: لا شيء يتجاوز التجزئة الحالية |
| أجهزة التتبع | إعلان، أو قائمة الإعلانات. تقع القائمة خارج قسم المعلومات؛ إذا كانت موجودة، تتجاهلها العملاء المتوافقة، ويتم تجربة المستويات بالترتيب، مع إعادة ترتيب عناوين URL داخل المستوى. | tr= معلمات في URI. إذا لم يتم تحديد أي منها، فيجب على العملاء استخدام DHT |
| علم خاص | يتم ضبط ذلك بوضع private=1 في قاموس المعلومات. بعد ذلك، تُعلن الأجهزة المتوافقة فقط للمتتبع الخاص وتتصل فقط بالأجهزة التي يُعيدها. ولأنها موجودة داخل قاموس المعلومات، فإنها تؤثر على تجزئة المعلومات (علامة الخنجر). | لا يوجد حقل مخصص لذلك في الرابط. توجد العلامة في البيانات الوصفية، والتي لا يراها العميل إلا بعد جلبها (علامة الخنجر). |
| بذور الشبكة | قائمة عناوين URL، وفقًا لـ BEP 19. يعرضها mktorrent كـ -w. يعمل خادم HTTP/FTP كبذرة غير مقيدة بشكل دائم | لا يُعد ws= جزءًا من قائمة معلمات BEP 9. تعامل معه كامتداد يعتمد على العميل. |
| حقول وصفية اختيارية | التعليق وتاريخ الإنشاء اختياريان. يوفر برنامج mktorrent الخيار -c لإضافة تعليق والخيار -d لحذف التاريخ. | اسم العرض فقط. إنه مجرد تصنيف وغير موثق. |
| علامة المصدر | يقوم الخيار -s في mktorrent بتضمين سلسلة المصدر في تجزئة المعلومات، لذا فإن الملفات نفسها التي تحمل علامة مختلفة تحصل على تجزئة مختلفة ومجموعة منفصلة. | غير قابل للتطبيق |
| ما الذي يغير الهوية؟ | أي شيء داخل المعلومات: الاسم، طول القطعة، علامة الخصوصية، علامة المصدر، قائمة الملفات (علامة الخنجر) | تغيير xt يشير إلى ملف تورنت مختلف. تغيير dn أو tr أو x.pe لا يُغير ذلك. |
| خيار إصدار التجزئة | الإصدار الأول (SHA-1)، أو الإصدار الثاني (SHA-256)، أو الإصدار الهجين، يتم اختياره عند الإنشاء | يجب أن يحمل الرابط btih أو btmh أو كليهما بالنسبة للتورنت الهجين (يسمح BEP 9 بكلا الموضوعين في مغناطيس واحد إذا كانا يصفان نفس التورنت الهجين). |
| التوقيع | يسمح بروتوكول BEP 35 بتضمين توقيعات RSA في الملف، مع إمكانية استخدام شهادة X.509، وبوجود عدة توقيعات لكل ملف تورنت. وهو نادر الاستخدام (dagger). | لا يحدد معيار BEP 9 أي حقل للتوقيع، لذلك لا يوجد شيء للتوقيع عليه. |
| الناتج | ملف ثنائي بحجم يتراوح بين كيلوبايت وميغابايت، يجب عليك استضافته أو إرساله | سطر نصي واحد يتكون من بضع مئات من البايتات |
| جعله قابلاً للاستخدام | قم بتحميل الملف، وشغّل برنامج العميل مع البيانات الأصلية حتى تتمكن من تهيئة النظام. | انشر السطر، واستمر في التوزيع. لن يفيدك الرابط إذا لم يكن لدى أي نظير البيانات والبيانات الوصفية. |
| الأخطاء الشائعة | حجم القطعة غير مناسب لحجم المحتوى (علامة تحذير)؛ نسيان علامة الخصوصية قبل النشر، لأن تغييرها لاحقًا يعني تجزئة جديدة (علامة تحذير)؛ إضافة أداة التتبع الخاطئة | خطأ إملائي أو اقتطاع في الهاش، لذا فإن الرابط لا يشير إلى أي مكان (علامة الخنجر)؛ بادئة خاطئة (btih مقابل btmh)؛ أحرف خاصة غير مهربة في dn (علامة الخنجر) |
11. استخدام كل واحد
العناصر المميزة بعلامة الخنجر هي استنتاجاتي الشخصية أو معلومات عامة، وليست مؤكدة من مصدر.
| وجه | ملف تورنت | رابط مغناطيسي |
|---|---|---|
| كيفية فتحه | انقر نقرًا مزدوجًا من خلال ربط الملفات، أو اسحبه إلى عميل، أو استخدم "إضافة ملف تورنت". | انقر على رابط مغناطيسي (يحتاج إلى معالج مسجل)، أو الصقه في عميل، أو امسح رمز الاستجابة السريعة (علامة الخنجر). |
| ما يفعله العميل أولاً | يقوم بتحليل البيانات الوصفية المشفرة بـ Bencoded | يقوم بتحليل عنوان URI واستخراج تجزئة المعلومات |
| من أين تأتي البيانات الوصفية | موجود بالفعل في الملف | يرسل النظراء قاموس المعلومات (ذلك الجزء فقط من ملف .torrent) في كتل بحجم 16 كيلوبايت عبر امتداد BEP 9، ويقوم العميل بفحصه مقابل التجزئة. |
| إيجاد الأقران | يجب استخدام أدوات التتبع من الملف، بالإضافة إلى DHT/PEX/LSD ما لم يكن ملف التورنت خاصًا. أما بالنسبة لملفات التورنت الخاصة، فلا يُسمح باستخدام DHT وPEX. | أدوات التتبع موجودة في الرابط؛ وإذا لم تكن موجودة، فسيتم استخدام DHT |
| تأخير البدء | لا أحد | ينتظر حتى يستجيب نظير لديه البيانات الوصفية، لذا يمكنه التوقف إلى أجل غير مسمى. |
| اختيار الملفات قبل التنزيل | في الحال | بعد وصول البيانات الوصفية. يمكن لبعض العملاء جلب البيانات الوصفية فقط، لمعاينة قائمة الملفات قبل التنزيل. |
| المعاينة قبل الالتزام | فحص كامل باستخدام أي أداة تحليل، دون اتصال بالإنترنت | غير ممكن حتى يتم جلب البيانات الوصفية |
| التحويل بينهما | احسب قيمة التجزئة (info-hash) واكتب رابطًا مغناطيسيًا (علامة الخنجر). | يمكن تصدير البيانات الوصفية التي تم جلبها وتخزينها مؤقتًا كملف تورنت، لذلك لا يحتاج نفس الرابط المغناطيسي أبدًا إلى تنزيل ثانٍ للبيانات الوصفية. |
| استخدام المتتبع الخاص | يعمل، لأن الملف يحمل عنوان URL الخاص بالمتتبع، ويجب على العملاء حصر أنفسهم فيه (BEP 27). | من غير العملي على الأرجح: فالرابط لا يحتوي على علامة، وقد يحمل عنوان URL الخاص بالمتتبع بيانات اعتماد شخصية (علامة الخنجر). لا يتناول BEP 27 موضوع المغناطيسات. |
| التحرير | يمكنك إضافة أو إزالة المتتبعات دون تغيير قيمة التجزئة، لأنها خارج قسم المعلومات. يؤدي تعديل المعلومات إلى إنشاء ملف تورنت جديد. | يمكنك تعديل النص بحرية؛ تغيير xt يغير ملف التورنت الذي هو عليه. |
| التحقق من الأصالة | تحقق من توقيع BEP 35 باستخدام شهادة موثوقة. تشير إحدى المكتبات إلى أن فحصها لا يتحقق من صحة الشهادة نفسها. وإلا، فافحص قائمة الملفات. | قارن قيمة التجزئة (info-hash) بقيمة تجزئة من مصدر موثوق؛ لا يوجد شيء آخر متاح. |
| تحديثات تلقائية | يسمح بروتوكول BEP 39 للمنشئ بوضع رابط تحديث في قاموس المعلومات، ويقوم العملاء بتنزيل ملفات التورنت الأحدث تلقائيًا فقط إذا كانت موقعة من قبل المنشئ. | لا أحد |
| المشاركة إلى الأمام | أرسل الملف أو استضفه | انسخ والصق السطر |
| عندما يفشل | الخادم المتتبع معطل أو لا توجد أجهزة نظيرة: ينتظر العميل. يتم رفض الملف التالف. | خطأ إملائي في التجزئة أو عدم وجود نظير يمكن الوصول إليه: عالق في "استرجاع البيانات الوصفية" |
| إنقاذ بذور الويب | لا يزال ملف التورنت الذي يحتوي على مُوزِّع ويب يعمل حتى بدون وجود نظراء. أما روابط المغناطيس فلا يوجد لها ما يُماثلها، لأن كلاً من BEP 9 وBEPs الخاصة بتوزيع الملفات عبر HTTP لا توفر طريقة لجلب البيانات الوصفية من مُوزِّعي HTTP. | |
| بعد التنزيل | استمر في إعادة التوزيع من نفس الملفات | |

ملخص
تُعد ملفات التورنت (.torrent) الأفضل للأرشفة، والمتتبعات الخاصة، ومراجعة قائمة الملفات أولاً، والبيانات الوصفية غير المتصلة بالإنترنت، بينما تتفوق ملفات المغناطيس في المشاركة السريعة، ورموز الاستجابة السريعة، والتوزيع المستقل عن المتتبع، والحد الأدنى من الاستضافة.
لا يُعدّ أيٌّ من التنسيقين أكثر أمانًا بطبيعته. فكلاهما يتحقق من سلامة البيانات تشفيرًا، ولا يُثبت أيٌّ منهما هوية ناشر المحتوى أو ماهيته. يكمن الخطر الأمني والقانوني الحقيقي في المحتوى ومصدره، لذا تحقّق من قائمة الملفات بحثًا عن امتدادات مشبوهة، وتوخَّ الحذر بشأن مصدر الرابط.
التعليمات
هل BitTorrent معيار من معايير IETF أو ISO، وما مدى رسمية وضع ملفات .torrent وروابط magnet؟
لا. يُحدد البروتوكول من خلال مقترحات تحسين BitTorrent (BEPs)، وهي عملية مُصممة على غرار مقترحات تحسين بايثون (PEPs). يُحدد BEP 3 تنسيق البيانات الوصفية، بينما يُحدد BEP 52 الإصدار 2. أما BEP 9، الذي يُغطي تبادل البيانات الوصفية وتنسيق رابط المغناطيس في BitTorrent، فيحمل حالة "مقبول" وليس "نهائي". يُعد مخطط magnet: نفسه تسجيلًا مؤقتًا لدى IANA، ومشروع Magnet-URI هو مُنشئه. عمليًا، تُحدد مكتبات العميل الرئيسية قابلية التشغيل البيني، لذا يُنصح باختباره على عدة تطبيقات.
هل تقوم خاصية التشفير (info-hash) بربط ملف التورنت بمحتواه بشكل مشفر؟
بشكل متعدٍ، نعم. تجزئة المعلومات v1 هي SHA-1 لقاموس المعلومات المُشفّر، ويحتوي هذا القاموس على تجزئة SHA-1 لكل جزء، لذا تُثبّت التجزئة على البيانات. لكنّ المشكلة تكمن في ضعف مقاومة التصادم في SHA-1: فالتصادمات العملية واردة، لذا يمكن لناشر يُنشئ كلا نسختي التورنت إنشاء حمولتين باستخدام تجزئة واحدة. تبقى هجمات الصورة المسبقة الثانية ضد تورنت موجود غير ممكنة. ينتقل الإصدار v2 إلى SHA-256 ويزيل هذا القلق.
ما هي التعديلات التي تغير هوية ملف التورنت، وما هي التعديلات التي لا تغيرها؟
أي شيء داخل قاموس المعلومات يُغيّر قيمة تجزئة المعلومات: الاسم، وقائمة الملفات، وطول الجزء، وعلامة الخصوصية، وعلامة المصدر مثل خيار -s في mktorrent. يمكن تعديل الحقول خارجه، مثل announce وannounce-list (BEP 12)، بحرية دون إنشاء ملف تورنت جديد. في رابط المغناطيس، لا تؤثر dn وtr وx.pe على الهوية؛ فقط xt يؤثر. تغيير قاموس المعلومات يُنشئ فرعًا من السرب دون تنبيه، لذا تعامل معه كما لو كنت تنشر ملف تورنت جديدًا.
كيف يقوم العميل بالتحقق من صحة البيانات الوصفية التي تم استلامها عبر رابط مغناطيسي؟
يرسل النظراء قاموس المعلومات في كتل بحجم 16 كيلوبايت عبر امتداد BEP 9 ut_metadata، ويقوم العميل بتجزئة النتيجة المُجمّعة ومقارنتها بتجزئة المعلومات من الرابط. تُرفض البيانات الوصفية المُزوّرة ما لم يتمكن المُهاجم من كسر التجزئة. يُثبت هذا سلامة الرابط، وليس صحته. قيمة dn هي مُعرّف غير مُوثّق، ولا تُشير التجزئة إلى هوية ناشر المحتوى أو محتواه الحقيقي.
ما هي الاختلافات العملية بين التورنت الإصدار الأول (v1) والإصدار الثاني (v2) والتورنت الهجين؟
يستخدم الإصدار الأول (v1) قائمة مسطحة من تجزئات SHA-1 للأجزاء في قاموس المعلومات. أما الإصدار الثاني (v2) (BEP 52) فيستخدم SHA-256 مع شجرة ميركل لكل ملف وشجرة ملفات هرمية. تقع طبقات الأجزاء خارج قاموس المعلومات، ويجب على التطبيقات التحقق منها مقابل حقول جذر الأجزاء داخله. يحمل التورنت الهجين كلا البنيتين، وبالتالي يحتوي على تجزئتين للمعلومات، وقد يحمل رابط المغناطيس موضوعي btih و btmh. تأكد من أن عميلك وأدواتك تدعم الإصدار الثاني (v2) قبل نشر ملفات تورنت مخصصة للإصدار الثاني فقط.
هل يمكن لرابط مغناطيسي أن يبدأ عملية التنزيل عندما لا يوجد نظراء ولكن يوجد مصدر ويب HTTP؟
لا، يسترجع بروتوكول BEP 9 البيانات الوصفية من النظراء فقط، ولا يُحدد بروتوكول BEP 9 ولا بروتوكولات BEP الخاصة بتوزيع الملفات عبر HTTP (17، 19) طريقةً لجلب البيانات الوصفية من مصدر HTTP. يظل ملف .torrent الذي يحتوي على مصدر ويب يعمل حتى بدون نظراء، لأن البيانات الوصفية موجودةٌ فيه بالفعل. إذا كنت تعتمد على مصادر الويب لضمان التوافر، فقم بتوزيع ملف .torrent نفسه، وليس فقط رابط المغناطيس.
ما الذي يكشفه كل تنسيق عن خصوصيتي وهويتي على الشبكة؟
كلاهما يكشف عنوان IP الخاص بك للأجهزة الأخرى وأي متتبعات تُعلن عنها. تعتمد روابط المغناطيس عادةً على DHT العام، مما يُضيف مسار بحث آخر يظهر فيه عنوان IP الخاص بك وقيمة التجزئة. يُخفي تشفير البروتوكول حركة البيانات ولكنه لا يُخفي هويتك. تتطلب ملفات التورنت الخاصة (BEP 27) من العملاء استخدام المتتبع الخاص فقط، لذلك لا يتم استخدام DHT وPEX. بالنسبة لمتطلبات إخفاء الهوية، استخدم نموذج تهديد مع إجراءات تخفيف مناسبة على مستوى الشبكة، وليس اختيار تنسيق.
كيف يمكنني التحقق من صحة البيانات التي تم الحصول عليها عبر التورنت، وليس فقط من سلامتها؟
لا يُثبت التحقق من الأجزاء سوى تطابق البيانات مع ملف التورنت. وللتأكد من صحة البيانات، يُنصح بالحصول على مجموع اختباري أو توقيع (مثل بيان SHA-256 مُوقّع) عبر قناة موثوقة ومستقلة، ثم التحقق من الملفات النهائية باستخدام هذا التوقيع. يُعرّف معيار BEP 35 توقيعات RSA المُضمّنة في ملفات .torrent، مع شهادات X.509 اختيارية وإمكانية وجود مُوقّعين متعددين، إلا أنه نادر الاستخدام، وتشير إحدى المكتبات التي تُطبّقه إلى أن التحقق منه لا يُؤكد صحة الشهادة نفسها. أما روابط Magnet، فلا تحتوي على أي آلية توقيع.
كيف أختار طول الجزء عند إنشاء ملف تورنت؟
إنها مفاضلة بين حجم البيانات الوصفية ودقة النقل. ينص معيار BEP 3 على أن أطوال الأجزاء تكون دائمًا تقريبًا من مضاعفات العدد اثنين، وعادةً ما تكون 256 كيلوبايت، وهو الحجم الافتراضي لبرنامج mktorrent. في الإصدار 1، تحتوي حمولة بحجم 100 جيجابايت بحجم 256 كيلوبايت على 409,600 جزء، لذا فإن سلسلة الأجزاء وحدها تبلغ حوالي 8 ميجابايت. يجب على عملاء Magnet سحب هذا القاموس بالكامل في حوالي 500 كتلة قبل البدء، لذا فإن البيانات الوصفية كبيرة الحجم تبطئ بدء تشغيل Magnet. الأجزاء الأكبر حجمًا تقلل من حجم البيانات الوصفية ولكنها تجعل عملية الإصلاح بعد فشل جزء ما أكثر صعوبة.
لماذا ينتهي الأمر بتدفقين متطابقين من البيانات في مجموعات منفصلة، وكيف أتجنب ذلك؟
لأن تجزئة المعلومات تغطي قاموس المعلومات بالكامل. فالأسماء المختلفة، وترتيب الملفات، وأطوال الأجزاء، والعلامات الخاصة، أو علامات المصدر، تُنتج تجزئات مختلفة حتى بالنسبة للحمولات المتطابقة بايتًا. وللحفاظ على سرب واحد، يجب توحيد طول الجزء، والاسم، وترتيب الملفات، والعلامات في عملية الإصدار، ونشر تجزئة المعلومات مع الملف. تُعد علامات المصدر طريقة مقصودة لفصل الأسراب، ويُغير خيار -s في mktorrent التجزئة عمدًا.
ما هي أهم المخاوف الأمنية عند كتابة برنامج عميل أو محلل لهذه التنسيقات؟
تعامل مع جميع المدخلات على أنها غير موثوقة. تحقق بدقة من صحة رمز Bencode، وحدد حجم البيانات الوصفية (يفرض أحد عملاء المصادر المفتوحة حدًا أقصى قدره 32 ميجابايت)، ونظف مسارات الملفات من البيانات الوصفية لمنع اختراق الدليل. قم بتصفية العناوين الخاصة وعناوين الاسترجاع التي تُرجعها أدوات التتبع وDHT للحد من إساءة استخدام SSRF، وتحقق من أن عناوين URL الخاصة بأدوات التتبع مقبولة قبل الاتصال. تعامل مع dn كنص غير موثوق، وتحقق من تجزئة كل جزء قبل كتابته إلى وحدة التخزين النهائية.
كيف يمكنني حساب قيمة التجزئة (info-hash) بشكل صحيح من ملف .torrent؟
حدد نطاق البايتات الدقيق لقيمة المعلومات كما تظهر في الملف، ثم قم بتجزئة هذه البايتات: SHA-1 للإصدار الأول، أو SHA-256 للإصدار الثاني. يؤكد معيار BEP 3 على أن التجزئة تعتمد على الترميز الموجود في الملف. لا يكون فك تشفير القاموس وإعادة تشفيره آمنًا إلا إذا قام برنامج فك التشفير بالتحقق من صحة المدخلات بشكل كامل، ويمكن لبرنامج فك تشفير متساهل أن يُعيد تطبيع البيانات تلقائيًا ويُنتج تجزئة مختلفة. بالنسبة لملفات التورنت الهجينة، احسب كلا التجزئتين من نفس النطاق.
هل يمكنني استخدام رابط مغناطيسي لملف تورنت من موقع تتبع خاص؟
غالبًا ما يكون ذلك غير عملي. يتطلب معيار BEP 27 من العملاء الإعلان فقط للمتتبع الخاص والاتصال فقط بالنظراء الذين يُعيدهم. لا يحتوي رابط المغناطيس المجرد على أي علامة خصوصية، لأنها موجودة في البيانات الوصفية، وقد لا يتضمن عنوان URL صالحًا للمتتبع. إذا تم تضمين عنوان URL للمتتبع مع بيانات الاعتماد، فتعامل مع الرابط على أنه سر. هذا استنتاجي من المواصفات، لأن معيار BEP 27 لا يتناول روابط المغناطيس بشكل مباشر، لذا اختبره مع قواعد المتتبع الخاص بك.
لتوزيع البرامج أو مجموعات البيانات أو الأرشيفات في مسار معين، هل يجب عليّ نشر ملف تورنت (.torrent) أم رابط مغناطيسي (magnet link)؟
انشر كلا الملفين، مع اعتبار ملف التورنت (.torrent) هو الملف الأصلي. يحافظ هذا على البيانات الوصفية كاملةً، ويتيح للمستخدمين معاينة قائمة الملفات دون اتصال بالإنترنت، ويدعم خاصية مشاركة الملفات عبر الإنترنت (BEP 19) لضمان التوافر. استخرج رابط المغناطيس من نفس قيمة التجزئة (info-hash) لتسهيل الأمر، وانشر قيمة التجزئة بالإضافة إلى مجموع التحقق الموقّع على قناة موثوقة. يضمن هذا استدامة الأرشفة وسهولة المشاركة دون الاعتماد على المستخدمين الآخرين لاسترجاع البيانات الوصفية.
ما الذي يحدد مدة بقاء ملف التورنت قابلاً للاسترداد، وكيف يمكنني تحسين ذلك؟
تتطلب إمكانية استرجاع البيانات وجود نظير واحد على الأقل قابل للوصول إليه ويحتفظ بالبيانات، وبالنسبة لروابط المغناطيس، يجب أن يحتوي النظير أيضًا على البيانات الوصفية. يمكن تحسين ذلك من خلال إبقاء الموزعين قيد التشغيل، وإضافة عدة متتبعات على مستويات (BEP 12) كنسخة احتياطية، وإضافة موزعات ويب HTTP، والحفاظ على ملف .torrent مؤرشفًا أو قابلًا للتصدير من العملاء الذين يخزنون البيانات الوصفية المُسترجعة مؤقتًا. رابط المغناطيس وحده لا يحفظ أي شيء، لذا فإن توقف مجموعة الموزعين يجعله عديم الفائدة.
قائمة موسعة بالقراءات والمواضيع ذات الصلة
- Bencoding: تنسيق التسلسل المستخدم في ملفات .torrent، مع مفاتيح قاموس مرتبة
- Info-hash: ملخص SHA-1 (الإصدار 1) أو SHA-256 (الإصدار 2) لقاموس المعلومات المشفر، هوية التورنت
- التخزين القابل للعنونة حسب المحتوى: تحديد البيانات من خلال تجزئتها بدلاً من موقعها
- أشجار ميركل: أشجار التجزئة لكل ملف في BitTorrent v2 (BEP 52) للتحقق على مستوى القطعة
- ملفات التورنت الهجينة: ملفات تورنت فردية تحمل كلاً من بنيتي v1 و v2 واثنين من تجزئات المعلومات
- طول القطعة وعدد طبقاتها: المفاضلة بين حجم البيانات الوصفية ودقة التحقق
- مقاومة التصادم SHA-1: لماذا يُعتبر التشفير v1 أضعف نظريًا، بينما ينتقل v2 إلى SHA-256
- بروتوكول التمديد (BEP 10): آلية المصافحة التي تُمكّن ut_metadata وPEX وغيرها من الامتدادات
- تبادل البيانات الوصفية (BEP 9، ut_metadata): جلب قاموس المعلومات من النظراء في كتل بحجم 16 كيلوبايت
- مخطط URI المغناطيسي: مخطط تعريف محايد للمشروع، قائم على التجزئة، مع تسجيل مؤقت لدى هيئة الأرقام المخصصة للأرقام المخصصة (IANA).
- ماجما (بيان المغناطيس): مفهوم الموضوع الظاهر من أصول الشبكة المتعددة لمخطط المغناطيس
- اختيار ملف المغناطيس (BEP 53): اختيار ملفات محددة داخل ملف تورنت من الرابط نفسه
- بيانات تعريفية متعددة المسارات (BEP 12): مستويات قائمة الإعلان مع إعادة الترتيب والتحويل التلقائي في حالة الفشل
- بروتوكول UDP بروتوكول التتبع (BEP 15): إعلان متتبع خفيف الوزن عبر بروتوكول UDP
- قوائم النظراء المختصرة (BEP 23): التشفير الثنائي المضغوط للأقران في استجابات المتتبع
- امتداد متتبع IPv6 (BEP 7): أعلنت شركة peers6 عن دعمها لبروتوكول IPv6
- الإبلاغ عن عناوين IP الخارجية للمتتبع (BEP 24): أجهزة التتبع التي تُبلغ العملاء بعنوانهم المُرصَد
- DHT الرئيسي (BEP 5): جدول التجزئة الموزع القائم على Kademlia لاكتشاف النظراء بدون متتبع
- امتداد أمان DHT (BEP 42): تقييد معرفات العقد لمقاومة هجمات سيبيل وهجمات جداول التوجيه
- وضع/استرجاع البيانات في DHT وفهرسة infohash (BEP 44، BEP 51): تخزين البيانات وأخذ عينات من تجزئات المعلومات في DHT
- تبادل النظراء، PEX (BEP 11): أعضاء السرب يشاركون قوائم النظراء مباشرة
- اكتشاف الخدمات المحلية (BEP 14): إيجاد نظراء على نفس شريحة الشبكة
- التمديد السريع (BEP 6): اختصارات البروتوكول مثل have-all و have-none و reject
- uTP (BEP 29): بروتوكول نقل قائم على UDP مع تحكم في الازدحام يعتمد على التأخير
- ملحق مثقب الورق (BEP 55): يتم تنسيق عملية اجتياز NAT من خلال أجهزة التوجيه النظيرة
- تشفير تدفق الرسائل (MSE/PE): إخفاء البروتوكول، وليس إخفاء الهوية
- التورنت الخاص (BEP 27): علامة الخصوصية التي تقيد اكتشاف النظراء بالمتتبع
- نشر البيانات على الإنترنت (BEP 17، BEP 19): خوادم HTTP أو FTP تعمل كبذور دائمة
- ملفات الحشو (BEP 47): محاذاة الملفات مع حدود الأجزاء لإزالة التكرار ودعم الأنظمة الهجينة
- تلميحات البيانات المحلية (BEP 38): إعادة استخدام البيانات من ملفات التورنت ذات الصلة لتجنب إعادة التنزيل
- توقيع التورنت (BEP 35): توقيعات RSA مضمنة مع شهادات X.509 اختيارية
- تحديثات ملفات التورنت (BEP 39): رابط التحديث لملفات التورنت الموقعة والتحديثات التلقائية.
- مسار التحقق من القطع: التحقق من التجزئة قبل الالتزام، والتعافي من الأجزاء الفاشلة
- تحسين أداء المحلل اللغوي والعميل: ترميز صارم تصديق، أغطية الأحجام، تعقيم المسار، ترشيح SSRF
- WebTorrent و WebRTC: النظراء المستندون إلى المتصفح الذين يستخدمون أدوات تتبع ws/wss و ICE أو TURN
- صناديق البذور والزراعة طويلة الأمد: البنية التحتية اللازمة للتوافر واستمرارية الأرشفة
- عملية إدارة برنامج التحفيز الاقتصادي والحوكمة: كيفية اقتراح المواصفات وفهرستها وترقيتها من مرحلة القبول إلى المرحلة النهائية
- أنظمة معالجة المحتوى البديلة: معرّفات المحتوى على غرار نظام الملفات الدولي المتكامل (IPFS) كنموذج قابل للمقارنة
- الأصل مقابل النزاهة: لماذا تتحقق التجزئة من صحة البيانات ولكنها لا تتحقق من هوية الناشر؟
روابط خارجية على التورنت
(حرك الرابط لرؤية وصفنا للمحتوى)

















