rTorrent is a command line ncurses BitTorrent client written in C++, based on the libTorrent. rTorrent is very lightweight and has a very clean command line user interface. rTorrent is also one of the most lightweight BitTorrent clients used by most of the BitTorrent distribution servers. rTorrent is a really good BitTorrent client for Raspberry Pi. rTorrent is lighter and faster compared to BitTorrent clients like Transmission, Deluge and takes lesser CPU resource.
rTorrent performs better on the tests I have done on my Raspberry Pi. The Raspberry Pi I have been using is a Model B.
Let’s get started
Updating your local repository database.
rtorrent.rc` file.``` touch ~/.rtorrent.rc ```Open the file in nano and add the example config below.``` nano ~/.rtorrent.rc ```Here is an example config of `
.rtorrent.rc`.``` # This is an example resource file for rTorrent. Copy to # ~/.rtorrent.rc and enable/modify the options as needed. Remember to # uncomment the options you wish to enable.You can detach to the rtorrent screen by typing CTRL + A + D.
Maximum and minimum number of peers to connect to per torrent.
min_peers = 40
max_peers = 100
Same as above but for seeding completed torrents (-1 = same as downloading)
min_peers_seed = 10
max_peers_seed = 50
Maximum number of simultanious uploads per torrent.
max_uploads = 15
Global upload and download rate in KiB. "0" for unlimited.
download_rate = 0
upload_rate = 0
Default directory to save the downloaded torrents.
directory = /the/place/where/the/torrent/will/be/stored/
Default session directory. Make sure you don't run multiple instance
of rtorrent using the same session directory. Perhaps using a
session = ./session
Watch a directory for new torrents, and stop those that have been
schedule = watch_directory,5,5,load_start=./watch/*.torrent
schedule = untied_directory,5,5,stop_untied=
Close torrents when diskspace is low.
schedule = low_diskspace,5,60,close_low_diskspace=100M
The ip address reported to the tracker.
ip = 127.0.0.1
ip = rakshasa.no
The ip address the listening socket and outgoing connections is
bind = 127.0.0.1
bind = rakshasa.no
Port range to use for listening.
port_range = 6890-6999
Start opening ports at a random position within the port range.
port_random = yes
Check hash for finished torrents. Might be usefull until the bug is
fixed that causes lack of diskspace not to be properly reported.
check_hash = yes
Set whetever the client should try to connect to UDP trackers.
use_udp_trackers = yes
Alternative calls to bind and ip that should handle dynamic ip's.
schedule = ip_tick,0,1800,ip=rakshasa
schedule = bind_tick,0,1800,bind=rakshasa
Encryption options, set to none (default) or any combination of the following:
allow_incoming, try_outgoing, require, require_RC4, enable_retry, prefer_plaintext
The example value allows incoming encrypted connections, starts unencrypted
outgoing connections but retries with encryption if they fail, preferring
plaintext to RC4 encryption after the encrypted handshake
encryption = allow_incoming,enable_retry,prefer_plaintext
Enable DHT support for trackerless torrents or when all trackers are down.
May be set to "disable" (completely disable DHT), "off" (do not start DHT),
"auto" (start and stop DHT as needed), or "on" (start DHT immediately).
The default is "off". For DHT to work, a session directory must be defined.
dht = auto
UDP port to use for DHT.
dht_port = 6881
Enable peer exchange (for torrents not marked private)
peer_exchange = yes
Do not modify the following parameters unless you know what you're doing.
Hash read-ahead controls how many MB to request the kernel to read
ahead. If the value is too low the disk may not be fully utilized,
while if too high the kernel might not be able to keep the read
pages in memory thus end up trashing.
hash_read_ahead = 10
Interval between attempts to check the hash, in milliseconds.
hash_interval = 100
Number of attempts to check the hash while using the maincore status,
before forcing. Overworked systems might need lower values to get a
decent hash checking rate.
hash_max_tries = 5
</div>You can edit the `<code class="highlighter-rouge">.rtorrent.rc` as per your needs. Now we can start using rTorrent. <div class="highlighter-rouge">``` screen rtorrent
To connect back to the rTorrent screen.`screen -rTo add a BitTorrent simply hit ENTER
Now you have you rTorrent running on your Raspberry Pi. If you have any question feel free to leave a comment below.