Norsolia

FEATURES

Everything a feed needs, nothing it doesn't

Norsolia is a host, not a studio suite. It stores your audio, builds a correct feed and serves it fast. The list below is the whole list.

Shows and episodes

Show details
Title, description, language and an iTunes category. A cover up to 2 MB, checked against the PNG or JPEG signature rather than its file name.
Episode formats
MP3 or M4A, up to 50 MB per file. The upload is accepted only if the bytes really are an MP3 frame stream or an MP4 container.
Draft, schedule, publish
Keep an episode as a draft, set a future time and let it publish itself, or publish now. A scheduled episode needs its audio in place first.

The feed

Each show has /feed/<slug>.xml. It is RSS 2.0 with the iTunes namespace and the Podcasting 2.0 namespace.

  • enclosure with the real byte length and MIME type
  • guid that stays stable for the life of the episode
  • pubDate in RFC 822, itunes:duration, itunes:episode
  • podcast:guid and podcast:locked at the channel level
  • itunes:image, itunes:category, itunes:explicit

Delivery

Audio is served from /media/episode/<id> with byte-range support, so a player can seek without downloading the whole file. HEAD requests work. The right Content-Type is sent and sniffing is turned off.

The embeddable player lives at /embed/<id> and ships frame-ancestors *, so it can sit in any page or show-notes block.

Measurement, said honestly

The gateway in front of the app hides the client IP, so there is no honest way to count unique people. Norsolia counts a play: a Range request that starts at byte 0, recorded at most once every five minutes per episode and per hashed User-Agent. That is what the dashboard and the API return, by episode and by day. It is a floor, not a headcount, and it is never labelled “unique listeners”.

Yours to take

Export a ZIP of every show, episode, metadata file and audio file whenever you like. There is no lock-in and no export fee.

Built on an API

The dashboard uses the same public API you can. Create a token and script your show. The reference is generated from the live OpenAPI document.