Tag Archives: BitTorrent

My BitTorrent Setup

First things first, like me, you must not download copyright protected content via BitTorrent. There’s plenty of open content available that downloads much faster on BitTorrent, compared to https and this article applies to such content.

In this post, I discuss using qBIttorrent to download data from the internet via BitTorrent. Below are the reasons that I didn’t like it

  1. My ISP could see that I am using bittorrents.
  2. Copyright providers can see my IP in the swarm and could trace specific downloads back to me.
  3. Downloads were quite slow, especially with finicky seeders.
  4. The process of looking for magnet links on sketchy websites was painful (a least 4-5 pop-ups for each click/tap). Also, I had to use a separate browser to copy magnet links because Safari doesn’t allow this.
  5. Most RSS feeds topped out at 1080p.
  6. qBittorrent is not under active development for macOS and is likely insecure..

My first reaction was to move to put.io, but I couldn’t justify its high subscription price considering I had already invested in a Home Server.

Enter alldebrid, which is a much cheaper and simplified alternative to Put.io. Here’s my setup

The overall setup may seem complicated, but below is a breakdown of what each individual component does.

AllDebrid

AllDebrid is basically a cloud-based service which pulls files from the torrent swarm and provides it to you as an https transfer. This is similar to what put.io does, however, AllDebrid is much cheaper, doesn’t provide permanent storage and relies on APIs for communication with other applications. Its own interface is quite barebones. This way, the torrents don’t touch your home network and your ISP sees nothing.

Files already cached with AllDebrid finish downloading in seconds (Popular TV shows etc).

RDTClient

RDTClient is basically an application which runs on your server/PC which you use to interface with AllDebrid. It uses API keys to access your AllDebrid account. It runs in a container.

The Servarr apps

The Servarr apps are a group of apps which make management of Movies and TV shows easy. Even though they all have native macOS apps, I chose to run them in containers, too, for uniformity.

Sonarr & Radarr

Sonarr is a TV show management utility. You let it scan your existing library and tell it which shows you want further automatic updates for. You can also ask it to download and maintain new TV shows for you. It has it own container.

Radarr is similar to Sonarr, but for movies. Without the additional complexity of seasons and episodes, it is much simpler in nature. Yet another container.

Both apps move the files to the appropriate folders used by Plex. In addition, they can also organise the folder and file names of your existing collection.

Although both apps can interface with torrent search engines directly, I prefer for them to go via Prowlarr for simplicity of management.

I use cloudflare tunnels to expose these applications to the internet for remote management.

Prowlarr and FlareSolverr

Prowlarr is a torrent search engine aggregator and management service. It interfaces with Sonarr and Radarr via API keys. Yet another container.

Some torrent search engines use Cloudflare protection (Like 1337x), Flaresolverr acts as a proxy to Prowlarr and bypasses Cloudflare challenges automatically, using a built-in browser. Last container for today.

Ruddarr

Ruddarr is an iOS application to manae Sonarr and Radarr. It interfaces with them via API keys and the Cloudflare tunnel.

The overall result is

  1. All my TV show episodes download automatically after release and appear in Plex
  2. Any movie I want to watch, I can search for, using the Ruddarr application and they appear in Plex within minutes
  3. I can monitor progress of TV shows and downloads via Ruddarr

As you can see, during idle, 6 containers combined use less than 1% CPU and 2GB RAM.

My only problem is, it is a long chain of services interacting with each other and if something breaks, it will take quite some troubleshooting to find out where the problem is.