مخطط URI المغناطيسي
تحتوي هذه المقالة على العديد من المشكلات. يُرجى المساعدة في تحسينها أو مناقشة هذه المشكلات على صفحة المناقشة . ( تعرف على كيفية ومتى يمكنك إزالة هذه الرسائل )
|

Magnet هو مخطط URI يحدد تنسيق الروابط المغناطيسية ، وهو معيار فعلي لتحديد الملفات ( URN ) من خلال محتواها، عبر قيمة التجزئة التشفيرية وليس من خلال موقعها.
على الرغم من إمكانية استخدام الروابط المغناطيسية في عدد من السياقات، إلا أنها مفيدة بشكل خاص في شبكات مشاركة الملفات من نظير إلى نظير لأنها تسمح بالرجوع إلى الموارد دون الحاجة إلى مضيف متاح باستمرار، ويمكن إنشاؤها بواسطة أي شخص لديه الملف بالفعل، دون الحاجة إلى سلطة مركزية لإصدارها. وهذا يجعلها شائعة الاستخدام كمصطلحات بحث "مضمونة" داخل مجتمع مشاركة الملفات حيث يمكن لأي شخص توزيع رابط مغناطيسي لضمان أن المورد المسترد بواسطة هذا الرابط هو المورد المقصود، بغض النظر عن كيفية استرداده.
تاريخ
تم تطوير معيار عناوين URI المغناطيسية بواسطة Bitzi في عام 2002، جزئيًا باعتباره "تعميمًا محايدًا للبائع والمشروع" لمخططات URI ed2k:و freenet:URI المستخدمة بواسطة eDonkey2000 و Freenet على التوالي، ومحاولة اتباع معايير URI الرسمية لـ IETF بأكبر قدر ممكن. قدمت BitTorrent البروتوكول في عام 2020 كجزء من تغييرات BitTorrent v2. [1]btmh:
شكل
تتكون عناوين URL المغناطيسية من سلسلة مكونة من معلمة واحدة أو أكثر، ولا يعد ترتيبها مهمًا، ويتم تنسيقها بنفس طريقة سلاسل الاستعلام التي تنهي عادةً عناوين URL HTTP .
يتم دعم المعلمات التالية: [2] [3]
| المعلمة | اسم | وصف |
|---|---|---|
| إكس تي | الموضوع الدقيق | URN يحتوي على تجزئة الملف . هذا هو الجزء الأكثر أهمية في رابط المغناطيس، ويُستخدم للعثور على الملف المحدد والتحقق منه. URN خاص بالبروتوكول، لذا فإن تجزئة الملف URN تحت btih (BitTorrent) ستكون مختلفة تمامًا عن تجزئة الملف URN لـ ed2k
|
| دن | اسم العرض | اسم الملف لعرضه للمستخدم، لتسهيل الأمر. |
| اكس ال | الطول الدقيق | حجم الملف بالبايت |
| تر | عنوان المتعقب | عنوان URL للتعقب ؛ يستخدم للحصول على الموارد اللازمة لتنزيلات BitTorrent دون الحاجة إلى دعم DHT . [3] يجب ترميز القيمة بعنوان URL.
|
| ويس | بذرة الويب | بيانات الحمولة المقدمة عبر HTTP(S) |
| كما [ بحاجة لمصدر ] | مصدر مقبول | يشير إلى التنزيل المباشر من خادم الويب. ويُعتبر مصدرًا احتياطيًا فقط في حالة عدم تمكن العميل من تحديد موقع الملف المرتبط به و/أو تنزيله في شبكات P2P المدعومة
|
| xs [ بحاجة لمصدر ] | المصدر الدقيق | إما مصدر تنزيل HTTP (أو HTTPS أو FTP أو FTPS أو غير ذلك) للملف المشار إليه بواسطة رابط Magnet، أو عنوان مصدر P2P للملف أو عنوان مركز (في حالة DC++ )، والذي يحاول العميل من خلاله الاتصال مباشرة، ويطلب الملف و/أو مصادره. يستخدم عملاء P2P هذا الحقل عادةً لتخزين المصدر، وقد يتضمن تجزئة الملف. |
| كيلوطن [ بحاجة لمصدر ] | موضوع الكلمات الرئيسية | يحدد سلسلة من كلمات البحث الرئيسية للبحث عنها في شبكات P2P، بدلاً من ملف معين
|
| mt [ بحاجة لمصدر ] | موضوع واضح | رابط إلى الملف التعريفي الذي يحتوي على قائمة من العناصر المغناطيسية (MAGMA – MAGnet MAnifest)؛ أي رابط إلى قائمة من الروابط
|
| لذلك [4] | حدد فقط | يسرد ملفات محددة يجب على عملاء التورنت تنزيلها، [5] مع الإشارة إلى ملفات فردية أو نطاقات (شاملة) من فهرس الملفات.
|
| إكس بي إي | الأقران | يحدد عناوين الأقران الثابتة للاتصال بها. يستخدم لبدء اكتشاف الأقران في غياب (على سبيل المثال) المتتبعات أو DHT . [3]
|
يسمح المعيار أيضًا بمعلمات تجريبية خاصة بالتطبيق، والتي يجب أن تبدأ بـ "x". [ بحاجة لمصدر ]
الموضوع الدقيق (xt)
تحدد معلمة xt رقم URN لبروتوكول p2p معين. والغرض منها هو توفير معلمة بحث للعثور على البيانات الوصفية للتورنت. يعمل هذا فعليًا كبديل لملف .torrent، والذي يحتوي في حد ذاته على البيانات الوصفية للتورنت، عن طريق البحث في شبكة p2p (باستخدام رقم URN) عن تلك البيانات الوصفية. يتعامل كل بروتوكول مع رقم URN بشكل فريد؛ على سبيل المثال، xt=urn:btih:FFC7E738EAA4CD4ECF51EC6FD669C6CDE2C281A8يستخدم btih (بروتوكول BitTorrent v1)، لذلك يمكن لعميل BitTorrent أخذ التجزئة والبحث عن البيانات الوصفية للتورنت في BitTorrent DHT. [6] في حالة DHT، يبحث العميل من خلال مجموعة من العقد المعروفة مسبقًا ويطلب البيانات الوصفية لـ infohash؛ ستقدم هذه العقد نفس الطلب إلى العقد الأخرى المعروفة حتى يتم العثور على سرب وإعادته في النهاية.
يسمح xt أيضًا بإعداد مجموعة. يمكن تضمين ملفات متعددة عن طريق إضافة رقم عددي يسبقه نقطة (".") لكل معلمة ارتباط. [ بحاجة لمصدر ]
magnet:?xt.1=[ URN of the first file]&xt.2=[ URN of the second file]
- حشيشة شجرة النمر (TTH)
- يتم استخدام هذه التجزئات في Direct Connect و G2 (Gnutella2)، وغيرها.
xt=urn:tree:tiger:[ TTH Hash (Base32) ]- خوارزمية التجزئة الآمنة 1 (SHA-1)
- يتم استخدام مجموعات التجزئة هذه على gnutella و G2 (Gnutella2).
xt=urn:sha1:[ SHA-1 Hash (Base32) ]- بت برينت
- تتكون مجموعات التجزئة هذه من Hash SHA-1، متبوعًا بـ Hash TTH، محدد بنقطة؛ يتم استخدامها على gnutella و G2 (Gnutella2).
xt=urn:bitprint:[ SHA-1 Hash (Base32) ].[ TTH Hash (Base32) ]- تجزئة ED2K (eDonkey2000)
- يتم استخدام مجموعات التجزئة هذه على eDonkey2000 .
xt=urn:ed2k:[ ED2K Hash (Hex) ]- معالج الفساد الذكي المتقدم (AICH)
- لا تعد هذه مجموعات التجزئة بمثابة أرقام URN رسمية لروابط Magnet، بل يتم استخدامها بواسطة eDonkey2000 لاستعادة ومراقبة سلامة الملفات التي تم تنزيلها والملفات التي تم تنزيلها بالفعل.
xt=urn:aich:[ aich Hash (Base32) ]- هاش كازا
- عند استخدامها على FastTrack ، تكون مجموعات التجزئة هذه عرضة لهجمات تصادم التجزئة .
xt=urn:kzhash:[ Kazaa Hash (Hex) ]- تجزئة معلومات BitTorrent (BTIH)
- هذه هي مجموعات التجزئة SHA-1 المشفرة بنظام سداسي عشري لأقسام "المعلومات" في ملفات التعريف التعريفية لبرنامج BitTorrent كما يستخدمها برنامج BitTorrent لتحديد الملفات أو مجموعات الملفات القابلة للتنزيل. لتحقيق التوافق مع الروابط الحالية، يجب على العملاء أيضًا دعم إصدار التجزئة المشفر بنظام Base32 . [3]
xt=urn:btih:[ BitTorrent Info Hash (Hex) ]- يتطلب بعض العملاء Base32 من info_hash (على سبيل المثال، Vuze ).
- معلومات BitTorrent hash v2 (BTMH)
- يستبدل BitTorrent v2 تجزئة SHA-1 القديمة بتجزئة معلومات SHA-256 . يتم إعطاء بادئة جديدة ( ) لتجزئة معلومات v2
btmhللسماح للتورنتات التي يمكنها المشاركة في أسراب v1 وv2 [7] xt=urn:btmh:[1220: (v2 prefix) BitTorrent Info Hash (Hex) ]- ملخص الرسالة 5 (MD5)
- بدعم من G2 (Gnutella2)، تكون مثل هذه التجزئات عرضة لهجمات تصادم التجزئة .
xt=urn:md5:[ MD5 Hash (Hex) ]
روابط الويب للملف
هناك نوعان من روابط التنزيل التي يمكن أن يتضمنها رابط المغناطيس كمصدر مباشر أو احتياطي.
- "كمصدر مقبول"
- يعامل معظم العملاء "as" على أنه مساوٍ لرمز "xs" عندما يتعلق الأمر بالأولوية، ويتجاهلون مهلة الانتظار قبل الاتصال بمصادر "as" المشار إليها بالمواصفات.
- عنوان URL للويب الذي يمكن توجيهه حسب المحتوى
- يتم استخدام هذا النوع من الروابط المستندة إلى RFC 2168 بواسطة تطبيقات Gnutella بالإضافة إلى تطبيقات G2 . [8]
xs=http://[Client Address]:[Port of client]/uri-res/N2R?[ URN containing a file hash ]xs=http://192.0.2.27:6346/uri-res/N2R?urn:sha1:FINYVGHENTHSMNDSQQYDNLPONVBZTICF- الارتباط بمركز DirectConnect للعثور على مصادر لملف
- يقوم هذا النوع من الارتباط بربط عميل DirectConnect على الفور بالمحور المعني.
xs=dchub://[hub address]:[hub port]- مرجع إلى ذاكرة تخزين مؤقتة للمصدر على الويب لملف على Gnutella2
- في هذه الحالة، لا يشير الرابط المضمن إلى عنوان IP للعميل أو المصدر المباشر، بل إلى ذاكرة تخزين مؤقتة للمصدر تخزن عناوين IP للعملاء الآخرين الذين يتصلون بها لتنزيل نفس الملف. بمجرد اتصال العميل بذاكرة التخزين المؤقتة، يتم تقديم عناوين IP له للمصادر البديلة، بينما يتم تخزين عنوان IP الخاص به داخل ذاكرة التخزين المؤقتة وإعادة توجيهه إلى العميل التالي المتصل بذاكرة التخزين المؤقتة. يعمل هذا النظام بشكل مشابه لمتعقب BitTorrent .
xs=http://cache.freebase.be/[ SHA-1 hash ]- مرجع إلى مصدر eD2k
xs=ed2kftp://[client address]:[client port]/[ed2k hash]/[file size]/
تنسيق الملحق (x.)
بالنسبة للخيارات غير الرسمية التجريبية والمكملة ذاتيًا، x.يمكن استخدام البادئة متبوعة بحرف لاحقة مختار. ومن المؤكد أن هذه الأسماء لن تكون موحدة أبدًا.
x.[name of the new parameter]=[data of the new parameter (URL encoded)][ بحاجة لمصدر ]
العملاء
| عميل | دن | اكس ال | إكس تي | تر | اكس اس | مثل | كيلوطن | جبل | ويس |
|---|---|---|---|---|---|---|---|---|---|
| أمول | نعم | نعم | urn:ed2k:
|
لا | مجهول | مجهول | مجهول | مجهول | مجهول |
| أبيكس دي سي++ | نعم | نعم | urn:bitprint: urn:tree:tiger:
|
لا | dchub: [ملاحظة 1] | dchub: [ملاحظة 1] | لا | لا | مجهول |
| بيتكوميت | نعم | نعم | urn:btih:
|
نعم | نعم1.76
|
لا | لا | لا | نعم 1.74[9]
|
| بيتفلو | نعم | لا | urn:btih:
|
نعم | لا | لا | لا | لا | مجهول |
| غمر | نعم | لا | urn:btih:
|
نعم | لا | لا | لا | لا | مجهول |
| آيسكالتDC++ | نعم | نعم | urn:tree:tiger: urn:bitprint: urn:btih:[ملاحظة 2] urn:btmh:[ملاحظة 2]
|
لا | dchub: [ملاحظة 1] adc: [ملاحظة 3] adcs: [ملاحظة 4] |
dchub: [ملاحظة 1] | نعم | لا | مجهول |
| فلاي لينك دي سي++ | نعم | نعم | urn:tree:tiger: urn:bitprint: urn:btih:
|
لا | dchub: [ملاحظة 1] adc: [ملاحظة 3] adcs: [ملاحظة 4] |
dchub: [ملاحظة 1] | نعم | لا | مجهول |
| نوتيلا-gtk | نعم | نعم | urn:sha1:
|
لا | http: الدفع: |
نعم | نعم | لا | مجهول |
| كيه تورنت | نعم | لا | urn:btih:
|
نعم | لا | لا | لا | لا | مجهول |
| لايم واير | نعم | نعم | urn:sha1:
|
لا | http: urn:guid: |
مجهول | لا | لا | مجهول |
| مونو تورنت | نعم | نعم | urn:btih:
|
نعم | لا | نعم | لا | لا | مجهول |
| ميكروتورنت | نعم | لا | urn:btih:
|
نعم | لا | لا | لا | لا | نعم |
| كيوبت تورنت | نعم | لا | urn:btih: urn:btmh:
|
نعم | مجهول | مجهول | لا | لا | مجهول |
| شريزا | نعم | نعم | urn:bitprint: urn:btih: urn:ed2k: urn:md5: urn:sha1: urn:tree:tiger:
|
نعم [ملاحظة 5] | http: ftp: |
http: ftp: (نفس أولوية xs) |
نعم | لا | مجهول |
| تيكساتي | نعم | نعم | urn:btih:
|
نعم | نعم | نعم | مجهول | مجهول | نعم |
| النقل [2] [10] | نعم | لا | urn:btih:
|
نعم | لا | لا | لا | لا | نعم [11] |
| فوزي | نعم | نعم | urn:btih: urn:sha1:
|
نعم | نعم5.7.5.0
|
نعم5.7.5.0
|
لا | لا | نعم |
انظر أيضا
- بت تورنت
- بيرنبيت
- مخطط URI الخاص بـ ed2k
- نظام الملفات بين الكواكب
- ميتالينك
- شبكات البيانات المسماة
- الند للند
ملاحظات توضيحية
- ^ abcdef dchub://[عنوان المحور]:[منفذ المحور]
- ^ ab ينقل الرابط إلى برنامج خارجي
- ^ أب adc://[hubaddress]:[hubport]
- ^ أب adcs://[hubaddress]:[hubport]
- ^ منذ الإصدار 2.5.1.0
مراجع
- ^ "BitTorrent v2". BitTorrent. مؤرشف من الأصل في 30 أكتوبر 2020 . تم الاسترجاع 7 سبتمبر 2020 .
- ^ ab "magnet-test.c in trunk/libtransmission; Revision 9531". Transmission. مؤرشف من الأصل في 2012-02-17 . تم الاسترجاع في 2012-02-04 .
- ^ abcd "اقتراح تحسين BitTorrent رقم 9: امتداد للأقران لإرسال ملفات البيانات الوصفية". bittorrent.org (نُشر في 31 يناير 2008). 26 مارس 2017. مؤرشف من الأصل في 10 أكتوبر 2022. تم الاسترجاع في 04 نوفمبر 2022 .
- ^ "libtorrent/magnet_uri.cpp at 64817e0e8793d0875fc10245de52ffb2540a223d · arvidn/libtorrent". libtorrent . مؤرشف من الأصل في 2022-11-04 . تم الاسترجاع في 2022-11-04 – عبر GitHub .
- ^ "اقتراح تحسين BitTorrent رقم 53: ملحق Magnet URI - تحديد مؤشرات ملفات محددة للتنزيل". BitTorrent.org . 2017-06-06. مؤرشف من الأصل في 2022-10-10 . تم الاسترجاع في 2022-11-04 .
- ^ "bep_0005.rst_post". bittorrent.org . تم الاسترجاع في 2022-05-12 .
- ^ "BitTorrent v2". libbittorrent.org . libbittorrent. 2020-09-07. مؤرشف من الأصل في 2022-10-22 . تم الاسترجاع 2022-11-05 .
- ^ Chapweske, Justin (29 نوفمبر 2001). "ملحقات HTTP لشبكة ويب قابلة للعنونة بالمحتوى". www-talk . W3C. مؤرشف من الأصل في 28 يوليو 2011. تم الاسترجاع في 7 نوفمبر 2010 .
- ^ "التحسين الأساسي للإصدار 1.74: دعم معلمة ws في Magnet URI، لإضافة بذرة الويب". bitcomet . مؤرشف من الأصل في 2021-04-10 . تم الاسترجاع في 2021-04-07 .
- ^ "magnet.c in trunk/libtransmission; Revision 9979". Transmission. مؤرشف من الأصل في 2012-02-17 . تم الاسترجاع في 2012-02-04 .
- ^ "magnet.c in libtransmission: Commit 5c3fd1b5ccc3a8c4ab68e2c56861df31dd1c720a". Transmission. مؤرشف من الأصل في 2021-09-04 . تم الاسترجاع في 2021-09-04 .
روابط خارجية
- مشروع Magnet-URI على SourceForge ، تعريف مبكر للتنسيق (آخر تحديث 2002)
- أداة CHK Freeware checksum مع دعم SHA1-Base32 وED2K
- RHash على SourceForge ، وهي أداة سطر أوامر مفتوحة المصدر ، يمكنها حساب الروابط المغناطيسية
