How to Set Up a Torrenting Box on Raspberry Pi with Transmission
This tutorial will be showing you how to set up a torrenting box on your Rapsberry Pi, so you can use it to download torrents 24 x 7. We will be using the Transmission BitTorrent client.
Prerequisites
You need a Raspberry Pi running the official Rasberry Pi OS or Ubuntu ARM OS.
Install Transmission Daemon on Raspberry Pi
Install Transmission on a headless Raspberry Pi.
sudo apt install transmission-daemon
The above command will install the transmission-daemon
program, without X components, which is suitable for headless devices. It ships with a systemd service, which you can start with:
sudo systemctl start transmission-daemon
Enable auto-start at boot time:
sudo systemctl enable transmission-daemon
Check its status:
systemctl status transmission-daemon
Sample output:
Hint: If the above command doesn’t quit immediately, press Q
key to make it quit.
As you can see, it’s active (running) and the service is enabled. The web interface is available at http://ip-address-of-the-pi:9091
. However, you need to add your client IP address to the whitelist in order to access it. Edit the Transmission daemon configuration file with a command-line text editor like Nano.
sudo nano /etc/transmission-daemon/settings.json
Find the rpc-whitelist
parameter. By default, it allows only localhost to access the web interface.
"rpc-whitelist": "127.0.0.1",
Add your own IP address like so, which will allow the entire 192.168.1.0/24
network to access the Transmission web interface.
"rpc-whitelist": "127.0.0.1,192.168.1.*",
In this file, you can also change the rpc-password
, which is the password you need to enter in order to access the web interface. The default username is transmission
.
Save and close the file. Then reload transmission-daemon
.
sudo systemctl reload transmission-daemon
Note that you must reload the service for the changes to take effect. Restarting the service won’t work, because your changes to the configuration file will be overwritten. You can restart this service after reloading it.
How to Transfer Unfinished Torrents From another Computer
If you have a Linux computer running Transmission BitTorrent client, and there are unfinished torrents. Here’s how to tranfer them without losing anything.
- Stop Transmission on both devices.
- Delete the content under
/var/lib/transmission-daemon/.config/transmission-daemon/
directory on the Raspberrry Pi. - On your Linux system, there’s a directory
~/.config/transmission/
, transfer the content under this directory to the/var/lib/transmission-daemon/.config/transmission-daemon/
directory on the Raspberry Pi. - Copy the downloaded files to the same directory on the Raspberry Pi.
- Start Transmission Daemon on Raspberry Pi.
Note: On Raspberry Pi OS, make sure the debian-transmission
user has read permission on this directory.
sudo chown debian-transmission:debian-transmission /var/lib/transmission-daemon/.config/transmission-daemon/ -R
Also, the /var/lib/transmission-daemon/.config/transmission-daemon/settings.json
file has higher priority over the global /etc/transmission-daemon/settings.json
file.
How to Resume All Torrent From Command Line
After transferring the unfinished torrents, it’s likely that those torrents are paused. You can resume them all from the command line. Install the Transmission command-line client.
sudo apt install transmission-cli
Then run the following command to start all torrents.
transmission-remote --auth username:password -t all --start
How to Increase Download Limit
By default, Transmission allows only 5 concurrent downloads. If you need to download more torrents, edit the settings.json file.
sudo nano /etc/transmission-daemon/settings.json
Find the following line.
"download-queue-size": 5,
Change the number 5 to your desired number like 20, so you will have 20 torrents downloading at the same time.
"download-queue-size": 20,
Save and close the file. Then reload Transmission.
sudo systemctl reload transmission-daemon
And restart it.
sudo systemctl restart transmission-daemon
Tips to increase download speed
When you have lots of torrents to download, it’s a good idea to increase the maximum active downloads
and maximum peer numbers
.
How to Debug
By default, Transmission-daemon doesn’t produce debugging logs.
Edit the systemd service file.
sudo nano /lib/systemd/system/transmission-daemon.service
Find the following line.
ExecStart=/usr/bin/transmission-daemon -f --log-error
Replace it with:
ExecStart=/usr/bin/transmission-daemon -f --log-debug
Save and close the file. Then reload systemd and restart transmission-daemon.
sudo systemctl daemon-reload sudo systemctl restart transmission-daemon
Now you can view debugging logs with:
sudo journalctl -eu transmission-daemon
VPN For Torrenting
You may want to use a VPN to hide your IP address when downloading torrents.