rTorrent is a really efficient text-based BitTorrent client for terminals. It is the obvious choice if you need a client running either in screen or tmux or as a daemon on a headless machine. It can be controlled by other software using it's xmlrpc interface. It's interface is easily navigated using the arrow keys and some simple keyboard shortcuts.
Features and usability
Efficiency unlike anything else
rTorrent is a pure C++ program which uses it's own bittorrent library which is named libtorrent but isn't the standard libtorrent library you'd guess based on that name. This library transfers data directly from page files to the network stack making rTorrent unique in it's very high efficiency.
rTorrent is probably the most efficient client of all for seeding a large amount of torrents to a really large amount of peers.
rTorrent is easy to use once you have glanced at the manual and noted that the shortcuts are
backspace to add a torrent using either a file path or an URL,
ctrl s to start a torrent,
ctrl d to stop it and, like most other software,
ctrl q to quit. Pressing
ctrl d on a stopped torrent removes it. Controlling how much bandwidth rTorrent uses can be done with z, x and c to decrease and a, s d to increase it's bandwidth limit.
Navigation between torrents and information sections of a torrent is down with the arrow keys.
rTorrents interface is very easy to use once you've learned the few keys you need to know to use it.'
rTorrent will save your "session" when you quit and re-start all the torrents you had open the last time you used it - but this may require that you edit it's configuration file and set a
session = directory in it's configuration directory. Defaults differ between distributions.
rtorrent uses the configuration file
rTorrent does NOT support opening new torrents in a running session by starting it with
rtorrent http://example.com/file.torrent and that can be quite the deal-breaker. You can set your browser to open torrent files you click on in just about every other client. That is simply not possible with rTorrent.
Adding a torrent from some website involves copying the URL, opening rtorrent, pressing backspace to get it's open something interface and pasting in the URL. That's a whole lot of work compared to just clicking on the file and be done.
There is a way around this which may suit your needs: It is possible to configure a "watch" directory. Torrents added to this directory will be added to rtorrent and torrents removed from it will be stopped. This can be used to automatically add torrents from websites, all you have to do is add the folder your browser downloads to, typically
$HOME/Download, to it's watch directory. It works but it's not ideal.
Verdict and Conclusion
rTorrent is a really good and extremely efficient BitTorrent program. However it's terminal nature and the inability to just start new torrents by running
rtorrent $url could be a deal-breaker.
rTorrent can be configured using the file
Configuration options you may want include a
session = setting where you point to a directory where session data is stored, a
dht_port = for DHT communications (this should be reachable from the outside) and a
port_range= for BitTorrent traffic (should also be reachable from the outside).
Some BitTorrent trackers that have
https:// enabled will present invalid SSL certificates. rTorrent will, by default, refuse to work with trackers that have a invalid SSL certificate. This can be overruled by adding the following to
Those settings will obviously compromise the security of all trackers using
https://, so keep that in mind if you add those lines in order to use a tracker or trackers with invalid and/or expired SSL certificates.