TERRIS® Stereo Internetradio (Teil 2 – App)

Nachdem ich mir die Requests der Weboberfläche angeschaut habe, die nun wirklich recht rudimentär gehalten ist, dachte ich mir, das diese API ja für irgendetwas nützlich sein muss.

Das dachte sich der Hersteller warscheinlich auch und hat eine App für das Radio geschrieben.

Also App installiert, Wireshark angeschmissen – und siehe da, unverschlüsseltes HTTP.


// get the session cookie
http://192.168.0.46:80/fsapi/CREATE_SESSION?pin=1337
//
http://192.168.0.46:80/fsapi/GET_NOTIFIES?pin=1337&sid=738702153
http://192.168.0.46:80/fsapi/LIST_GET_NEXT/netRemote.sys.caps.validModes/-1?pin=1337&sid=738702153&maxItems=65536
http://192.168.0.46:80/fsapi/GET/netRemote.sys.mode?pin=1337&sid=738702153
// set and play fm frequency
http://192.168.0.46:80/fsapi/GET/netRemote.play.frequency?pin=1337&sid=738702153
http://192.168.0.46:80/fsapi/SET/netRemote.play.frequency?pin=1337&sid=738702153&value=96650
// get
http://192.168.0.46:80/fsapi/GET/netRemote.play.serviceIds.fmRdsPi?pin=1337&sid=738702153
http://192.168.0.46:80/fsapi/GET/netRemote.sys.power?pin=1337&sid=738702153

http://192.168.0.46:80/fsapi/GET/netRemote.play.scrobble?pin=1337&sid=738702153

// start dab scan
http://192.168.0.46:80/fsapi/GET/netRemote.nav.action.dabScan?pin=1337&sid=738702153
// get all dab stations
http://192.168.0.46:80/fsapi/LIST_GET_NEXT/netRemote.sys.caps.dabFreqList/-1?pin=1337&sid=738702153&maxItems=65536
// play dab station
http://192.168.0.46:80/fsapi/GET/netRemote.play.serviceIds.ecc?pin=1337&sid=738702153

http://192.168.0.46:80/fsapi/GET/netRemote.sys.caps.volumeSteps?pin=1337&sid=738702153
http://192.168.0.46:80/fsapi/GET/netRemote.play.repeat?pin=1337&sid=738702153
http://192.168.0.46:80/fsapi/GET/netRemote.play.info.name?pin=1337&sid=738702153
http://192.168.0.46:80/fsapi/GET/netRemote.play.info.text?pin=1337&sid=738702153
http://192.168.0.46:80/fsapi/GET/netRemote.play.status?pin=1337&sid=738702153
http://192.168.0.46:80/fsapi/GET/netRemote.play.caps?pin=1337&sid=738702153
http://192.168.0.46:80/fsapi/LIST_GET_NEXT/netRemote.sys.caps.validModes/-1?pin=1337&sid=738702153&maxItems=20
http://192.168.0.46:80/fsapi/GET/netRemote.sys.audio.volume?pin=1337&sid=738702153

http://192.168.0.46:80/fsapi/GET/netRemote.play.shuffle?pin=1337&sid=738702153

// mute the radio
http://192.168.0.46:80/fsapi/GET/netRemote.sys.audio.mute?pin=1337&sid=738702153

http://192.168.0.46:80/fsapi/GET/netRemote.nav.state?pin=1337&sid=738702153
http://192.168.0.46:80/fsapi/LIST_GET_NEXT/netRemote.nav.presets/-1?pin=1337&sid=738702153&maxItems=20
http://192.168.0.46:80/fsapi/LIST_GET_NEXT/netRemote.nav.presets/19?pin=1337&sid=738702153&maxItems=20

http://192.168.0.46:80/fsapi/GET/netRemote.sys.caps.fmFreqRange.lower?pin=1337&sid=738702153
http://192.168.0.46:80/fsapi/GET/netRemote.sys.caps.fmFreqRange.upper?pin=1337&sid=738702153
http://192.168.0.46:80/fsapi/GET/netRemote.sys.caps.fmFreqRange.stepSize?pin=1337&sid=738702153

http://192.168.0.46:80/fsapi/LIST_GET_NEXT/netRemote.sys.caps.eqPresets/-1?pin=1337&sid=738702153&maxItems=20
http://192.168.0.46:80/fsapi/LIST_GET_NEXT/netRemote.sys.caps.eqPresets/-1?pin=1337&sid=738702153&maxItems=65536

http://192.168.0.46:80/fsapi/GET/netRemote.sys.audio.eqPreset?pin=1337&sid=738702153
http://192.168.0.46:80/fsapi/SET/netRemote.sys.audio.eqPreset?pin=1337&sid=738702153&value=3

http://192.168.0.46:80/fsapi/SET/netRemote.sys.audio.eqPreset?pin=1337&sid=738702153&value=0
http://192.168.0.46:80/fsapi/LIST_GET_NEXT/netRemote.sys.caps.eqBands/-1?pin=1337&sid=738702153&maxItems=10
http://192.168.0.46:80/fsapi/GET/netRemote.sys.audio.eqLoudness?pin=1337&sid=738702153
http://192.168.0.46:80/fsapi/GET/netRemote.sys.audio.eqCustom.param0?pin=1337&sid=738702153
http://192.168.0.46:80/fsapi/GET/netRemote.sys.audio.eqCustom.param1?pin=1337&sid=738702153

http://192.168.0.46:80/fsapi/SET/netRemote.sys.audio.eqLoudness?pin=1337&sid=738702153&value=0

Damit lässt sich doch schon viel mehr machen, als mit den langweiligen Befehlen der Weboberfläche.

Fork me on GitHub