Using flexget to automate torrent downloads

Flexget is a nice command line program that automates the process of downloading .torrent files. The Flexget web site has a number of cookbook recipes for processing torrents. It's flexible enough to include or exclude torrents based on the torrent name. Flexget uses a simple form of regular expressions. Everything is set in a ~/.flexget/config.yml file. Drawing on the flexget web site here's a really simple example configuration file:

feeds:
tv-shows:
rss: http://example.com/rss.xml
series:
- pioneer one
- south park
download: ~/torrents/

Of course http://example.com/rss.xml is just an example, you'd need to use a real RSS feed. Series reflects which shows you want to download from the feed. The download section points to where the torrent files are stored. Flexget just pulls the torrents. You then need to set up a program like Transmission (under Linux) to pick up torrents from the same directory. I happen to like Transmission because it doesn't take a whole lot of memory and can be web-enabled.

When creating the config.yml file you have to be careful to use 2 spaces, don't use tabs or flexget will not recognize the configuration file correctly. If you're not sure if a recipe you created works you can run:

flexget --test

This will run flexget using a test database. Any errors will be noted at the end. Spacing is the most common issue. Of course downloading tv-shows may be illegal... (should we take our cues from Lady Gaga the "BitTorrent Loving Freak")