Turn your Raspberry Pi into a Torrent Box

If you are already using your Raspberry Pi as a server, you’ll want to add some torrent capabilities. You can do this with a popular torrent program called Transmission. Usually, Transmission is a standalone program you can use to manage your torrents but in this tutorial you’ll build a Raspberry Pi Torrent Box to be able to manage your torrents on any web browser on your home network.

This is very useful because you can use any computer in your house to download torrents and connect your Raspberry Pi to a Network Attached Storage (NAS) to store your files.

Caveat: The only downside is that the Raspberry Pi’s Ethernet maxes out at 100 Mbps. If you have faster internet,  you won’t be able to utilize its full speed while downloading torrents. You can check out Jeff Geerling’s post for information and benchmarks on adding a Gigabit adapter to your Pi to increase Ethernet speeds. I would not suggest downloading over WiFi as it is generally slower than wired Ethernet speeds.

Requirements

Instructions

1. Install Raspbian OS

First, you must install the Raspbian OS on your Raspberry Pi. Check out the official guide here .

2. Set a static IP address

You’ll want to set a static IP address on your Raspberry Pi to ensure you will always be able to connect to it at the same IP address. To do this, use my guide here .

3. Install Transmission

Connect to your Raspberry Pi over SSH or open a new terminal window and run the following commands to bring your Raspberry Pi up to date:

Now install Transmission with the following command:

Press Y at the prompt. It will take a couple of minutes to download and install. Once it is installed we will need to stop it so we can make some changes in the settings to be able to access it. Use the following command to stop Transmission:

Next, type the following command to get your router’s gateway address.

Note the IP address under gateway. We will need this for the next step.

raspberry pi static ip address

Next, let’s edit Transmission’s settings by running the following command:

Use your arrow keys to navigate down to the line that says ‘rpc-whitelist‘. We will add our local network to this. The default setting is localhost (127.0.0.1) which will only allow access from the Raspberry Pi itself.

Add a comma after 127.1.0.1 and enter the first 7 digits of your routers gateway address and add an * instead of the last digit. This is to add a range of addresses Transmission can connect to. It should look something similar to the image below.

Once you change the white-list settings, you’ll want to change the ‘rpc-authentication-required‘ from true to false. This will disable the login that is required when trying to access the GUI.

Optional changes you can make are:

  • “download-dir”: Change this value to choose the default location of your downloaded files. I recommend this being a network share or an external HDD.
  • “download-limit”: Change this to allow simultaneous torrent downloads. I chose to only download 1 torrent at a time.
  • “incomplete-dir”: Also map this to your network share or external HDD.

After you’ve made these changes save them by pressing CTRL+X then Y then ENTER.

Now, start up transmission again by using the following command:

You can now access the Transmission GUI by opening up a web browser from any computer connected to your network to manage your Torrent Box. To do this, open up a web browser and navigate to:

Change the IP address to match your Raspberry Pi’s IP address.

raspberry pi torrent box

This is the Transmission GUI where you can add torrents and manage your downloads! I recommend mapping a network drive to your Raspberry Pi so that you don’t use up your limited microSD card storage.

4. Mapping a network drive to a Raspberry Pi (with automount)

Your Raspberry Pi microSD card can fill up quickly. Especially if you plan on turning it into a media server or torrent box. The best place to store your media files or downloads would be a Network Attached Storage (NAS). This could be in the form of a NAS like “WD My Cloud” or similar, or simply an external HDD connected via the USB port of your router. Follow my tutorial on how to do this and you’ll be set up in no time!