Custom RSS Feed for Apple Podcast

In my case I have set of audio files (aka audio book) that I wish to listen in reliable way.

Unfortunatelly it is not an audio book bought from Amazon or something like this, so apps like Audible not going to work for me.

Of course we may just upload files somehow to phone and listen for them, but how we can keep track of what files we already listen, how about continuing on computer and so on.

Idea behind this - why not pretend all this files as podcast episodes and use Apple Podcast app for this. As result we will keep track of progress as well as have sync it across all devices.

The caveat here is that we need to host files somewhere so app can download them for offline and unfortunatelly at moment of writing it is like seven rounds of hell to figure out how to get direct download link from OneDrive, so in my case files are just uploaded somewhere online, does not really matter here.

Apple Podcast XML

There are just few links I have found describing the format and example

Minimally feed should look something like this

<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <!-- only required fields here for simplicity -->

    <!-- pretend it is pod cast name -->
    <title>My Awesome Book</title>
    <!-- description that will be shown on podcast view -->
    <description>Sample description of my awesome book</description>
    <!-- podcast logo/image/avatar -->
    <itunes:image href="https://applehosted.podcasts.apple.com/hiking_treks/artwork.png" />
    <!-- spoken language is required, in form of "language-country" -->
    <language>en-us</language>
    <!-- category, one of https://podcasters.apple.com/support/1691-apple-podcasts-categories, do not forget escaping -->
    <itunes:category text="Education">
      <itunes:category text="How To"/>
    </itunes:category>
    <!-- doesn't contain explicit language or adult content -->
    <itunes:explicit>false</itunes:explicit>

    <!-- episodes - aka chapters, per each mp3 file we will have one item -->
    <item>

      <!-- episode title -->
      <title>Chapter 1 Title</title>

      <!--
        your mp3 file:
        length: lenght of file in bytes
        type: audio/mpeg - mp3
        url: publicly available url
      -->
      <enclosure
        length="498537"
        type="audio/mpeg"
        url="http://example.com/podcasts/everything/AllAboutEverythingEpisode4.mp3"
      />

    </item>
    <!-- repeat item tags for as many files as you have -->
  </channel>
</rss>

Having that in place your job is to make both mp3 files and podcast xml feed publicly available somehow.

After that in your podcast app navigate to Library and in top right corner under the tripple dots menu you will find an "Follow a Show by URL...". On macOS it is availble in the file menu.

Thankfully there are no specific requirements, in my case i have just served files with nginx from ip address without tls and was able to add podcast.

Also it may be served via ngrok.

Putting this note for myself, it is second time in decade when I need this and did not found previous notes where I had online app that was automatically create podcast feed from one drive folder.