bittorrent

Implementing find node on torrent kademlia routing table

孤街醉人 提交于 2019-11-27 18:28:57
问题 I, already, reviewed a number of documents on this topic but there is something not exactly clear. For example bit torrent document (http://www.bittorrent.org/beps/bep_0005.html) states The routing table is subdivided into "buckets" that each cover a portion of the space. An empty table has one bucket with an ID space range of min=0, max=2^160. When a node with ID "N" is inserted into the table, it is placed within the bucket that has min <= N < max. An empty table has only one bucket so any

Where to find BitTorrent source code? [closed]

感情迁移 提交于 2019-11-27 17:38:14
问题 I have looked and looked and cannot seem to find this source code anywhere. Every link I find points to the official BitTorrent page, which Slashdot says took the source code down in 2007. Am I to believe that this incredibly widespread, open-source technology is not to be found anywhere except in applications like uTorrent or Transmission? There has to be a place to download CURRENT source code for BitTorrent. Can anyone point me to that magical place? 回答1: FYI Archived version of the

Bittorrent tracker request

醉酒当歌 提交于 2019-11-27 16:45:38
问题 Using a torrent file from http://torrent.ubuntu.com:6969/ I am calculating its hash which matches with the hash on the page. Then i make a request to the tracker. Like http://torrent.ubuntu.com:6969/announce?info_hash=9a81333c1b16e4a83c10f3052c1590aadf5e2e20 But i get d14:failure reason63:Requested download is not authorized for use with this tracker.e According to the spec this should work? Tracker Spec General Spec 回答1: You specified the info_hash in hex, rather than URL-encoding. The bytes

How NAT traversal works in case of peer to peer protocols like bittorrent.

扶醉桌前 提交于 2019-11-27 14:24:45
I know about NAT traversal and about STUN, TURN and ICE and its use. I want to know whether these are implemented in peer to peer file sharing application like bittorrent. Whether trackers facilitate peers behind NATs to communicate with each other by helping in creating direct connection using STUN or relay through TURN. In the case of Distributed Hash Table(DHT) how one peer would communicate with other peer behind NAT ? BitTorrent does not need to connect to any particular member in a swarm, it's not a p2p chat protocol where two specific end points want to talk to each other. All it cares

Python BitTorrent Library [closed]

你离开我真会死。 提交于 2019-11-27 12:52:41
问题 Is there a Python BitTorrent library that just works ? I need to tinker around with BitTorrent protocol for a research project and I don't want to reinvent the wheel and write my own implementation of the protocol (and neither I am capable of doing so) I looked at the sources for the official BitTorrent client, but that is not what I am looking for. A library/ module is what I would prefer. Thanks! 回答1: You might want to have a look at the python-libtorrent project. It's a wrapper around the

How PEX protocol (Magnetic links) finds it first IP?

一笑奈何 提交于 2019-11-27 11:50:22
I'm trying to understand how can a magnetic link work, as I've read they use DHT and PEX to get the peers, but if I'm a new node in the network how can I find peers with only the hash of the file?! Doesn't it always require a link to a known host? Thanks The bittorrent DHT can be bootstrapped in many ways. It just needs the IP and Port of any other reachable DHT node out there. Current clients generally use several of the following strategies: bootstrap from a cache of long-lived nodes from a previous session use a DNS A/AAAA record mapping to a known node (e.g. router.bittorrent.com or dht

Java BitTorrent library [closed]

风流意气都作罢 提交于 2019-11-27 11:01:33
Are there any decent BitTorrent libraries for Java? I need to program a simple torrent client, but it would be great if I didn't have to write everything from scratch. jjnguy Snark by Three Rings is a very lightweight bitorrent library that will give you basic torrent features. Was originally written by Mark Wielaard. A github source can be found here https://github.com/akerigan/born-again-snark leonm Turn's TTorrent is a pure Java bit torrent library. Toilal I have created a Bitlet Fork on Github. It's LGPLed, and it's running faster than ttorent. Anonymous Azureus (now named Vuze ) gives you

Connecting P2P over NAT?

▼魔方 西西 提交于 2019-11-27 09:51:49
问题 I started to explore the option of connecting with other using a p2p connection, so I coded a simple socket program in JAVA for android devices in which the users can share simple messages p2p (I didn't have any idea about NAT then). I got to know about NAT, so I now need to establish a TCP connection with another user which uses a server for discovery but payload is transferred p2p. I have also looked at XMPP(a very good and detailed explanation of how protocol works is here) and UPnP but I

Calculating the info-hash of a torrent file

余生颓废 提交于 2019-11-27 09:33:55
I'm using C++ to parse the info hash of a torrent file, and I am having trouble getting a "correct" hash value in comparison to this site: http://i-tools.org/torrent I have constructed a very simple toy example just to make sure I have the basics right. I opened a .torrent file in sublime and stripped off everything except for the info dictionary, so I have a file that looks like this: d6:lengthi729067520e4:name31:ubuntu-12.04.1-desktop-i386.iso12:piece lengthi524288e6:pieces27820:¡´E¶ˆØËš3í ..............(more unreadable stuff.....).......... I read this file in and parse it with this code:

How do BitTorrent magnet links work?

匆匆过客 提交于 2019-11-27 05:52:32
For the first time I used a magnet link . Curious about how it works, I looked up the specs and didn't find any answers. The wiki says xt means "exact topic" and is followed by the format ( btih in this case) with a SHA1 hash. I saw base32 mentioned, knowing it's 5 bits per character and 32 characters, I found it holds exactly 160bits, which is exactly the size of the SHA1. There's no room for an IP address or anything, it's just a SHA1. So how does the BitTorrent client find the actual file? I turned on URL Snooper to see if it visits a page (using TCP) or does a lookup or the like, but