Skip to content

Plugin Podcasts

Derrik Diener edited this page Jul 16, 2026 · 1 revision

Podcasts Plugin

Enabled by Default: Yes (Disable via SUPERNOVA_PLUGIN_PODCASTS=false)

Purpose

Supernova includes a fully-featured Podcast manager that allows users to search the open PodcastIndex network, subscribe to RSS feeds, and stream episodes natively.

Technical Internals

  1. Network Integration: Hooks into api.podcastindex.org. Requires PODCAST_INDEX_API_KEY and PODCAST_INDEX_API_SECRET to be configured in your .env file.
  2. Subscription Management:
    • Stores subscriptions in the podcast_subscriptions database table using a generated UUID-like hash for the primary key.
  3. Playback Syncing:
    • The podcast_progress table tracks exact position_ms for every episode a user plays.
    • The frontend PlayerContext periodically beacons this playback state back to the server, meaning you can pause a podcast on the web UI and seamlessly resume it later.
  4. Security: All user search queries passed to the PodcastIndex API are URL-encoded (url.QueryEscape) to prevent API manipulation.

API Execution

  • GET /api/plugins/podcasts/search?q=<query>
  • GET /api/plugins/podcasts/episodes?id=<feed_id>
  • POST /api/plugins/podcasts/subscribe
  • POST /api/plugins/podcasts/progress

Clone this wiki locally