Go ile Sıfırdan Bir BitTorrent İstemcisi Yapmak
(blog.jse.li)Tracker tabanlı bir istemcinin (DHT, magnet vb. hariç) nasıl adım adım geliştirileceği anlatılıyor
-
.torrentdosyasını ayrıştırma -
Eşleri keşfetme
-
Tracker yanıtını ayrıştırma
-
Eş ile payload alışverişi (
concurrency,pipe liningvb.)
4 yorum
Torrent kullanırken nasıl yapıldığını hep merak ediyordum; güzel bilgi için teşekkürler.
Torrent’un yasa dışı kullanım dışında bugünlerde hâlâ nerede kullanıldığını merak edip arattım.
Twitter’ın sunucu dağıtımı için kullandığı açık kaynak Murder artık bakım almıyor.
https://github.com/lg/murder
Blizzard büyük istemci dağıtımlarında torrent protokolünü kullanıyordu, ama onu da 2015’ten sonra kaldırdı.
https://us.battle.net/forums/en/bnet/topic/16283439122
Yine de Internet Archive’ın dosya indirme amacıyla kullanması gibi bir örnek var sanırım.
https://help.archive.org/hc/en-us/…
Daha az bilinen Linux tabanlı OS dağıtımlarını edinirken de bazen işe yarıyor.
Oldukça fazla Linux tabanlı OS, torrent üzerinden indirilebilme seçeneği sunuyor.
Bu da daha sonra söz konusu OS'in geliştirilmesinin durması gibi nedenlerle doğrudan indirme artık mümkün olmadığında,
torrent üzerinden daha önce indirip seed etmeyi sürdüren diğer kullanıcılardan alabilmeniz anlamına geliyor.
Go ile yazılmış tam özellikli BitTorrent istemcileri ve kütüphaneler olarak bunun dışında da birkaç tane var.
https://github.com/cenkalti/rain
https://github.com/anacrolix/torrent