Update: Circumventing bloatware – the jamfm.de web stream

Here we are.

By going to http://phikappa.eu/jamfm.php you will be promted to save a *.pls file (or it will download automatically, depending on your browser settings).

You can open this pls file in your audio player of choice and it will start streaming the 96 kbps MP3 stream. 🙂

Even if you stop the playback and then get start it again, it should work – however, if you get an 401 error or a password request, just generate a new pls again.

Free the streams – against bloatware. 

Here’s the source code: jamfm.php code as a ZIP file.

Getting streams from bloatwaring internet radios: jamfm.de

Some Internet Radios are not their listener’s friend.

In the case of jamfm.de, the radio is not your friend on so many levels. visit their webstream selector at http://www.jamfm.de/cms/streams-playlist/stream-playlist/stream-playlist.html and you get a choice between MP3 or WMA streaming. Nothing exeptional, you’d think. But no. Instead of a pristine mms://, .asx or .pls all you get is a bloatware html/flash page with no apparent controls. Flash-Ads before playback. POPUPS! URGH! No me gusta. No gusta my iTunes, either.

Ok, let’s dig a bit deeper, maybe there is some way to get to the stream. Peeking inside the HTML of the page(s) http://213.200.64.229/freestream/download/jamfm/frameset_mp3.html and http://213.200.64.229/freestream/download/jamfm/frameset.html (mp3 and wma, respectively) we find a clue that the answer to the question at hand my lie somewhere close.

I’ll now proceed separately, first detailing the results for the mp3 stream and then for the WMA stream.

1) MP3

Ok, the http://213.200.64.229/freestream/download/jamfm/frameset_mp3.html wants us to go to http://213.200.64.229/freestream/download/jamfm/forwarder_mp3.html which redirects to http://213.200.64.229/sltokens/flashplayer/stream-mp3-player.php?stream=jamfm/livestream.mp3 which is a really small flash player. Much improvement, but still we’d need a flash-capable browser to listen to the stream (hello iPhone, waving at you). So, the flash applet does accesses this file: http://62.144.180.170:80/jamfm/livestream.mp3?token=e5d5816ce89fe048baa280725383bfb9. Not good. Not good at all. Dynamically generated token. When inserting this URI into VLC or iTunes, you get the stream, BUT. Once you stop the stream and then try to restart it, you get a password request for “Icecast2 Server on 62.144.180.170”. Same thing when opening the URI inside Firefox. So everytime you want to access the mp3 stream, you need to go to the flash player (and here to you’ll be asked a password sometimes, just reload it and it will work), get the MP3 file with token and insert it into itunes. Not really practical, as you may agree. There are two options here: 1) finding out the password asked or 2) writing a script that somehow gets a correct token from the flash player page and writes a pls with the correct mp3 or, even better, a script that relays the stream so that e.g. iTunes can accept the URL right away. Both options go beyond the scope of this article at the moment.

2) WMA

http://213.200.64.229/freestream/download/jamfm/frameset.html sends us to http://213.200.64.229/freestream/download/jamfm/forwarder.html like the mp3 does. This forwarder.html sends us to http://213.200.64.229/sltokens/stream-radio-player.php?stream=jamfm/livestream.wma. The Activity tabs of Safari does not help here, so off we go to firefox. Going to “Media” in the “Show page info” (get to url, you’ll hear the music start or a small controller (much like the mp3, at the end)) and we get this URL called by the stream-radio-player.php: http://lsd.newmedia.tiscali-business.com/bb/redirect.lsc?adid=0&stream=jamfm/livestream.wma&content=live&media=ms&token=e665919ce58c3422a2f953a4f18040fbs

Saving the redirect.lsc file and looking at it with a text editor, we get something which (result!!) yields the WMA stream. It is: mms://62.26.161.89/jamfm$livestream.wma?token=665919ce58c3422a2f953a4f18040fbs. Not better than mp3. Same caveats apply. Damn token. Inserting this URL into VLC only results in a 401 Access denied. Here too, there are only two options: break the password or get the token from somewhere and add it dynamically.

This is not over.

Update CURL http://213.200.64.229/sltokens/flashplayer/stream-mp3-player.php?stream=jamfm/livestream.mp3 and the token is in the javascript: var token = “xxx”;

Add the xxx to http://62.144.180.170:80/jamfm/livestream.mp3?token=xxx and you’re ready to go. I guess i’ll learn PHP tonight.

spammy spam all over the spam

In the last days there has been an influx of spam comments on this blog.

I’m quite curious about what the trigger was. Google says i’m not linked anywhere on the open internet but on my last.fm user page. While this may not be great in terms of public visibility, it is obviously not true, which means a lot of content on teh intertubes, more than i thought, is hidden from google. Other links exist, like one at my posterous.

spam
spam

Anyhow, i guess some botnet has launched a crawl of the web, looking for blogs and then spamming them.

Whatever the cause, the spam has a peculiar property. No payload (links) in 80% of the cases and indiscernible blabblings with not-interpreted html links thrown in in the rest of the bunch. I’m seeing this kind of stuff at the support email address at work too. What happened? Have the botnets gone mad? Was the payload corrupted? Did some spam summer-intern got the format wrong? Who will ever know what happens in the shady business of spammerworld…

I quite liked the experiment conducted by University of California and UCSD that shows that despite meager margins (0.00001% response rate for spam mails), a 1 million strong botnet could yield over 2m in revenue a year. If only the overall loss in productivity in the economy weren’t a few multiple times that amount, i would tip my hat to those pesky spammers.