Daily Shaarli
July 13, 2025
I got an instance up and running (obligatory Ansible role https://codeberg.org/ansible/audiobookshelf) and added my audiobooks library to it. Looks very nice :-)
My initial impression is that the audiobooks UX is much better than that of Jellyfin. I will definitely be moving that library to Audiobookshelf.
Podcasts can only be added and episodes downloaded for users with admin
privileges, which seems excessive to me. But given that, the UX is straight-forward. Supports OPML import, and handled my OPML file with almost 150 feeds without choking.
In summary, I am happy to have it up and running and expect it to be my primary venue for audiobook and podcast listening.
- https://getrssfeed.com - extract RSS feed from Apple, Spotify, Deezer, Soundcloud links
- https://www.labnol.org/podcast - give it an Apple Podcast URL and it returns the RSS feed (web form)
- https://fetchrss.com/generator/init - self-blocked behind captcha
Soundcloud
Is the podcast you want to listen to hosted on Soundcloud? First of all, double-check that the podcast is not also hosted somewhere else (more often than not that is the case, and then you can simply avoid Soundcloud).
Soundcloud makes it really hard to discover the podcast's RSS feed. It is not shown anywhere on the page, nor in the HTML source.
Based on a feed URL we already possess and that channel's Soundcloud landing page, we can manually construct the hidden RSS feed endpoint for any Soundcloud "podcast":
- Open the HTML source of the Soundcloud "podcast", for example https://soundcloud.com/user-268302561.
- In the HTML source, find the
user ID
property, which looks likesoundcloud://users:819898639
(I suggest grep forsoundcloud://users
). - Copy the numeric part, and construct a URL like this: https://feeds.soundcloud.com/users/soundcloud:users:819898639/sounds.rss.
- Take a moment to reflect on the awfulness of siloed web services and do your best to avoid encouraging them in future.