The internet really does have everything, and it's all available for download without lifting a finger. A series of helpful scripts, all installable in a few minutes, can transform your computer into an automatic media downloading machine.

We've featured all sorts of automatic downloaders that grab TV shows after they air and movies as soon as they're released, but you don't have to stop there. You can schedule music, comic books, video games, and practically anything else as a download with minimal effort. In this post, we'll look at how to set up existing scripts to acquire all kinds of media and use a tool called FlexGet to handle the rest.

Windows/Mac/Linux: If you just saw an awesome movie in the theaters and want it on your computer as …
Read more Read more

Before You Get Started

All the tools in this guide work with BitTorrent, which you should set up securely before you do anything else. If you want to use Usenet instead, however, you'll need to set up SABnzbd+ for everything to work properly.

NZB search provider information, such as your username and password and/or API key. Each provider is a little different, so what information you need will vary. Consult our Usenet guide for more information.

Television

Your computer can act like an internet personal video recorder, downloading TV episodes as soon as they air, thanks to the assistance of an app called Sick Beard. You simply install it, tell it the shows you want to track, how you want to download those shows (via either BitTorrent or Usenet), and let it do the rest. Follow these steps to install it:

into the terminal window, a space, and drag the unzipped Cheeat download folder onto the terminal window. Your final chommand should look something like

cd /Downloads/Cheetah-2.4.4

. Press enter. Next, paste in

sudo python setup.py install

and press enter again. Cheetah will install in about a minute's time.

Enter

cd /Applications

in your terminal window to change to your computer's Applications folder, then enter

git clone git://github.com/midgetspy/Sick-Beard.git

to grab the latest Sick Beard source from GitHub.

When Sick Beard completes the installation, run it by entering this command in your terminal window:

python /Applications/Sick-Beard/sickbeard.py

If you want to run Sick Beard like an application, just open Automator or AppleScript Editor, create a workflow/script that runs that terminal command, and save it as an application.

Once Sick Beard is up and running, point your web browser of choice to localhost:8081 to get started. Sick Beard is a powerful tool and it requires some configuration. Before you start adding your favorite shows, hop into the config section and set up the following:

Search Settings - If you're using Sick Beard to find NZB files to download with Usenet, you'll need to enter your SABnzbd+ username, password, and API key in this section. If you want to download torrents, you'll just need to enable that option and tell Sick Beard where your torrent watch folder is.

Search Providers - If you're downloading shows via Usenet, you'll need to configure search providers in this section. Tick the boxes next to the ones you want to use, then select their names in the following section to enter any necessary credentials. For example, NZBMatrix requires a username and API key. If you followed the instructions at the beginning of the post, you should have this information ready-to-go.

Post Processing - SABnzbd+ users won't have to configure much here, as it'll handle post-processing for you. You can, however, ask Sick Beard to do some of the work. BitTorrent users will want to configure this to their liking, however, as most torrent clients won't do much in the way of post-processing.

Notifications - Unlike the other tools we'll cover in this guide, you probably want to know as soon as your favorite shows have finished downloading. Sick Beard provides hooks for a ton of notification services so you can find out right away, using pretty much whatever tool you like. Set up is very easy, so just find your notification app of preference and enter the required information in this section.

After completing the initial setup, add the TV shows you want to track from Sick Beard's interface. If you need help adding shows, as the process is a little confusing the first time around, consult our complete Sick Beard guide.

Movies

Couch Potato keeps track of all the films you want to watch, and downloads them, too. Installation is easy on both Windows and OS X:

Providers - Configure the NZB and torrent file search providers you want to use to download movies. (You'll need the relevant credentials you gathered at the beginning of this post to make Couch Potato work with Usenet.)

Renaming - Set any renaming rules you want applied after a movie finished downloading.

The other sections are not required, but feel free to explore to discover more of Couch Potato's features. Once you're done with the configuration, use the toolbar up top to search for a movie, select the desired quality (e.g. 720p, DVD-Rip, etc.), and add it to your watch list. Repeat this process for any movie you want to track (and download). Couch Potato will take care of the rest.

Music

Tracking new releases of your favorite music, automatically downloading songs, and converting those songs into your format of preference is really easy with a tool called Headphones. It can even pull lyrics and album art for the songs it downloads. Follow these steps to install it:

Unzip the source and place it wherever you want. (OS X users should keep it in thier Applications folder.)

Launch Headphones. Windows users can launch it by right clicking on the Headphones.py file and choosing Open With → Python. Mac users need to open up the Terminal (in Hard Drive → Applications → Utilities) and enter this command:

python /Applications/Headphones.py

If you're setting up other services mentioned in this post, Headphones will likely have a conflicting port of 8081. Upon running the Headphones.py script you'll be informed of the conflict and asked to choose a new port. You can choose whatever you like, but I opted for 8181.

Headphones is very feature rich and comprehensive, but you only need to configure a few settings to get started. Click the cog icon up top and set up the following sections:

Web interface - Set your IP address, port, username, and password in this section. You can also set other general settings, like how often Headphones looks for new files.

Search providers - Set up NZB search providers if you're using Usenet. You'll need the relevant credentials gathered at the beginning of this post. For BitTorrent, just select the trackers you want to use.

Quality & Post Processing - Choose the quality of the files you want to download by default and enable any post-processing functions (e.g. adding lyrics and album art).

Advanced Settings - Set renaming rules, format conversion, and more. (You don't need to set up anything in this section, but there are a lot of cool features in it that you should explore.)

Once you've finished configuring Headphones, just search for the band you want to track using the toolbar up top. When you find what you want, add the band to your watch list and Headphones will track them. Repeat this process for all the bands you like.

Everything Else

You don't have to stop with television, movies, and music. A few other downloaders are at your disposal:

If that list doesn't cover everything you need, FlexGet provides a way to make your own, custom downloaders. It reads RSS feeds, CSV files, and HTML pages to find torrents, NZBs, podcasts, or whatever you're looking for, and feeds them to any downloaders that have watch directory support. This includes rTorrent, uTorrent, Transmission, sabNZBD+, nzbget, pyLoad, and more. All you're required to do is install it, tell it where to look, what to look for, and what to do with the files it finds. The installation process varies, so follow the instructions for your operating system.

FlexGet isn't useful unless you give it something to do. The app works with specific tasks written in YAML, which is a very simple, human-readable data format. Let's take a look at a sample FlexGet config file written in YAML (config.yml) to help you understand how it works:

The first line says "test task:" to identify that this is a task called "test." The second line identifies an RSS feed for FlexGet to monitor. Next, a list of series tells FlexGet what to look for inside of that RSS feed. In the case of "Another Good Show," you'll notice that "quality: 720p" is designated to tell FlexGet to only look for 720p files for that show. Finally, a download directory on the local machine is specified. Any files that match the criteria specified in this task will be placed in that directory, which is watched by a downloader (such as SABnzbd+ or uTorrent).

The format is pretty simple to follow, but it will vary based on what you want to create. We can't get into every little option without writing an entire manual, and the creators of FlexGet already made one. Be sure to consult those configuration instructions for more help on creating your own config.yml file for FlexGet to use.

After completing your task file, save it as config.yml file in

C:\Users\YOURUSER\flexget\

in Windows 7,

C:\Documents and Settings\YOURUSER\flexget\

in Windows XP, or

~/.flexget/

in OS X. To run any of the specified tasks, open up the command line in your operating system of choice and run the following command:

flexget —nameOfTask

You will, of course, want to replace "nameOfTask" with the name of a task in your config.yml file. If you set up everything properly, that task will run and you'll have your own, custom automatic downloader!

Extra bonus: Want to get all of this on your NAS? We've got a guide for that, too!