Giter Club home page Giter Club logo

btclient's Introduction

BTClient

Build Status

Simple Bit Torrent client (command line), that enables sequential download and then streams video to video player (via http or stdin, but stdin is not seekable), when got enough of the file content is available to start playback. Also supports HTTP sources, when it can download video from several connections concurrently and then stream it to the player. Can work with file sharing services, if plugin is provided to resolve file link.

usage: btclient.py [-h] [-d DIRECTORY] [-p {mplayer,vlc}]
                   [--player-path PLAYER_PATH] [--port PORT]
                   [--debug-log DEBUG_LOG] [--stdin] [--print-pieces]
                   [-s SUBTITLES] [--stream] [--no-resume] [-q]
                   [--delete-on-finish] [--clear-older CLEAR_OLDER]
                   [--bt-download-limit BT_DOWNLOAD_LIMIT]
                   [--bt-upload-limit BT_UPLOAD_LIMIT]
                   [--listen-port-min LISTEN_PORT_MIN]
                   [--listen-port-max LISTEN_PORT_MAX] [--choose-subtitles]
                   [--trace]
                   url


Accepts either torrent file path or magnet link or http(s) link to torrent file or http link to file.

From torrent file chooses the biggest video file, starts to download it and sends it to video player (works with mplayer or vlc).

Can also download subtitles for current video file (option -s - uses opensubtitles.org API).

Requires libtorrent (1.0.x) and its python bindings, gnome-terminal and hachoir python libraries. Optionally beautifulsoup and adecaptcha for plugins.

Install

Now manual (Ubuntu 14.04):

git clone --depth 1 https://github.com/izderadicka/btclient.git
cd btclient/
./install.sh
#optionally you can run tests
#python tests/all.py
cp -r src  somewhere
#can modify btclient script to your preferences
sudo ln -s /somewhere/btclient /usr/local/bin

For desktop integration can copy desktop/btclient.desktop to ~/.local/share/applications.

In browser assure that browser asks for protocol handler

Check in your browser profile directory file mimeTypes.rdf and check this:

<RDF:Description RDF:about="urn:scheme:handler:magnet"
   NC:alwaysAsk="true">

License

GPL v3

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.