Repository navigation
Musonic Server 1.1.0
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 throughgetCoverArt. 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.musonicServerextension
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 bygetLyricsBySongId.
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:
tokio1.54.1 (1.54.0 was withdrawn: timer race),zip9 (advisories
RUSTSEC-2026-0367/0368/0369 onextract(), 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.