title: Blog post: Podcasts and Podcatchers description: Curating my subscriptions to switch to free software date: 2022-12-30
About ten years ago I was a big Apple fanboy, using both Macs and an iPhone, even building a Hackintosh in 2015. So of course when I started listening to podcasts it was using iTunes. I later switched to Instacast, a paid podcatcher for Mac and iOS that no longer exists. So when Instacast stopped their cloud sync service, I had to switch back to Apple Podcasts. This is where I was stuck for a long time, only being able to listen to podcasts on my iPhone after switching to Arch Linux on my desktop.
Now I finally made the switch to an Android phone, so I had to reevaluate my options regarding podcatchers and the sync of subscriptions and episode states.
Unfortunately I no longer have the iTunes instance that was synced to the iPhone, so it seems there is no way to get the subscriptions as an OPML file. I had to manually list all subscribed podcasts and find their feed URL using Google. In times of Spotify and other podcast directory services it is often surprisingly difficult to get the actual feed for many podcasts. One good solution I found is this small Javascript snippet to extract the actual feed URL from an iTunes podcast directory URL. It is implemented using a request to the Apple servers, preserved here in case the link above has problems.
$.ajax({ url: "https://itunes.apple.com/lookup", data: { id: parseInt(podID), entity: "podcast" }, type: "GET", dataType: "jsonp", success: function(data, dataType) { console.log(data); var results = data.results; var feedUrl = results[0]['feedUrl']; var imgurl = results[0]['artworkUrl100']; // ... } });
Here is the list of subscriptions I now moved over to my new podcatcher. You can also download it as an OPML file.
push2talk: https://www.bonjwa.de/podcast/feed/push2talk bonjwa podcast: https://www.bonjwa.de/podcast/feed/bonjwa-podcast rauschfunk: https://chillout-pdm.de/feed/mpeg4/ casually cast http://casuallycast.de/feed/mp3/ pentacast https://www.c3d2.de/podcast.xml fragezeichenpod – vier ohren https://fragezeichenpod.podcaster.de/fragezeichenpod.rss [die wahrheit] https://feeds.feedburner.com/MonoxydDieWahrheit trekcast – der star trek podcast https://www.trekcast.de/feed/podcast/ teenagersexbeichte https://teenagersexbeichte.de/feed/tsbfeed/ [ohm] – monoxyd https://monoxyd.de/category/ohm/feed the adam buxton podcast http://rss.acast.com/adambuxton the smartest man in the world https://feeds.simplecast.com/1PWmnSwT collaborativerockers http://www.collaborativerockers.de/feed/mp3/ devradio http://ulm.ccc.de/dev/radio/podcast.xml Sträter Bender Streberg https://cdn.julephosting.de/podcasts/452-strater-bender-streberg-der-podcast/feed.rss radio superlevel https://letscast.fm/podcasts/radio-superlevel-06b2a7ab/feed peinliches schweigen https://feeds.soundcloud.com/users/soundcloud:users:229276118/sounds.rss zwei nasen tanken https://zweinasentanken.podigee.io/feed/mp3 AWO Podcast: https://awo-deutschlanddukannstdas.podigee.io/feed/mp3 klabautercast https://klabautercast.de/feed/podcast-aac/ [angespielt – spiel, sprites & spott] https://blog.richter.fm/category/podcast/angespielt/feed rechtsbelehrung – recht, technik & g… https://rechtsbelehrung.com/feed/podcast redebedarf - schrankenloses wo… https://blog.richter.fm/feed/podcast omega tau science & engineering podcast http://omegataupodcast.net/category/podcast/feed skeptotalk https://www.nrwision.de/mediathek/sendungen/skeptotalk/rss/100/feed.rss abroad in japan https://feeds.acast.com/public/shows/abroadinjapan stimmen der kulturwissenschaften https://stimmen-kulturwissenschaften.univie.ac.at/?feed=mp3 amzapfhahn https://www.nrwision.de/mediathek/sendungen/am-zapfhahn/rss/100/feed.rss kuchenradio http://kuchenkram.com/?feed=podcast psychotalk https://www.psycho-talk.de/feed/m4a stay forever https://podcastd45a61.podigee.io/feed/mp3 der lautsprecher https://der-lautsprecher.de/feed/m4a sexy cripples https://feeds.feedburner.com/sexycripplespodcast die drei vogonen https://www.die-drei-vogonen.de/feed/m4a/ pubkameraden http://www.pubkameraden.de/feed/mp3/ 1337@kultur:~$ https://1337kultur.de/feed/podcast-aac/ fokus europa https://fokus-europa.de/feed/m4a/ staatsbürgerkunde https://www.staatsbuergerkunde-podcast.de/feed/aac-rss/ werkstattgespräche https://werkstattgespraeche.podigee.io/feed/mp3 random encounter https://randomencounter.de/feed/mp3/ 300hertz http://300hertz.de/feed/Gitarren-Verstarker-Gadgets/ raumzeit https://raumzeit-podcast.de/feed/m4a/ wir. Müssen reden https://wir.muessenreden.de/feed/podcast/ the lunatic fringe https://tim.pritlove.org/feed/m4a/ lauer informiert https://christopherlauer.de/feed/lauerinformiert/ humoralpathologie http://feeds.feedburner.com/UnbenannterPodcastberEsoterikUndhnlichen kolophon https://kolophon.oreilly.de/feed/m4a/ not safe for work https://not-safe-for-work.de/feed/m4a/ bartocast http://bartocast.de/?feed=podcast serial https://feeds.simplecast.com/xl36XBC2 s-town http://feeds.stownpodcast.org/stownpodcast the trojan horse affair https://feeds.simplecast.com/B9KgArY4 das interview. Mit philip banse https://www.kuechenstud.io/medienradio/feed/mp3/ hoaxilla - der skeptische podcast… https://feeds.hoaxilla.com/hoaxilla küchenradio https://www.kuechenstud.io/kuechenradio/feed/m4a/ mikrodilletanten https://feeds.viertausendhertz.de/mikrodilettanten resonator https://resonator-podcast.de/feed/m4a/ forschergeist https://forschergeist.de/feed/m4a/ die sondersendung https://das-sendezentrum.de/feed/m4a/ hockdiher bayern-podcast https://cdn.stationista.com/feeds/hockdiher-bayern-podcast elementarfragen https://feeds.viertausendhertz.de/elementarfragen systemfehler https://feeds.viertausendhertz.de/systemfehler lage der nation – der politik-podcast aus b… https://feeds.lagedernation.org/feeds/ldn-mp3.xml [der weisheit] https://blog.richter.fm/category/podcast/derweisheit/feed radiorollenspiel http://radiorollenspiel.de/category/podcast/feed/ alternativlos http://alternativlos.org/alternativlos.rss hooked fm http://www.hookedmagazin.de/feed/hookedfm/ neusprech.org http://neusprech.org/feed/podcast/ minkorrekt https://minkorrekt.de/feed/m4a/ die wochendämmerung https://wochendaemmerung.podigee.io/feed/mp3 spezialgelagerter sonderpodcast https://spezialgelagert.de/feed/podcast/ minutenweise matrix https://compendion.net/minutenweisematrix/feed/m4a/ netzpolitik https://netzpolitik.org/category/netzpolitik-podcast/feed/itunes citr – nardwuar https://www.spreaker.com/show/4254039/episodes/feed nachgefragt https://nachgefragt-podcast.de/feed/episodes/ haschimitenfürst https://feeds.acast.com/public/shows/haschimitenfurst-der-bobcast Cui bono wer hat angst vorm drachenlord https://cui-bono.podigee.io/feed/mp3 Der mörder und meine cousine https://feeds.br.de/der-moerder-und-meine-cousine/feed.xml Werkgetreu james cameron https://compendion.net/werkgetreujamescameron/feed/mp3/ Wer hat burak erschossen? https://www.rbb-online.de/rbbkultur/podcasts/wer-hat-burak-erschossen.xml/feed=podcast.xml Mord verjährt nicht https://www.rbb-online.de/rbbkultur/podcasts/mord-verjaehrt-nicht/index.xml/feed=podcast.xml Aus politik und zeitgeschichte https://www.bpb.de/rss-feed/342466.rss Denkangebot podcast https://www.denkangebot.org/feed/mp3/ Malik.fm https://malik.fm/feed/mp3/ Rechter terror – vier jahrzehnte ... https://feeds.br.de/rechter-terror-vier-jahrzehnte-rechtsextreme-gewalt-in-deutschland/feed.xml Saal 101 - dokumentarhörspiel https://feeds.br.de/saal-101/feed.xml Sprechen wir über mord https://www.swr.de/~podcast/swr2/leben-und-gesellschaft/podcast-sprechen-wir-ueber-mord-100.xml Entführt der fall ursula herrmann https://feeds.br.de/entfuehrt-der-fall-ursula-herrmann/feed.xml Bayern 3 true crime aussage gegen aussage https://feeds.br.de/true-crime/feed.xml grounded with louis theroux https://podcasts.files.bbci.co.uk/p089sfrz.rss ndr dokucast wir erzählen gesellschaft https://www.ndr.de/nachrichten/info/podcast4678.xml a podcast of unnecessary detail https://feeds.acast.com/public/shows/61deed94f2acc80013aab8aa ukw https://ukw.fm/feed/mp3/ this american life https://www.thisamericanlife.org/podcast/rss.xml schrottcast titus jonas http://feeds.feedburner.com/SchrottcastTitusJonas jason scott talks his way out http://textfiles.libsyn.com/rss wrint http://www.wrint.de/feed/podcast/ chaosradio https://chaosradio.de/feed/m4a newz of the world https://newz-of-the-world.com/feed/m4a/ logbuch:netzpolitik https://logbuch-netzpolitik.de/feed/m4a freak show https://freakshow.fm/feed/m4a cre: technik, kultur, gesellschaft https://cre.fm/feed/m4a die ratsherren http://www.superkreuzburg.de/?feed=ratsherren super 35 http://www.superkreuzburg.de/?feed=super35 superkreuzburg http://www.superkreuzburg.de/?feed=podcast best of diverses http://www.superkreuzburg.de/?feed=bod nie im kino – spektakulär gescheit… https://feeds.br.de/nie-im-kino/feed.xml die spur der täter – der true crime pod… https://www.mdr.de/nachrichten/podcast/spurdertaeter/spurdertaeter-104-podcast.xml christin und ihre mörder -serienstoff https://www.rbb-online.de/rbbkultur/podcasts/rbb-serienstoff/christin-und-ihre-moerder-feed.xml/feed=podcast.xml ndr 2 – täter unbekannt https://www.ndr.de/ndr2/sendungen/taeterunbekannt/podcast4282.xml verbrechen (die zeit) https://verbrechen.podigee.io/feed/mp3
Because of the age of my subscriptions, some of the podcasts no longer even exist. I also list these here.
still untitled: the adam savage project https://www.tested.com/podcast-xml/still-untitled-the-adam-savage-project/ we are vr http://vr.bosepark.com/ opa harald erzählt http://opa-harald.de/ schall und rauch https://www.reflab.ch/category/podcasts/schall-und-rauch/ games und so http://www.gamesundso.de/ spreeblick hoaxilla porträt https://hoaxilla.com/podcast/skeptoskop.xml fnordfunk http://www.fnordfunk.de/ die serienabfertigung http://serienabfertigung.de/ audioflick https://audioflick.de/feed.php wikigeeks http://www.wikigeeks.de/ mahacast https://www.maha-online.de/ behind the hoax http://www.hoaxilla.de/podcast/bth.xml metrolaut https://www.metronaut.de/feed/mp3/
And finally some podcasts are no longer interesting to me nowadays. These are here, but obviously I don’t recommend them.
true klein crime – der kurzgeschichten-po… podcast ohne (richtigen) namen scenesat jimquisition padmen doomian sanft & sorgfältig – radioeins nerds.fm id10t with chris hardwick insert moin kp alert ! - the official podcast of k… the co-optional podcast auf ein bier von gamespodcast.de fest & flauschig h3 podcast nerdizismus – der podcast für nerds https://www.nerdizismus.de/ plauschangriff gedankensprung press select beanscast the joe rogan experience radio nukular
I also want to talk a bit about the technical side. The de-facto Linux podcatcher, which I’m now also using, seems to be gPodder. It does the job well and, in the true Unix sense, only is responsible for downloading episodes, while the actual playing is handled by an extrnal player, like VLC. On the Android side I’m using AntennaPod. Both of these are open source, of course.
Now I just needed a way to sync the subscriptions and play-state of episodes, which is also implemented in both clients and comes in the form of gpodder.net (formerly mygpo). This came with a bunch of problems however. While the site itself is reachable, many links return an HTTP 500 error, including the registration of new user accounts. This seems to be the case since at least August 2022. While the admin mentioned they are working on the problem, nothing changed in the past four months.
Fortunately the gpodder.net service is also open source and seems documented well enough. So I decided to try to run it on one of my cloud server instances. According to the docs there’s not much needed to get it running. You just need to install some dependencies, configure some settings and run a Python script that listenes for HTTP requests. This was easy to implement and the webpage was in fact reachable afterwards. I was also able to configure the server in my clients and sync the subscriptions to the cloud.
But it was not actually functional after following the installation instructions. Actually syncing subscriptions between the devices did not work. Clicking the corresponding button in the webinterface seemed to succeed, but nothing happened in the background. In the GitHub issues I found some other people unsuccessfully trying to run the service, from nearly two years ago.
So this was where I got stuck as well, at least initially. But then I luckily took a quick look into the Pull Requests of the project on GitHub and found the original author having made an unfinished Docker container implementation in 2014. The stuff in there provided the solution. You also need to launch some workers besides the script mentioned in the docs.
And that did the trick. The clients now not only synced their subscriptions, but also the play-state of each episode, as well as the time where an episode was paused.
There still are some problems, but because I never was able to register on gpodder.net, I’m not sure if the problem is on my side or in the code. But like in this issue and a bunch of duplicates, the names of podcasts don’t show properly on the webinterface.
There’s also the mygpo-feedservice that’s integrated in gpodder.net without being mentioned anywhere. But this seems to still be running on the upstream instance, at least running this returns a valid-looking result:
SERVER=http://feeds.gpodder.net/parse curl --header "Accept: application/json" "$SERVER?url=http://feeds.feedburner.com/linuxoutlaws&inline_logo=1&scale_logo=30"
So I haven’t further looked into hosting this as well. For now it works well enough for my usecase.
Of course, as usual, I integrated into my Ansible scripts. Please take a look there to find the exact steps, if you want to run your own gpodder.net instance.
As you can probably tell this was quite a bit of work. And all that just to be able to listen to some podcasts, like I did ten years ago with a commercial app that cost 99ct. I guess this was kind of my “2022 is the year of Linux on the Desktop” moment… 🐧