Membuat klien BitTorrent dari nol dengan Go
(blog.jse.li)Menjelaskan langkah demi langkah pembuatan klien berbasis tracker (tidak mencakup DHT, magnet, dan lain-lain)
-
Parsing file
.torrent -
Menemukan peer
-
Parsing respons tracker
-
Bertukar payload dengan peer (
Concurrency,Pipe Lining, dan lain-lain)
4 komentar
Saya sering memakai torrent, tapi penasaran bagaimana cara membuatnya, jadi terima kasih atas informasi yang bagus ini.
Saya mencari apakah torrent masih dipakai sekarang untuk hal selain penggunaan ilegal.
Murder, proyek open source yang dulu dipakai Twitter untuk distribusi deployment server, sekarang sudah tidak lagi dipelihara.
https://github.com/lg/murder
Blizzard pernah memakai protokol torrent untuk distribusi klien berukuran besar, tetapi itu juga dihentikan setelah 2015.
https://us.battle.net/forums/en/bnet/topic/16283439122
Setidaknya, sepertinya Internet Archive masih menggunakannya untuk mengunduh file.
https://help.archive.org/hc/en-us/…
Kadang ini juga cukup berguna saat mencari distro OS berbasis Linux yang kurang populer.
Cukup banyak OS berbasis Linux menyediakan opsi untuk diunduh lewat torrent,
jadi kalau nanti unduhan langsungnya tidak lagi tersedia karena alasan seperti pengembangan OS tersebut dihentikan,
kita tetap bisa mendapatkannya lewat pengguna lain yang sebelumnya sudah mengunduhnya melalui torrent dan masih mempertahankan seed.
Ada beberapa klien penuh dan pustaka BitTorrent lain yang dibuat dengan Go selain ini.
https://github.com/cenkalti/rain
https://github.com/anacrolix/torrent