يقوم هذا المستودع بتنفيذ الحزم المرتبطة بـ BitTorrent والأدوات المساعدة لسطر الأوامر في Go. وينصب التركيز على استخدامها كمكتبة من المشاريع الأخرى. لقد تم استخدامه على مدار الساعة طوال أيام الأسبوع في الإنتاج بواسطة الخدمات النهائية منذ أواخر عام 2014. وقد تم إنشاء التطبيق خصيصًا لاستكشاف إمكانيات التزامن الخاصة بـ Go، ولتضمين القدرة على دفق البيانات مباشرة من شبكة BitTorrent. ولتحقيق هذه الغاية، فهو يدعم البحث والقراءة والميزات الأخرى التي تعرض السيول وملفاتها باستخدام واجهات حزمة io
الاصطلاحية المتنوعة. ويتجلى هذا أيضًا من خلال torrentfs.
هناك دعم لتشفير البروتوكول، DHT، PEX، uTP، وامتدادات مختلفة. هناك العديد من الواجهات الخلفية لتخزين البيانات المتوفرة: blob، وfile، وbolt، وmmap، وsqlite، على سبيل المثال لا الحصر. يمكنك كتابة بياناتك الخاصة لتخزين البيانات على سبيل المثال على S3 أو في قاعدة بيانات.
تتضمن بعض تبعيات الحزمة الجديرة بالملاحظة والتي يمكن استخدامها لأغراض أخرى ما يلي:
قم بتثبيت حزمة المكتبة باستخدام go get github.com/anacrolix/torrent
أو أوامر cmd المتوفرة باستخدام go install github.com/anacrolix/torrent/cmd/...@latest
.
هناك بعض الأمثلة الصغيرة في وثائق الحزمة.
هناك العديد من واجهات الويب والمواقع وعملاء Android وواجهات التخزين الخلفية وخدمات الدعم من بين المشاريع العامة المعروفة:
يتم التواصل حول المشروع بشكل أساسي من خلال المناقشات وتتبع المشكلات.
سأصف هنا ما تفعله بعض الحزم الموجودة في ./cmd
. راجع التثبيت لإتاحتها.
torrent
torrent download
تنزيل السيول من سطر الأوامر.
$ torrent download 'magnet:?xt=urn:btih:KRWPCX3SJUM4IMM4YF5RPHL6ANPYTQPU'
... lots of jibber jabber ...
downloading "ubuntu-14.04.2-desktop-amd64.iso": 1.0 GB/1.0 GB, 1989/1992 pieces completed (1 partial)
2015/04/01 02:08:20 main.go:137: downloaded ALL the torrents
$ md5sum ubuntu-14.04.2-desktop-amd64.iso
1b305d585b1918f297164add46784116 ubuntu-14.04.2-desktop-amd64.iso
$ echo such amaze
wow
torrent metainfo magnet
ينشئ رابطًا مغناطيسيًا من ملف تورنت. لاحظ أدوات التتبع المستخرجة واسم العرض وتجزئة المعلومات.
$ torrent metainfo testdata/debian-10.8.0-amd64-netinst.iso.torrent magnet
magnet:?xt=urn:btih:4090c3c2a394a49974dfbbf2ce7ad0db3cdeddd7&dn=debian-10.8.0-amd64-netinst.iso&tr=http%3A%2F%2Fbttracker.debian.org%3A6969%2Fannounce
راجع torrent metainfo --help
للحصول على أوامر أخرى ذات صلة بمعلومات معلومات التعريف.
torrentfs
يقوم torrentfs بتثبيت نظام ملفات FUSE على -mountDir
. المحتويات هي السيول الموصوفة بواسطة ملفات التورنت وروابط المغناطيس في -metainfoDir
. يتم جلب بيانات طلبات القراءة فقط كما هو مطلوب من شبكة التورنت، ويتم تخزينها في -downloadDir
.
$ mkdir mnt torrents
$ torrentfs -mountDir=mnt -metainfoDir=torrents &
$ cd torrents
$ wget http://releases.ubuntu.com/14.04.2/ubuntu-14.04.2-desktop-amd64.iso.torrent
$ cd ..
$ ls mnt
ubuntu-14.04.2-desktop-amd64.iso
$ pv mnt/ubuntu-14.04.2-desktop-amd64.iso | md5sum
996MB 0:04:40 [3.55MB/s] [========================================>] 100%
1b305d585b1918f297164add46784116 -