بٹ ٹورینٹ 2.0 پروٹوکول کی حمایت کے ساتھ libtorrent 2 کی رہائی

libtorrent 2.0 (جسے libtorrent-rasterbar بھی کہا جاتا ہے) کی ایک بڑی ریلیز متعارف کرائی گئی ہے، جو BitTorrent پروٹوکول کے میموری- اور CPU کے موثر نفاذ کی پیشکش کرتی ہے۔ لائبریری ایسے ٹورینٹ کلائنٹس میں استعمال ہوتی ہے جیسے Deluge, qBittorrent, Folx, Lince, Miro اور Flush (دوسری libtorrent لائبریری کے ساتھ الجھن میں نہ پڑیں، جو rTorrent میں استعمال ہوتی ہے)۔ libtorrent کوڈ C++ میں لکھا جاتا ہے اور BSD لائسنس کے تحت تقسیم کیا جاتا ہے۔

ریلیز BitTorrent v2 پروٹوکول کے لیے سپورٹ کے اضافے کے لیے قابل ذکر ہے، جو SHA-1 الگورتھم کے استعمال سے ہٹ جاتا ہے، جس میں تصادم کے انتخاب میں دشواری ہوتی ہے، SHA2-256 کے حق میں۔ SHA2-256 ڈیٹا بلاکس کی سالمیت کو کنٹرول کرنے اور اشاریہ جات (معلوماتی لغت) کے اندراجات کے لیے استعمال کیا جاتا ہے، جو DHT اور ٹریکرز کے ساتھ مطابقت کی خلاف ورزی کرتا ہے۔ SHA2-256 ہیش والے ٹورینٹ کے مقناطیسی لنکس کے لیے، ایک نیا سابقہ ​​"urn:btmh:" تجویز کیا گیا ہے (SHA-1 اور ہائبرڈ ٹورینٹ کے لیے، "urn:btih:" استعمال کیا جاتا ہے)۔

کیونکہ ہیش فنکشن کو تبدیل کرنے سے پروٹوکول کی مطابقت ٹوٹ جاتی ہے (ہیش فیلڈ 32 بائٹس کے بجائے 20 بائٹس ہے)، بٹ ٹورنٹ v2 تفصیلات کو ابتدائی طور پر پسماندہ مطابقت کو ذہن میں رکھے بغیر تیار کیا گیا تھا اور دیگر اہم تبدیلیوں کو اپنایا گیا تھا، جیسے مرکل ہیش ٹریز کا انڈیکس میں استعمال۔ ٹورینٹ فائلوں کے سائز کو کم کرنے اور بلاک سطح پر ڈاؤن لوڈ کردہ ڈیٹا کو چیک کرنے کے لیے۔

BitTorrent v2 میں تبدیلیوں میں ہر فائل کو علیحدہ ہیش ٹری تفویض کرنے کی منتقلی اور حصوں میں فائل الائنمنٹ کا استعمال بھی شامل ہے (ہر فائل کے بعد اضافی پیڈنگ شامل کیے بغیر)، جو ایک جیسی فائلوں کی موجودگی پر ڈیٹا کی نقل کو ختم کرتا ہے اور شناخت کرنا آسان بناتا ہے۔ فائلوں کے لیے مختلف ذرائع ٹورینٹ ڈائرکٹری ڈھانچے کی انکوڈنگ کی بہتر کارکردگی اور بڑی تعداد میں چھوٹی فائلوں کو سنبھالنے کے لیے بہتریاں شامل کی گئیں۔

BitTorrent v1 اور BitTorrent v2 کے بقائے باہمی کو ہموار کرنے کے لیے، ہائبرڈ ٹورینٹ فائلیں بنانے کی صلاحیت کو نافذ کیا گیا ہے، جس میں SHA-1 ہیشز کے ساتھ ڈھانچے کے علاوہ، SHA2-256 کے ساتھ اشاریہ جات بھی شامل ہیں۔ یہ ہائبرڈ ٹورینٹ ان کلائنٹس کے ساتھ استعمال کیے جا سکتے ہیں جو صرف BitTorrent v1 پروٹوکول کو سپورٹ کرتے ہیں۔ غیر حل شدہ استحکام کے مسائل کی وجہ سے، libtorrent 2.0 میں WebTorrent پروٹوکول کے لیے متوقع تعاون کو اگلی بڑی ریلیز تک موخر کر دیا گیا ہے، جسے سال کے آخر تک جاری نہیں کیا جائے گا۔

ماخذ: linux.org.ru