Als Radiofan verspüre ich häufig den Drang, Radioprogramme aus der ganzen Welt zu empfangen. Insbesondere die USA sind für mich sehr interessant. Der Radiomarkt dort bietet viele Formate, die man in Deutschland vergeblich sucht. Dank der Erfindung des Streaming muss man nicht mal in das jeweilige Land reisen, um die Radiosender zu hören. Ärgerlich ist es, wenn die Programme aus lizenzrechtlichen Gründen nur in dem jeweiligen Land zu empfangen sind – sogenanntes Geoblocking. Eine Lösung ist das Einsetzen eines VPN. Man verbindet sich über ein virtuelles privates Netzwerk mit einem Server in den Vereinigten Staaten und kann die dortigen Radioprogramme auch hierzulande hören. Dies liegt an der amerikanischen IP-Adresse, die man über den VPN erhält.

Geoblocking für USA-Radiosender erfordert VPN

In der Vergangenheit war das auch notwendig, um die Radioprogramme von Entercom in Deutschland zu hören. Entercom Communications Corporation ist ein börsennotiertes amerikanisches Rundfunk- und Radionetzwerk mit Sitz in Bala Cynwyd, Pennsylvania. Das 1968 gegründete Unternehmen ist das zweitgrößte Radiounternehmen der Vereinigten Staaten und besitzt 235 Radiosender in 48 Medienmärkten. Die Stationen findet man auf der populären Domain radio.com sowie in der gleichnamigen App für Android und iPhone. Gestern bemerkte ich eher zufällig, dass man für die Wiedergabe der radio.com-Programme keinen VPN mehr benötigt. Nicht nur über die App waren die Radiostationen ohne Geoblocking abspielbar; auch wenn man den Streaming-Link direkt in den Browser eingab, wurde das US-Programm wiedergegeben. Freudig erzählte ich Markus Weidner davon. Er schrieb in seinem Blog smartphonefan.de, wie ärgerlich er das Geboblocking für Radiohören aus dem Ausland empfindet. Kurz darauf berichtete er mir, dass die Streams bei ihm weiterhin blockiert sind. Nur, warum? An der IP-Adresse konnte es nicht liegen, denn auch im Wifi funktionierten die Radio.com Streams aus Deutschland heraus.

Der User Agent spielt die radio.com-Streams auf Smartphone ab

Ich fand heraus, dass vor Wiedergabe des Streams offenbar der User-Agent abgefragt wird. Bei dem Feld “User-Agent” im HTTP Protokoll wird eine mehr oder weniger ausführliche Information über das Gerät, von dem die Netzwerkanfrage kommt, übermittelt. Übergeben wird das Feld im HTTP-Header. Diese Information kann dann dazu genutzt werden, um bestimmte Elemente nur an solche Browser auszuliefern, die bekanntermaßen damit umgehen können (z.B. Responsive Design).

Radio.com macht sich den User Agent jetzt offenbar zunutze, um Streams nur an mobile User Agents auszugeben. Da die Streamingadressen aller 235 Radio.com-Stationen kaum allgemein bekannt sein dürften, wird die Absicht darin liegen, die radio.com-App und die mobile Website zu pushen. So haben Amerikaner, die ins Ausland reisen, über ihr Smartphone weiterhin die Möglichkeit “ihre Radioprogramme” zu hören. Als Europäer wird es uns weiterhin schwer gemacht, die Programme aus den USA zu empfangen: Die radio.com-App kann nur über den US-Google-PlayStore heruntergeladen werden und die radio.com Website ist wie gehabt über die IP-Adresse gesperrt.

WCBS FM 101.1 aus New York in Deutschland hören

Einen Trick gibt es aber, um die Programme auch ohne VPN zu hören. Man legt sich über einen Editor wie Notepad++ eine Playlist im Format M3U an und trägt dort neben dem Stream auch den nachfolgenden Code ein:

#EXTM3U
#EXTVLCOPT:http-user-agent=Mozilla/5.0 (Linux; Android 7.0; SM-G930V Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.125 Mobile Safari/537.36
http://16983.live.streamtheworld.com/WCBSFM.mp3

Mit der Angabe “EXTVLCOPT:http-user-agent” wird der darauffolgende User Agent “Mozilla/5.0 (Linux; Android 7.0; SM-G930V Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.125 Mobile Safari/537.36” übergeben. Der Server ist in der Annahme, bei dem Absender würde es sich um ein Smartphone handeln und spielt den Stream ab. Die M3U-Datei kann z.B. mit dem VLC Media Player wiedergeben werden.

KROQ 106.7 FM ohne VPN hören

Alle radio.com Programme, die ich bislang getestet habe, lassen sich auf diesem Weg ohne VPN wiedergeben. Auch der beliebte Radiosender KROQ 106.7 aus Los Angeles, der seit Februar 2010 auf Geoblocking setzte, war bislang nur aus den Vereinigten Staaten über das Internet zu empfangen.

#EXTM3U
#EXTVLCOPT:http-user-agent=Mozilla/5.0 (Linux; Android 7.0; SM-G930V Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.125 Mobile Safari/537.36
http://playerservices.streamtheworld.com/api/livestream-redirect/KROQFMAAC_SC

K-EARTH 101.1 FM – Los Angeles Classic Hits – KRTH-FM über VLC abspielen

Übergabe des User Agent in den Optionen des VLC Media Player

Man muss übrigens nicht zwingend eine Playlist anlegen. Im VLC reicht es aus, unter Medien > Netzwerkstream öffnen einen Hacken im Feld “Mehr Optionen anzeigen” zu setzen und den User Agent im Feld “Optionen bearbeiten” einzutragen:

:http-user-agent=Mozilla/5.0 (Linux; Android 7.0; SM-G930V Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.125 Mobile Safari/537.36

Als Netzwerkadresse trägt man den Stream von K-Earth 101.1 FM ein:

http://19273.live.streamtheworld.com/KRTHFMAAC_SC

Radio.com Stationen auf dem Internetradio hören

Wenn ihr in eurem Zuhause ein Internetradio habt, könnt ihr über einen kleinen Umweg den Stream auch dort abspielen. Ich habe dazu auf einem Raspberry Pi einen Icecast2- Server installiert:

sudo apt-get install icecast2

Der Stream wird über den VLC Media Player und den “gefälschten” User-Agent-Informationen an den Icecast2-Server geschickt. Dazu habe ich ein kleines Bash-Script geschrieben:

#!/bin/sh

/usr/bin/cvlc -vvv http://14203.live.streamtheworld.com/WSFSFM_SC :http-user-agent=”Mozilla/5.0 (Linux; Android 7.0; SM-G930V Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.125 Mobile Safari/537.36″ :sout=”#std{access=shout,mux=ogg,dst=//source:hackme@192.168.XXX.XXX:8000/WSFSFM}” :no-sout-all :sout-keep

Das Script wird beim Start mit dem Programm Supervisor geladen. Im Internetradio habe ich die Stream-URL des Icecast-Servers für das jeweilige Radioprogramm eingetragen (http://192.168.XXX.XXX:8000/WSFSFM)