Settings

Theme

Pianobar command-line Pandora client

blog.expandrive.com

27 points by nirmal 15 years ago · 20 comments

Reader

swirlee 15 years ago

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.

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.)

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.

Regardless, I applaud PromyLOPh's work and am keeping my fingers crossed for his continued lack of legal fees.

[1]: https://github.com/PromyLOPh/pianobar/tree/master/src/libpia...

nuclear_eclipse 15 years ago

If you're running Linux and/or Gnome, I have two projects to plug:

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. http://kevinmehall.net/p/pithos/

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. https://github.com/jreese/pianobar-python

nirmalOP 15 years ago

Should probably have linked directly to the github repo https://github.com/PromyLOPh/pianobar

mickdarling 15 years ago

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.

  • btucker 15 years ago

    Make a config file: ~/.config/pianobar/config that looks like this: user = me@example.com password = mypassword

  • naner 15 years ago

    I think the stream that it accesses is completely advertising-free too.

    I don't think it has to do with the stream. When an ad comes up it just fetches a new playlist.

siong1987 15 years ago

If you have homebrew installed, just simply "brew install pianobar".

gilesc 15 years ago

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.

naner 15 years ago

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.

dcreemer 15 years ago

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.

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.

mhd 15 years ago

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).

[1]: http://nex.scrapping.cc/shell-fm/

carterschonwald 15 years ago

its worth mentioning that mac homebrew already has a formula for installing this, and it builds and runs without a hitch.

  • snprbob86 15 years ago

    Forgive the totally off-topic thread, but is Homebrew generally considered mature/stable?

    I remember reading about it a year or so ago and being slightly skeeved out by the chmod and chown voodoo you had to do to install it. Skimming over the Homebrew install script seems like it does a lot of similar stuff, which seems strange for a package manager that claims isolated installation of packages in user-land.

    And is it intended to completely replace MacPorts, or do they place nice together?

SageRaven 15 years ago

Damn, I love this site! It's even in FreeBSD's ports -- how awesome is that? Kudos to the developer!

talleyrand 15 years ago

Love pianobar! Use it daily.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection