BitTornado | John Hoffman 's fork of the original bittorrent | Stream Processing library
kandi X-RAY | BitTornado Summary
kandi X-RAY | BitTornado Summary
BitTornado is a fork of the original Python BitTorrent distribution, made by John Hoffman to add some experimental features, most (if not all) of which are now standard in other clients and trackers. The last official release was made in 2006, and thus many newer features are missing, but BitTornado is also an accessible Python library, and has several simple tools for editing torrent files. After several years of intermittent modifications, cleanups, modernization, and porting to Python 3.4, I have begun assigning version numbers. I have done my best to ensure that tagged versions and python-labelled branches (see below) work at least as well as they did in version 0.3.18. Since 0.4.0, the library components have been substantially reorganized, so expect dependent applications to break on upgrade.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
- Unpickle a piece of data
- Calculate the piece length
- Update the stats_response
- Return a list of keys
- Set the pause
- Return the number of disconnected neighbors
- Main function
- Deletes old cache data from cache
- Set default value if key does not exist
- Announce a peer
- Parses data into pieces
- Format a statefile template
- Collect torrent stats
- Deletes cached cache data from the cache
- Receive a single message
- Set priority for a piece
- Return checksum of the check function
- Parse allowed files
- Called when a piece has finished
- Download all files in a directory
- Normalize the given method
- Read characters from the stream
- Resume the contents of the file
- Request a message
- Pickle piece data
- Cancel piece download
BitTornado Key Features
BitTornado Examples and Code Snippets
Community Discussions
Trending Discussions on BitTornado
QUESTION
I'm at a loss. I am trying to set up a private tracker for a friend (to distribute his content). He has a VPS, so I thought I would just install opentracker and be done with it. However, I've encountered a problem, or rather a multitude of problems:
NB: in all that follows the trackers are open and do not contain whitelists or such. In all the cases the clients get the correct number of peers. In all the cases, one of the peers has the file the other tries to download it.
#############################################
[2 Peers on same LAN]
Situation 1: Tracker is on server external to LAN
- Public tracker (first google search) => hours of wait and nothing
- Self hosted tracker on VPS (tried peertracker, bittornado/bttrack, opentracker) => hours of wait and nothing except one time with opentracker when it spontaneously transmitted the file after some wait time.
Situation 2: Tracker is on server internal to LAN on a third computer:
- opentracker on a third PC on LAN => hours of wait and nothing
Situation 3: Tracker is on the seeding computer:
- bttrack (bittornado) on seeding computer => half an hour of wait and then spontaneously transmitted.
- opentracker on seeding computer => hours of wait and nothing
Situation 4: Tracker is on receiving computer:
- opentracker on receiving computer => hours of wait and nothing.
[2 Peers on different LANs]
- Situation 1: Tracker is on server external to both LANs
- Public tracker (first google search) => hours of wait and nothing
- Self hosted tracker on VPS (tried peertracker, bittornado/bttrack, opentracker) => hours of wait and nothing
#############################################
The clients used are Transmission and Ktorrent.
I tried dissecting the communication using Wireshark. The response to the GET request seems to vary randomly at different parts of the day for the same setup. Sometimes the peers12 contains nothing. Sometimes it contains something like \177\000\000\001 which is obviously not my IP. Sometimes it transforms into peers18 and contains someting weird. One time it just spontaneously started responding with peers6.
I tried placing the servers behind a reverse proxy and not. I've tried adding the IP to the request both in-client (activating the option to use it in opentracker) and in-nginx by rewriting the request. But when I tried it on the same LAN and it didn't work I realised that was not the problem.
To resume, from the clients' perspective, the amount of peers is right but it connects to none of them and the clients do not show them in the lists of peers. Sometimes though it starts to work spontaneously (2 times only on same LAN in more than 50 hours of testing). I think I'm missing something trivial here.
If anyone has any idea... please go ahead. I can setup the VPS as a playground for a bit so that I can try out any solutions anyone has.
...ANSWER
Answered 2020-Mar-20 at 19:40The problem appears to be with the main computer I used to run tests. Turning on uTP allowed local connections. However it did not allow me to seed to an outside computer. Another computer on the same LAN however had no problem doing that. So, the problem is client-side and non-reproducible on another computer it would seem.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install BitTornado
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page