Jump to content

Pandora Hack


Recommended Posts

All, I've created a working version of the timeshifter in c++. This is enhanced, as it grabs the album name from yahoo, and saves all the music like this:


I don't have any place to host it, so if you want it, PM me or post here and I'll get it to you. Also, if you guys want the source, you can have it. I was thinking maybe do something with ID3 tags next...just a thought

Link to comment
Share on other sites

Hi everyone. I am the creator of the pandora java app you have all been using. It came to my knowledge shortly after it "broke" that pandora changed the way they display the artist and title information.

This lead to my app not working, as many of you experienced. However do not fret, i have created an updated version.... infact, the version you have all been using is rather quite BETA....

The new version is 1.1... it also does ID3 tagging.

Unfortunately it is not hosted anywhere. If someone is able to host it, let me know..

Link to comment
Share on other sites

beta release - java 1.5 implemtation


saves mp3s artist/album/song

displays artist bio via http://www.last.fm lookup

ID3 tagging via http://www.cddb.com lookup


java source included -- string parsing is a little ugly -- any regx wizards out there?

known bugs:

  • first song does not alway capture right

only works on windows / firefox

I will correct bugs in future releases.....

enjoy and happy ripping....

Link to comment
Share on other sites

ID3 tagging via http://www.cddb.com lookup

You should start with a freedb.org lookup, and fall back onto cddb when that fails. CDDB is commercial (gracenote.com) and I believe they impose a fee for some features though I'm not sure which. FreeDB was the open alternative to it, created when CDDB went commercial

java source included -- string parsing is a little ugly -- any regx wizards out there?

I'll take a look :)

only works on windows / firefox

Probably due to the grabbing of the title bar text or something, yes?

Link to comment
Share on other sites

I'm looking over the code (please, people, pity the fool that tries to understand your code. COMMENT your methods!) and I rather like the approach you've taken with this program.

Rather than externally grabbing the title bar text, you're running the Pandora applet from your own HTML page, and use javascript to grab the needed data from the page and submit it to the HTTP server which is the other part of this program. Very clean.

I must say though that I don't like the concept of running a stripped webserver for this. Even if you're restricting the connections to it to localhost (and what happens when I put '[your IP] localhost' in my hosts file??), you're not even testing to see if someone's requesting files from a different directory entirely. Think GET ../../../../../../../../Windows/path/to/password.sam

Some smaller issues:

- When you test to see if a directory already exists (artist and album), you don't check to see if it is in fact a directory.

- saveMp3 method gets passed artist, songInfo and title, but artist and title are already stored inside songInfo, so you shouldn't pass artist and title separately.

- Why do you URLEncode things like Artist and Album to UTF-8 strings when they are already UTF-8 strings? Isn't Java's String type UTF-8 natively? And even if it's not, why are you worried about this? That's the File object's responsibility.

- That replacing stuff you're doing to the strings, which you're already saying isn't particularly nice, should in part be done to the data before it even enters the SongInfo object. Stuff like '/?' have no place in a album title last I checked. Translating things like ! and slashes on the other hand should clearly be done when creating the directory, because you're then transforming a string to a directory name, and the string may contain characters that you aren't allowed to use in a directory name. I'd suggest that you make a conversion utility class for this.

- Your server is doing 3 things: being an HTTP server, id3v2 tagging an MP3 file, and the whole Pandora logic. You should split this up into 3 separate classes.

Link to comment
Share on other sites

very interesting approach to create a server and connect to localhost.. then use javascript to get the title and artist... very interseting indeed.. and it WORKS nicely, too. i like it a lot.

very cool... now it just needs to attach album art to the mp3 :)

only complaint: i dont like how it puts the music into subfolders by artist and album..that is only useful when you actually have entire albums.. but with pandora, you'll rarely get more than a couple songs from the same artist and same album unless you run it for a very long time.

Link to comment
Share on other sites

I got this error:

"unable to find file make sure you have Pandora running in a FIRFOX browser"

Hmm, same as all other pandora-programs, they all use the plugtmp-dir, wich I do not have... somehow.. I use Firefox (and tested with previous versions), cleaned my cache often... nothing works...

Link to comment
Share on other sites


Thanks for the comments, all very good suggestions.

String handling is def out of control / nice point on the potencial security risk.....

I put this together as a sort of prototype, kinda puked it out of myself, not spending a whole lotta time refactoring and bullet proofing.

Much props bro - u know your stuff.

I plan to gather some more feedback and releasing a new version - hopefully a cleaner/safer implementation.



What OS are you running?


I like the way u think :D -- If it's at all possible I will get it in the next realease.

Link to comment
Share on other sites

check it out folks, i finally have the original pandora-timeshifting app that started it all hosted. it is now called PandoraSploit, and it is now version 1.1

mind you, there's no pretty GUI, but it works pretty solid..

i've included the source so it is now officially in the open source community. i welcome you all to critique , change, add, etc on my code... have fun!!!!


Link to comment
Share on other sites

Hey Cooper, aren't you going to critique my code too? or is it just that bad :P

You're not gonna like the "while (true)" ahhaa.

But like I said ,this was just a weekend project to see if i could do it. and hey it works pretty damn well.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...