Posts Tagged libtorrent

Sickbeard with Integrated Torrent Client

Note: Since this post was written, TvTumbler was born. Going forward, all new development will be in TvTumbler.

Sickbeard Integrated Torrent ClientI’ve included a torrent client in my torrent-friendly fork of Sickbeard. The UI is a little limited at the moment, but it’s been wiping the floor with both Transmission and uTorrent here for the last few days in terms of download speed, so I think it’s ready to be set loose on the world.

To enable it, you’ll first need to install libtorrent rasterbar (version 0.16 or later), and its python bindings.

If you do not have an already-running copy of this fork, just follow the general installation instructions.


For debian derivatives: (i.e. Ubuntu, mint, etc)
sudo apt-get install python-libtorrent

That could hardly be much simpler now could it?

For OSX:
You’ll need to do a little compiling I’m afraid.

This post includes all the required details.

For Windows: (yes, for once I haven’t forgotten about you!)
Go here, and download the .msi which matches your version of python (probably either py27 or py26).
Pick a recent version – the older ones won’t work with magnet links.

Another OS:?
If your OS doesn’t come with a packaged version of libtorrent rasterbar and its python bindings (and note that most will!), then you’ll probably need to build from source.
svn co lt/
cd lt/
./configure --enable-python-binding
sudo make install
sudo ldconfig

Once you have installed the above, restart Sickbeard, go to Config -> Search Settings -> Torrent Method, and change it to “Integrated”.

Any OS-specific tweaks you wish to share? Please note them in the comments.


  • Is libtorrent installed? What version do I have?
    python -c "import libtorrent as lt; print lt.version" will tell you very quickly. You should get a response like – if you get an error, or a version less than 0.16, this is likely to be your issue.
  • All my torrents are stuck at “downloading_metadata”: for dht to work (and hence for metadata to be available), the torrent client needs at least one valid peer to exchange data with, but if all your downloads are trackerless magnets, it won’t have one. Try adding a torrent manually (using either a magnet link with trackers, or a link to a .torrent file). You can delete the added torrent as soon as metadata begins to download. [Note: This issue should be resolved with recent releases]
  • Having other Issues? Check out this post (and read through the comments) to see if someone else has addressed it.
  • Still having Issues? Check out the github issue tracker. Please search the existing issues before creating a new one, and include a debug log in any new issues! (you can censor it beforehand if you feel the need)
  • It looks like ubuntu 12.04 installs libtorrent 0.15.x by default, which is a little too outdated for use here. So, if you are a 12.04 user, you’ll either need to build from source, or find a ppa with a more recent version (please post any suggestions in the comments). Thanks go to Chris for pointing this out.Update (with thanks to Dennis): This repo appears to have all the needed packages.

, , ,


Building Libtorrent-rasterbar on OSX

Compiling Rasterbar Libtorrent on OSX 10.7 or 10.8 (tested on both 10.7.5 and 10.8.4), without brew and all the crap it brings with it.

First, you’ll need to install XCode, and command-line tools.
Then, you’ll need to download and build boost:

Click on ‘Download’, and download the latest .tar.gz. In my case this was boost_1_53_0.tar.gz

tar -zxvf boost_*.tar.gz
cd boost_*
sudo ./b2 install

This all ran cleanly in my case, but googling would seem to imply that it often gives errors.
Next, download the libtorrent source:

And again, download the latest .tar.gz. In my case this was libtorrent-rasterbar-0.16.9.tar.gz

tar -zxvf libtorrent-rasterbar-0.16.9.tar.gz
cd libtorrent-rasterbar-0.16.9
./configure --enable-python-binding
sudo make install

That should be it, but in my case for some reason the python bindings were put into /usr/local/lib/python2.6/site-packages/ (where the correct site-packages is in fact /Library/Python/2.6/site-packages). I’m not really sure why this happened, but it’s easy enough to fix. Continuing from where we were above:
cd bindings/python
sudo python install

And it gets the correct directory this time around.

Update (Sept 2, 2013): Tested with libtorrent 0.16.11 and boost 1.54 on Max OSX 10.9. Works as described above. Boost gives lots of deprecation warnings, but it runs without issue.