Dealing with the steep costs of internet services in my country and being an avid podcast listener myself, me and a couple of friends came up with a solution. We developed a website that works as a mirror for users' selected podcast feeds and converts the episodes into opus format, slashing the mobile data consumption that's a real concern for internet access here: https://easypodcasts.live
It's FOSS and free as in beer.
Wow I like this idea at least for many conversation based podcasts. I try to download mine at home but data isn't as expensive for the times I don't. Still there are reasons to use this.
I need to look into how the mirroring works, for some time I have wanted a way to subscribe to a podcast with a timeshifted start. Say from the beginning up to the date I start, or a range between 2 dates. For podcasts that have existed for a long time I find it hard to work through the back catalog in any consistent way.
I wrote a tool that might help with this if you don't want to download the files immediately but it definitely isn't required if you just download everything and use yt-dlp's download-archive.
pip install xklb
lb tubeadd podcasts.db 'http://www.hellointernet.fm/podcast?format=rss'
lb listen podcast.db # it will keep track of what you played and prioritize playing things that haven't been played before
And later do tubeupdate to check for new episodes: lb tubeupdate podcasts.db
If the website extractor provides metadata about file creation (eg. YouTube extractor) then you could use this to play the oldest videos first: lb listen podcast.db -u time_modified
If you want to download later you could do this: lb dl podcast.db --audio # with the above example it saves to the folder "Generic" in the current working directory since it uses the yt-dlp generic extractor
https://github.com/chapmanjacobd/library