Auslieferung & signierte URLs
Öffentliche URLs
Jede Datei einer öffentlichen Sammlung liegt unter https://cdn.media-host.online/<sammlung>/<dateiname>. Dateinamen bleiben wie hochgeladen, Leerzeichen werden zu Bindestrichen. Nach einer Umbenennung bleibt die alte URL ein Jahr lang als 301 erreichbar.
Antworten tragen Accept-Ranges: bytes, ein starkes ETag und Cache-Control: public, max-age=31536000. Laden Sie eine Datei unter gleichem Namen erneut hoch, bleibt die URL gleich und die Edge-Caches sind in etwa 30 Sekunden geleert.
curl -I https://cdn.media-host.online/wochenshow/folge-048-final.mp3
HTTP/2 200
content-type: audio/mpeg
content-length: 58213904
accept-ranges: bytes
etag: "a3f1c0d9e77b1a2c"
cache-control: public, max-age=31536000
x-mh-edge: fra2
Signierte URLs
Private Sammlungen sind nur über signierte Links erreichbar. Erzeugen Sie sie serverseitig oder lassen Sie die API das tun:
curl -X POST https://api.media-host.online/v1/files/f_7Q2kd9Lm/sign \
-H "Authorization: Bearer $MH_TOKEN" \
-H "Content-Type: application/json" \
-d '{"expires_in": 86400, "download": false}'
# → { "url": "https://cdn.media-host.online/mitglieder/folge-048.mp3?exp=1759353600&sig=Mz1fA..." }
Für lokales Signieren ohne Umweg berechnen Sie ein HMAC-SHA256 über pfad + "\n" + exp mit dem Signierschlüssel der Sammlung und kodieren es base64url. Die CLI tut das mit mh sign. Abgelaufene Links liefern 410 Gone, manipulierte 403.
Eigene Hostnamen
Im Tarif Network liefern Sie unter eigenem Hostnamen aus. Legen Sie einen CNAME von files.ihreshow.example auf edge.media-host.online an und registrieren Sie ihn:
mh domain add files.ihreshow.example
Das Zertifikat ist in wenigen Minuten da und verlängert sich automatisch. Bestehende cdn.media-host.online-URLs funktionieren weiter.
Download-Statistik
Ein Download zählt, wenn ein Client innerhalb von 24 Stunden von derselben IP mit demselben User-Agent mindestens 60 Sekunden Audio (nach Bitrate) oder 1 MB abruft, je nachdem, was kleiner ist. So zählen auch die meisten Podcast-Verzeichnisse. Bekannte Crawler und Prefetcher sind ausgenommen; die Liste wird monatlich veröffentlicht.
curl "https://api.media-host.online/v1/stats/files/f_7Q2kd9Lm?from=2026-09-01&to=2026-09-30&by=day" \
-H "Authorization: Bearer $MH_TOKEN"