BitTornado | John Hoffman 's fork of the original bittorrent | Stream Processing library

 by   effigies Python Version: Current License: Non-SPDX

kandi X-RAY | BitTornado Summary

kandi X-RAY | BitTornado Summary

BitTornado is a Python library typically used in Data Processing, Stream Processing applications. BitTornado has no bugs, it has no vulnerabilities, it has build file available and it has low support. However BitTornado has a Non-SPDX License. You can download it from GitHub.

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

            kandi-support Support

              BitTornado has a low active ecosystem.
              It has 140 star(s) with 45 fork(s). There are 10 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              There are 12 open issues and 12 have been closed. On average issues are closed in 41 days. There are 2 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of BitTornado is current.

            kandi-Quality Quality

              BitTornado has 0 bugs and 0 code smells.

            kandi-Security Security

              BitTornado has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              BitTornado code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              BitTornado has a Non-SPDX License.
              Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.

            kandi-Reuse Reuse

              BitTornado releases are not available. You will need to build from source code and install.
              Build file is available. You can build the component from source.
              Installation instructions, examples and code snippets are available.
              It has 11574 lines of code, 854 functions and 84 files.
              It has high code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi has reviewed BitTornado and discovered the below as its top functions. This is intended to give you an instant insight into BitTornado implemented functionality, and help decide if they suit your requirements.
            • 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
            Get all kandi verified functions for this library.

            BitTornado Key Features

            No Key Features are available at this moment for BitTornado.

            BitTornado Examples and Code Snippets

            No Code Snippets are available at this moment for BitTornado.

            Community Discussions

            QUESTION

            Peers reported but do not connect on a self-hosted bittorrent tracker
            Asked 2020-Mar-20 at 19:40

            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:40

            The 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.

            Source https://stackoverflow.com/questions/60772284

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install BitTornado

            A single file can be downloaded with any of the following commands:.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/effigies/BitTornado.git

          • CLI

            gh repo clone effigies/BitTornado

          • sshUrl

            git@github.com:effigies/BitTornado.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular Stream Processing Libraries

            gulp

            by gulpjs

            webtorrent

            by webtorrent

            aria2

            by aria2

            ZeroNet

            by HelloZeroNet

            qBittorrent

            by qbittorrent

            Try Top Libraries by effigies

            looseversion

            by effigiesPython

            openpgp4info

            by effigiesHTML

            philips-cdas

            by effigiesPython

            dsync

            by effigiesPython

            noise

            by effigiesPython