Interesting. As gilesc points out, this is only possible by reverse-engineering (i.e. decompiling) the Flash client to get the encryption and decryption keys (crypt_key_input.h and crypt_key_output.h [1]). It's actually pretty easy to do this--I did the same thing a few years ago as a weekend project. So why didn't I release it? Well, IANAL, but I think there are potential legal repercussions to this kind of reverse-engineering.<p>And, as gilesc also points out, Pandora regularly changes their encryption keys, which makes maintaining this kind of software kind of obnoxious. (The solution to that problem, I think, is to make the software download and parse the .swf file on startup or just on failure to yank out those fresh encryption keys itself, but I never tried it.)<p>I just cringe a bit when I see these sorts of apps, not because I think they shouldn't exist (seriously, Pandora, just release a goddamn API), but because I'm just picturing the lawsuit hammer coming down on the well-intentioned developers who are just Pandora fans.<p>Regardless, I applaud PromyLOPh's work and am keeping my fingers crossed for his continued lack of legal fees.<p>[1]: <a href="https://github.com/PromyLOPh/pianobar/tree/master/src/libpiano" rel="nofollow">https://github.com/PromyLOPh/pianobar/tree/master/src/libpia...</a>
If you're running Linux and/or Gnome, I have two projects to plug:<p>Pithos is a Gtk client that uses the core libraries from Pianobar to provide a very nice GUI client for Pandora that fully integrates with the latest Gnome/Ubuntu desktop. <a href="http://kevinmehall.net/p/pithos/" rel="nofollow">http://kevinmehall.net/p/pithos/</a><p>The second is a set of scripts that I wrote that build on top of the Pianobar client itself to implement media keys and notify-osd support for Ubuntu, although it is incomplete because I myself have switched to using Pithos instead. <a href="https://github.com/jreese/pianobar-python" rel="nofollow">https://github.com/jreese/pianobar-python</a>
Should probably have linked directly to the github repo <a href="https://github.com/PromyLOPh/pianobar" rel="nofollow">https://github.com/PromyLOPh/pianobar</a>
I use it as well, and have been meaning to dig into the code to setup automatic login and playing. I think the stream that it accesses is completely advertising-free too. But I would gladly listen to the pandora ads on it since it runs with SO MUCH LESS memory and CPU than any other player.
I like and use it, but it's based on reverse-engineering Pandora's encryption keys, so every once in awhile (when Pandora changes the keys), it breaks the client, which is annoying.
I've used the pianobar client for a long time. (I'm on Linux and there's no official native client.) It breaks every so often and you have to wait a day or so for it to get fixed. A 'feature' of this unofficial client is that it doesn't play any of the ads on free Pandora accounts. So Pandora probably isn't very happy with that.
I love pianobar- I use it daily and love the fact that it uses very little emory especially compared to the Flash-based official clients.<p>I'm not sure what the official Pandora position regarding pianobar is, but I did hear from an employee that they have worked to disable it in the past.
In a similar vein, shell-fm[1] is a command line client for last.fm streaming. Supports remote control, too (IIRC it uses a socket whereas pianobar uses a named pipe).<p>[1]: <a href="http://nex.scrapping.cc/shell-fm/" rel="nofollow">http://nex.scrapping.cc/shell-fm/</a>