deRSS parses RSS 2.0 feeds and downloads files referenced in <enclosure url=””/> or (if not present) <link> elements. To avoid downloading files twice deRSS stores the publication date of the newest downloaded file. deRSS works nicely with cron.
deRSS is licensed under the GPL v3 and was written in groovy. To run it you need java and groovy1); unless, you use the derss-nogroovy.jar file linked below which includes the groovy libraries and therefore only needs java.
% ./derss.sh --help
usage:
-c,--configDir <arg> Specifies the configuration directory to use.
-D,--debug Enables debugging output.
-d,--downloadDir <arg> Specifies the download directory to use.
-h,--help Usage information.
-p,--postfix <arg> Checks if the names of downloaded files end with
<arg>, attaches <arg> if not.
-q,--quiet Turn off verbosity.
-v,--verbose Increases verbosity, can be used multiple times.
You can setup deRSS as demonstrated below.
% mkdir ~/.deRSS/ % echo "http://feeds.themoth.org/themothpodcast" > ~/.deRSS/feeds.txt % mkdir themoth % ./derss.sh -d themoth/ Loaded feeds from file: ["http://feeds.themoth.org/themothpodcast"] Downloading 'moth-podcast-61-michaela-murphy.mp3' Downloading 'moth-podcast-60-josh-swiller.mp3' [...] Downloading 'moth-podcast-48-elna-baker.mp3' Downloading 'moth-podcast-47-joe-jackson.mp3'
If you run deRSS again it will remember the publication date of the newest file it downloaded and only download newer files.
% ./derss.sh -d themoth/ -v Logger verbosity: DEBUG Loaded feeds from file: ["http://feeds.themoth.org/themothpodcast"] Item too old, not downloading it: 'http://feeds.themoth.org/~r/themothpodcast/~5/UGnQHfSGZAs/moth-podcast-61-michaela-murphy.mp3' Item too old, not downloading it: 'http://feeds.themoth.org/~r/themothpodcast/~5/sTHOfJgT_Ps/moth-podcast-60-josh-swiller.mp3' [...] Item too old, not downloading it: 'http://feeds.themoth.org/~r/themothpodcast/~5/Udk3pewJESM/moth-podcast-48-elna-baker.mp3' Item too old, not downloading it: 'http://feeds.themoth.org/~r/themothpodcast/~5/66LGBojGJ0s/moth-podcast-47-joe-jackson.mp3'
bzr clone lp:derssgant -T for a list of build targets.