rTorrent

From LinuxReviews
Jump to navigationJump to search
Network-wired.png

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

Rtorrent-pushing.png

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.

Interface

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.

Rtorrent fileinfo.jpg

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

Session management

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 $HOME/.rtorrent.rc

Disadvantages

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.

Configuration

rTorrent can be configured using the file $HOME/.rtorrent.rc.

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 .rtorrent.rc:

network.http.ssl_verify_peer.set=0
network.http.ssl_verify_host.set=0

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.

Links

Alternatives

Program rating type framework
qBittorrent Yeonjung-happy.jpgYeonjung-happy.jpgYeonjung-happy.jpgYeonjung-happy.jpgYeonjung-happy.jpg Graphical Qt
Transmission Yeonjung-happy.jpgYeonjung-happy.jpgYeonjung-happy.jpgYeonjung-happy.jpgYeonjung-happy.jpg Graphical Multiple interfaces
(Qt/GTK/cli)
KTorrent Sad hyemi2.jpgSad hyemi2.jpg Graphical Qt/KDE
rTorrent Yeonjung-happy.jpgYeonjung-happy.jpgYeonjung-happy.jpgYeonjung-happy.jpgYeonjung-happy.jpg Terminal Ncurses
WebTorrent Desktop Sad hyemi2.jpgSad hyemi2.jpg Graphical Node.js
See also: BitTorrent clients compared


Add your comment
LinuxReviews welcomes all comments. If you do not want to be anonymous, register or log in. It is free.