FreeNas Podcatcher: Bashpodder
For a couple of week now I’ve been wanting to configure a podcatcher on my FreeNas Box. I researched all of the existing plugins, and none of them had any podcatching functionalities.
After some research, I ran into BashPodder – a podcast client written in Bash. Here are the steps to set it up on your freenas box:
If you don’t already have an account with ssh access, go ahead and create a new user.
Set the home directory, to where you want to download the podcast media files.
Login using ssh, run the following script. It downloads all the bashpodder scripts, and displays a command with the full path to bashpodder:
#!/bin/bash wget http://lincgeek.org/bashpodder/bashpodder.shell wget http://lincgeek.org/bashpodder/parse_enclosure.xsl wget http://lincgeek.org/bashpodder/bp.conf # make script executable chmod u+x bashpodder.shell # add a couple of podcats to bp.conf echo 'http://feed.nashownotes.com/rss.xml' >> bp.conf echo 'http://feeds.feedburner.com/techsnapmp3' >> bp.conf echo 'http://feeds.feedburner.com/TheLinuxActionShow' >> bp.conf path=`realpath $0/../bashpodder.shell` echo -e "Now, Create a daily cronjob in Freenas:\nCommand: $path"
Or, you can simply execute the following command which downloads and executes the script directly from my dropbox:
curl -L 'https://www.dropbox.com/s/mm28u5o1z1yd3h2/install?raw=1' | bash /dev/stdin
At the end of the script it will give you the command to use when creating a new cron job:
Now, Create a daily cronjob in Freenas: Command: /mnt/Alpha/Media/Podcasts/bashpodder/bashpodder.shell
Create the cronjob
Configure the podcasts
[bashpodder@freenas ~]$ vi bp.conf
To trigger the download process manually, execute bashdpodder directly:
[bashpodder@freenas ~]$ ./bashpodder.shell
The podcasts are saved into separate directories for each day. Example:
[bashpodder@freenas ~]$ ls 2015-12-14 bp.conf temp.log bashpodder.shell parse_enclosure.xsl
I’ve included a couple of my favorite podcasts in the default bp.conf script. I highly recommend listening to them:
Not included: Joe Rogan Experience !