I use podget, which is a 248 kB bash script. I really like it, and think it will meet your requirements:
- It’s designed to be called from
cron
- It lets you sort your podcasts into categories
- It automatically organises the downloads into different directories based on these categories
- It’s been around since 2005 and is still maintained
From its description:
Podget is a simple podcast aggregator optimized for running as a scheduled background job (i.e. cron). It features support for downloading podcasts from RSS & ATOM XML feeds, for sorting the files into folders & categories, for importing URLs from iTunes PCAST files & OPML lists automatic M3U & ASX playlist creation, and automatic cleanup of old files.
It also features automatic UTF-16 conversion for podcasts hosted on MS Windows servers.
I run a prosody server and have a couple of users who run Monal, and notifications work reliably for us!
I made sure to follow the considerations for server admins and it’s been ok.
Regarding the push service: unless you deploy your own version of the app, it’s not possible to self-host your own push service. The flow looks like this:
XMPP server -> Monal pushserver -> Apple pushserver -> Device
Apple only allows the developer of the app to send notifications to their push server. They enforce this by giving the app developer a key specific to their app.
The linkage between XMPP server and Monal pushserver gets set up by Monal: when it connects to the XMPP server, it instructs it to send messages while it is offline to the Monal pushserver.