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.

Creating Bashpodder User

Creating Bashpodder User

Install Bashpodder

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

Podcatcher Freenas Cronjob

Configure the podcasts

Edit bp.conf.

[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:

No Agenda
Linux Action Show
TechSnap

Not included: Joe Rogan Experience !

  • josh4trunks

    subsonic does have podcatcher functionality.