How To Download Virtually Anything As Soon As It’s Available
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.
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+ (link to lifehacker for instructions)for everything to work properly.
- Your SABnzbd+ username and password, which you’ll choose when you set it up (presuming you choose to set a username and password, that is).
- Your SABnzbd+ API key, which you can find in the Config section in the General tab. It’ll look something like 5ape87035c49c4b8f461e55f0z9z4z02.
- A location to hold your downloaded files. Make individual folders for each type of media (e.g. television, movies, music, ebooks, etc.).
- 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 lifehacker’s Usenet guide for more information.
- If you’re on a Mac, download and install Python (if it isn’t installed already).
With all of that ready to go, it’s time to get started.
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:
On a Windows PC…
- Download Sick Beard.
- Unzip Sick Beard into a folder and place that folder wherever you want it to live. Run it and you’re done with the installation.
On a Mac…
- Download the latest versions of Git and Cheetah. (Don’t worry that Cheetah’s old. I’ve been using the same version since Snow Leopard. It works great on Lion and Mountain Lion.)
- Install Git via the included installer. When finished, open Terminal (in Hard Drive → Applications → Utilities) to install Cheetah. Type
into the terminal window, a space, and drag the unzipped Cheeat download folder onto the terminal window. Your final chommand should look something like
. Press enter. Next, paste in
sudo python setup.py install
and press enter again. Cheetah will install in about a minute’s time.
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:
- 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 lifehacker’s complete Sick Beard guide.
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:
With Couch Potato open in your web browser, click the Cog icon up top to get it set up. Here’s an overview of each tab and what you can set up:
- General – Set the IP address and port of Couch Potato’s web interface, your username and password, and other general settings.
- Downloaders – Set up SABnzbd+ and/or your BitTorrent Black Hole directory (i.e. the folder your BitTorrent client is watching) in this section.
- 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.)
- Quality – Enable and disable the various quality options for downloaded movies (e.g. 720p, BR-Rip, Screener, etc.).
- 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.
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:
- Download the Headphones source files from GitHub.
- 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:
- 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.
- Download settings – Enter your SABnzbd+ user information and API key in this section to download via Usenet. To use BitTorrent, just specify your Black Hole directory (i.e. the folder your BitTorrent client is watching).
- 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.
You don’t have to stop with television, movies, and music. A few other downloaders are at your disposal:
- Omniverse automatically downloads comic books.
- LazyLibrarian automatically downloads ebooks.
- Gamez automatically downloads video games.
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.
On a Windows PC…
- Install Python (if you haven’t already).
- Install easy_install.
- Press Windows+R and run this command:
- When prompted, run the following command to verify the installation:
On a Mac (OS X 10.6 and higher)…
- Open up Terminal (in Hard Drive → Applications → Utilties) and run this command:
sudo easy_install flexget
. (Yes, you really just need to run that and OS X will know what to do.)
- You may also need to use easy_install to install some plug-ins, such as one for Transmission (if that’s what you’re using as your downloader). Here’s an example:
sudo easy_install transmissionrpc
- Create a plain text file called
in ~/Library/LaunchAgents. (That’s Your Home Folder → Library → Launch Agents.) Paste the following into the file (or just download this):
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>com.flexget</string> <key>ProgramArguments</key> <array> <string>/usr/local/bin/flexget</string> <string>—cron</string> </array> <key>Nice</key> <integer>1</integer> <key>StartInterval</key> <integer>900</integer> <key>RunAtLoad</key> <true/> </dict> </plist>
- Back in Terminal, run this command:
launchctl load -w ~/Library/LaunchAgents/com.flexget.plist
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:
tasks: test task: rss: http://mysite.com/myfeed.rss series: - My Favorite Show - Another Good Show: quality: 720p download: /home/me/watchdir/
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
in Windows 7,
C:\Documents and Settings\YOURUSER\flexget\
in Windows XP, or
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:
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!