Closed ghost closed 12 years ago
I second that.
I have the latest package (2012-04-24) from the main site and I am still seeing the "Error: Protocol incompatible" message. Internet connection is good and no proxies or firewalls. Not sure if Pandora changed the protocol that quick or if I have a bad install (was working yesterday though).
~$ pianobar
Welcome to pianobar (2012.04.24)! Press ? for a list of commands.
(i) Control fifo at /home/jordan/.config/pianobar/ctl opened
(i) Login... Error: Protocol incompatible. Please upgrade libpiano.
Bastards! Why they be changing it!? Can't wait for you guys to figure out what changed. This little application happens to be what keeps me from beating the life out of one particular co-worker. Many thanks!!
also getting this error with the latest package (2012.04.24-dev). thanks!
Same issue today
Just tried installing the latest build to fix it but I'm also getting the error:
Welcome to pianobar (2012.04.24-dev)! Press ? for a list of commands.
(i) Login... Error: Protocol incompatible. Please upgrade libpiano.
Same issue here.
Not sure if this is at all relevant, but Pandora's official iOS client is still functioning without updates. So is the webOS client, whose source code is easily accessible, being written in Javascript and all.
Dear Lars-Dominik Braun & other contributors...
You Rock! I too am affected. I lack the skills to help. You have my FULL emotional support. Thanks for pianobar,
Brad Norman - Vero Beach, Florida
That would be the case...
When bumped version to 34, I am getting:
<?xml version="1.0" encoding="UTF-8"?>
1) Version 2012.04.24 does not work. I released it yesterday and a few hours after that Pandora changed the API. 2) Things don’t look very promising right now, as Pandora rolled out an updated 3rd party client protection. It’s similar to the one described in #214 (and the linked blog post), but they completely block pianobar and others now and they made it very difficult (if not impossible without a debugger) to obtain the client key via injected JavaScript. A few 3rd party client developers are idle’ing in #saver2 at irc.coldfront.net, so if you cracked the code make sure you stop by. 3) As Pandora won’t talk to me: Make use of their support email address and tell them what you think about this change. And please stay calm and be polite. Thanks.
@theSwordfish Can you send me (lars@6xq.net) the webOS source, please?
Just got the same problem. New-ish Developer here, but love this app! If there is something I can do to help, please point me in the right direction!
@PromyLOPh: It's on its way. :)
in case anyone is having trouble finding it, here is the link to contact Pandora: https://help.pandora.com/customer/portal/emails/new
Contacted them! If this is an attempt to get us to pay $39 for their app, that's sad but I suppose it makes business sense.
What would it take to get on as an official third party client? There are other official clients that do not show graphic ads and only support their audio ads.
Though many may not agree with me, I like pianobar because of it's low footprint, I have no problem supporting pandora by listening to ads and or upgrading to pandora one if I want uninterrupted music.
Just curious if you have explored this at all PromyLOPh?
I have, @dustmoo, and their response was “not interested”.
Well then, happy cracking, I am sure we can find a solution. :)
Coincidentally, I just got my annual Pandora One renewal notice. Good time to let them know which is my favorite way of listening :)
In asking to roll back the protocol change, this is the response from pandora:
"Thanks for writing. This is an unauthorized third-party application, and using it is a violation of our Terms of Use.
You can use Pandora for free at http://www.pandora.com If you have problems with that service, then please let me know.
Best, Jed Listener Advocate PANDORA® internet radio "
I wouldn't worry much about it. PromyLOPh has done a fine job on updating the source promptly after an update. It's a rare occasion when the protocol isn't working, and an even rarer occasion in which it isn't fixed after fetching the latest sources.
As for asking pandora to roll back the changes, I highly doubt they'd be interested. This client does not include adverts, and it includes a feature which allows users from outside the US to use pandora, which is breaking their ToS.
A thank you to PromyLOPh for your work on this application, it is greatly appreciated.
Similar response here:
Thanks for writing. This is an unauthorized third-party application, and using it is a violation of our Terms of Use.
You can use Pandora for free at http://www.pandora.com, and I would be happy to give you troubleshooting help with that if you like.
If you would like your subscription canceled in the end, just let me know.
Best, Jed Listener Advocate PANDORA® internet radio Need help? http://help.pandora.com
@theSwordfish Can you please post the WebOS code so that we all can see?
Email sent to Pandora specifically pointing out that there are plenty of us who refuse to use Adobe Air and prefer not to keep a web-browser open just for Pandora: And most importantly, are happy to pay for a ad-free account just to use a 3rd-party (ad-free) client. If I get something other than the canned response, will post it here.
@ladinu: Sure thing.
I suspect the relevant code is in app/core/api.js
, partly because of the name (duh) and also because the entire thing was obfuscated. I ran it through JSBeautifier and saved the deobfuscated version in the root directory under the name api deobfuscated.js
.
http://www.mediafire.com/?5zgrfm61u9e0l6u
Good luck!
Edit: I finally found time to look through the thing, and it's full of crypto code. Hopefully it'll be of some use.
I could only find one set of keys in those files. Beginning on Line 337 in 'api deobfuscated.js'.
However, that function seems to generate keys on the fly give an app 'key' (i.e. password). These 'keys' are found on lines 860-863. Looks like only AppConstants.r and AppConstants.s are used for the keys. Looks like 'r' is the XMLRPC and 's' is for the song urls? (I'd have to dig a bit further here).
The other constants there are the 3rd party partner username/password. :D
I wrote a small python script that extracts the base key into a C array (this is before I figured out how the other keys are generated). You could extend that and reimplement the 'createFromKey' function to generate the other two keys. Not familiar enough with the rest of the API to determine if that's all that is needed.
Maybe .r is for XMLRPC interface and .s is for JSON interface?
Just a side note... I had been paying for their service and because of this, I'm no longer a paying customer and absolutely support cracking their crap in any way possible. :) I'll be of no help to any of you, though. :(
@MTecknology That's the spirit! :D
@theSwordfish Thanks for posting!
No problem!
Silly question: Have you considered embedding one of the javascript engines that have DOM support? While it would introduce a lot of complexity, it could easily solve the problem of pandora doing ridiculously complex things on the web page. Plus, you could write the key extraction in javascript to avoid recompilation.
I actually pay for Pandora service and have contacted them before about protocol changes. All they said to me was that my client wasn't supported and they couldn't help me. What a lousy attitude. Its not like I'm paying for their crappy software, I'm paying for the license for their music. Their web client may look pretty, but its a POS.
I just sent an e-mail to Pandora asking them to forward it to upper management, basically just asking them to try to cooperate better with the Pandora community by communicating protocol changes in advance. I'll let you know if anything comes of it. I'm skeptical though.
Pandora is really getting on my nerves. I am a paying P1 customer (for years), but as others stated, hate using their crappy web app. My P1 subscription is actually up for renewal soon - not sure if I am going to sign on for another year. Also, I am a share holder, and it may be time to dump the stock. On a different note, although I haven't touched C since College - going to dig in to try to help out.
Actually saver2 already have a hotfix, however they do not release source code, as it seems.
Temporary fix at https://gist.github.com/2500616
Great News!!!
PromyLOPh - You are the man! I am back up and running. Cheers - Brad
just in case anyone is having trouble, download the source and extract, then from the new Promy* directory:
wget https://raw.github.com/gist/2500616/bf2fc7c339791be9dce8ebf0ecca3f6647c9e3f2/gistfile1 -O patch.diff git apply patch.diff make clean && make sudo make install
Okay...I tried, but am I missing something. I keep getting this error returned. I am in the promy* folder and the patch applied, but when I try to make, this is what I receive.
CC src/main.c
make: c99: Command not found make: *\ [src/main.o] Error 127
Thanks @PromyLOPh, my pc isn't a total pos now. I love being almost flash free.
Thanks @wizzahd, that'll save me the manual merge next time. I knew there was an easier way.
On my windows cygwin build I have to specify the following make options, where the -L /usr/local/lib is wherever you have your libraries installed. I get the same error if I just do "make"
make CC=CC CFLAGS="-std=gnu99 -L /usr/local/lib"
excellent, worked very well!!! thank you PromyLOPh and everyone who helped!
ps: on mac of course you will have to use:
make clean && make CFLAGS="-O2 -DNDEBUG -W64"
Patch works. Thanks!
Any slackers get the patch working?
Patch works great for me! Thanks!
Patch working here. Mac OSX Lion.
Patch works perfect - thanks !!
Just got an
Error: Protocol incompatible. Please upgrade libpiano
. I've got a functioning internet connection, and I'm not behind a proxy or anything, so it looks like Pandora changed the protocol on us again…