podcast aggregation script https://omnius.zone/feed/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
thufir 2d9ecc2856 new release 7 months ago
images initial release 9 months ago
project initial release 9 months ago
releases new release 7 months ago
src/main/scala/podagg new release 7 months ago
.gitignore Initial Commit - setup 9 months ago
LICENSE initial release 9 months ago
README.md new release 7 months ago
build.sbt initial release 9 months ago
feed.config new release 7 months ago
feed.png initial release 9 months ago
run-notes.txt corrected run notes 9 months ago



A dead-simple RSS-Feed aggregator and downloader script written specifically for Podcasts

  • Designed to create a locally hosted, aggregated podcast RSS feed quickly using multithreading when ran.
  • Returns a 0 upon success and a 1 upon failure to allow for easily scripting feed updates or even possibly to be used like a system-service.

GPLv3© Thufir - 2018 -- Download the latest version from the releases directory in the repository or build yourself with sbt assembly.


  • Linux/MaxOSX
  • wget
  • scala/java8


$ scala podagg.jar feed.config Where feed.config is a configuration file formatted like the example in this repo.

… and in addition sources.txt (from the config) is a newline-seperated list of podcast feed .rss urls like below:


… make certain your sources.txt file does not end with an empty line and has no extra whitespace.

An example of a simple script that could be run with cron to automate feed updates is below:

update="scala /path/to/Podagg.jar /path/to/feed.config"
# Update the feed and record a log of successes or failures
# based on exit status (0 and 1 for success and failure)
if $update; then
 echo "rss update at: $(date)" >>"/path/to/autoruns.log" 2>&1
 echo "ERROR! at $(date)" >>"/path/to/autoruns.log" 2>&1

config options: (also reference the example configuration in the repository)

Note: all files must have a full filepath to the file starting with a forward slash

  • title The title of the feed
  • description The description of your feed (may or may not show up in the RSS feed reader)
  • link is the url your feed will be available from and should correspond with directory. Must end with a "/".
  • image defines a small image that displays with your feed in certain RSS readers (like AntennaPod) by its filename image-title width-in-px height-in-px all seperated by spaces. The rss specification sets a very small limit on the image size, keep it below about 150x90px.
  • filename and source are the filename/path for your feeds inputs and outputs respectively (out.rss, /path/to/sources.txt). These do not inherit from the directory config option’s path so make sure to specify a full path unless you would like the files to be saved relative to the current directory.
  • directory is the path of the directory to which audio files will be saved, make sure this is somewhere a remote client has permissions to access files from.
  • titleFilter Define a filter based on the content of episode titles. The filter text starts after a space. By using titleFilter on multiple lines you can define any number of title filters you need.
  • episodeLimit Define the maximum number of episodes to be downloaded and aggregated from all of the feed sources.