Flexget
This article will show you how to install Flexget and discusses basic configuration. Flexget can be used to fetch torrents from RSS feeds. It is an alternative to ruTorrent's RSS plugin which does not use the filesystem as a database (and thus does not suffer from ruTorrent's problems).
You'll need to execute some commands via SSH to use this software. There is a separate guide on how to connect to your slot via SSH. Commands are kept as simple as possible and in most cases will simply need to be copied and pasted into the terminal window (then executed by pressing the Enter key).
Table of contents
Installation
To install Flexget, please first install python.
Once you've done that, copy and paste the following:
~/python/bin/pip install flexget touch ~/config.yml
Configuring Flexget
The configuration file can be found under ~/config.yml
. This file will not exist and you will need to initially create it.
The creation of custom configs to grab your feeds is not something staff can help with. The Flexget website has lots of resources and beginner guides to get you started.
The only configuration covered in this guide is passing to the various torrent clients supported at Feral. This is only needed if you wish to pass additional options to the client. Otherwise, it should be fine to simply specify the watch directory and let the client manage the torrent.
Transmission runs on a non-standard API URL. Flexget does not have any configuration options for this and so won't work.
rTorrent
Here is an example of a dummy guide using variables instead of actual values:
tasks: task1: rss: feed_URL series: - series_name rtorrent: uri: ~/private/rtorrent/.socket
Deluge
Here is an example of a dummy guide using variables instead of actual values:
tasks: task1: rss: feed_URL series: - series_name deluge: port: deluge_port
Replace deluge_port in the above command with the result of the following command:
grep daemon_port ~/.config/deluge/core.conf
Running Flexget
You can run Flexget by copying and pasting:
flexget execute
Note that this will download data if properly configured and a match is found. If you don't want this to happen simply specify the --test option:
flexget --test execute
Using Cron to execute the config
You can use the job scheduler Cron to instruct Flexget to run at regular intervals. To bring up the crontab editor use the command crontab -e.
If this is your very first time you'll be given a choice of editors. Nano is fine to use so unless you specifically want something else just press Enter.
There will already be some basic information on crontabs in the file - you can keep it if you like, or get rid of it if you prefer. The lines are commented out so are for information purposes only and don't affect any cron jobs added.
At a new line in the file copy-paste the following:
*/15 * * * * ~/python/bin/flexget --cron execute
The example cron job above will run Flexget every 15 minutes. The source of your RSS feeds are likely cached and will return the same results only updating every once in a while. While this can be reduced you end up putting more load on the source of the RSS feeds. While this can be tailored to suit your needs, you should take into account what's too much for the RSS feed and be a good "netizen".
Uninstallation
~/python/bin/pip uninstall flexget
rm ~/config.yml
You might also wish to remove the line from the crontab if you created it previously.