Skip to content

Musonic Server 1.1.0

Choose a tag to compare

@github-actions github-actions released this 29 Oct 21:19

Podcasts. Musonic Server reads podcasts from their RSS feeds, finds shows in the iTunes directory and in Podcast Index (including the episodes where a person speaks, host or guest), and keeps each account's place in every episode. Every Subsonic client gets the standard podcast routes; Musonic's apps get search, show pages and transcripts as synced lyrics.

Added

  • Podcasts (first part, ADR-023). Shows are read from their RSS feed (iTunes and
    Podcasting 2.0 tags: duration, chapters, transcripts) and found in the iTunes directory
    (searchPodcasts?query=&country=, kept a day, no key needed). The standard Subsonic routes
    work for every client: getPodcasts, getNewestPodcasts, getPodcastEpisode,
    createPodcastChannel, deletePodcastChannel, refreshPodcasts. Episodes play through
    stream (relayed from the host, seeking included: the host never sees the listener) and
    their pictures through getCoverArt. Each account follows its own shows and keeps its place
    in each episode (savePodcastPosition, listened to the end past 95 %). Followed feeds are
    read every hour; an unchanged feed costs one short answer. musonicServer extension
    version 4.
  • Feeds, audio and pictures of podcasts are only fetched from public addresses: a feed cannot
    make the server read its own network.
  • Podcasts: Podcast Index (free key set in the console, Imports page): shows the iTunes
    directory misses or lists without their feed, and episodes by person (host or guest) in
    searchPodcasts. getPodcastShow?url= opens a show before following it. Transcripts
    (podcast:transcript, VTT or SRT) are served as synced lyrics by getLyricsBySongId.

Security

  • Every answer carries browser protections: the console and Musonic Web cannot be shown
    inside another site (X-Frame-Options, frame-ancestors), and addresses carrying a token
    are never sent to other sites (Referrer-Policy: no-referrer).
  • Dependencies: tokio 1.54.1 (1.54.0 was withdrawn: timer race), zip 9 (advisories
    RUSTSEC-2026-0367/0368/0369 on extract(), which Musonic does not call). The CI runs
    cargo audit.

Updating

Migration 0009 adds the podcast tables at the first start (instant) and keeps a copy of the database before it (musonic.db.before-schema-9). Nothing else to do.

Podcast Index (optional): create a free key at podcastindex.org, then paste the key and its secret in the console, Imports page. Without it, shows are still found through the iTunes directory; episodes by person need it.