Pandora, How I Love Thee

Ah, glad to have Pandora’s Jar working again. Some of you will probably be wondering what exactly I am talking about especially considering the Jar’s rather ominous history. A jar having released all of the evils of mankind except for hope is certainly not something that most people would feel easy with me having working again. Fear not, however, for this is a different jar by the same name.

Pandora’s Jar is actually a patchwork of technology used to
rip
“Timeshift” music from the US available only Pandora music player based on the music genome project. Pandora itself is a very interesting service in that it dissects songs in far more detail than simple genre and goes on to describe all of the musical qualities of each individual song. Users then log into the service and indicate what songs they know they like (and dislike) and Pandora checks all of those qualities against every other song in its database and begins playing more similar music by different bands that you may also enjoy based on your selection. The service is fairly intuitive and works very well for introducing obscure, but very good new bands to your music library.

The installation process for the all-mighty jar if you are not a US citizen (even if you are) is daunting at best, but I’ve got it up and running and I wanted to outline the general steps required in one place for anyone else trying to get it going.

1) Download and install firefox version 2.0.0.9. You can have it run alongside 3.0 so just make sure you install it in a DIFFERENT directory. Let’s do “C:\Program Files\Mozilla Firefox2\”
2) In windows go to start->run and paste this in there and make sure firefox is closed before you click ok: “C:\Program Files\Mozilla Firefox2\firefox.exe” -profilemanager
3) Create a new profile call it firefox2
4) Open firefox with that profile selected. Now all changes we make will affect only this profile and we can re-open firefox 3 with your old profile without any problems.
5) Get the FoxyProxy Extension for firefox 2.
6) Get the GreaseMonkey Extension
7) Get the Flash Switcher Extension (you will need to open that .xpi file with firefox 2)
8) Install pandorajar.user.js into GreaseMonkey
9) Use Flash Switcher to swap for version 8.0 of flash
10) Download TOR (just get the Windows stable release)
11) Install TOR, de-select the torbutton, but install all other components.
12) Open the torrc file (in your start menu if you installed with default options it will be start->programs->Vidalia Bundle->Tor->torrc or you can just browse to the file) and add this to the end of it to ensure only US hosts (note, feel free to add your own if you know of any exit nodes that are US, you can see them in the TOR viewer if you look for them):
StrictExitNodes 1
ExitNodes nixnix,moria1,moria2,inap1,torxmission,augrime,err,sasquatch,
foundry,peertechdata,whistlersmother,BostonUCompSci,lefkada,agrippator,
moria5,bettyboop,MrRelay,A1D7DB57EFA57ACA20,Butterfly,myrnaloy,
jalopy,cjb,torftw,ArikaYumemiya,redpin,eapple,stugsDOTcom,MasterMindZ,
random,AscendedDaniel,Trusno1,mushin,Unnamed,Insytez,pickaproxy,
illuminata,anduin,NOYB,vwglobaltoadcom,codemonkeysorg,
hyperfocusedTOR,WeAreAHedge
13) Open up Tools->FoxyProxy->options within firefox and hit “Add New Proxy”
14) Set the proxy name to Tor in the General Tab
15) In Proxy Details select Manual Proxy Configuration, set host name to localhost and port to 9050, check SOCKS proxy and choose v5
16) In the Patterns tab add these patterns:
Pattern Name: Pandora1 URL pattern: *pandora.com/ Whitelist Wildcards
Pattern Name: Pandora2 URL pattern: http://www.pandora.com/radio/xmlrpc* Whitelist Wildcards
Pattern Name: Pandora3 URL pattern: *pandora.com/?cmd=mini Whitelist Wildcards
17) hit ok and set the Mode to Use proxies based on their pre-defined patterns and properties
18) Download and extract Pandora’s Jar if that link does not work get the latest version from the hak5 forums
19) Ensure you have the latest version of java
20) Within your pandora’s jar folder create an mp3 folder if one does not already exist (this is the default folder for mp3’s to be saved in but it is not included in the zip so will need to be created.)
21) Run Vidalia (TOR)
22) Run pandora.bat and if your browser does not open up in firefox 2.0.0.9 then open firefox up and navigate to http://localhost:8085/ after the java applet is running (note sometimes it won’t work because your java applet hasn’t started yet so just refresh the browser in that case. Other times tor might be routed wrong through Sweden or France or something in which case you should choose Use a New Identity within TOR or restart it if you are not viewing it within the vidalia interface)
23) Within the Pandora’s Jar web interface set songs before reload to something like 40 so that it only reloads as much as it has to (there is a chance on every reload that the flash won’t load through the proxy right). Set cruise control to on and cddb lookup to off (it won’t work through a proxy because the slow download misnames the files, I’ll go into that step next.)
24) Remember way at the beginning we set up that profile for our firefox2 pandora changes? Well, we don’t want firefox 2 as our default browser, so let us create a firefox 2 link that we can simply open up and use with that profile. Right click within your Pandora’s Jar folder and choose New->Shortcut
25) Enter this as the shortcut address “C:\Program Files\Mozilla Firefox2\firefox.exe” -P firefox2 -no-remote
26) Now in windows open Start->Run and enter “C:\Program Files\Mozilla Firefox\firefox.exe” -profilemanager
27) Select your default profile and open firefox, this should open up firefox 3 with your old settings.
28) Wherever you have a firefox shortcut OTHER than within the pandora’s jar folder change the path from “C:\Program Files\Mozilla Firefox2\” to “C:\Program Files\Mozilla Firefox\” and voila, we’re in buisness.

Great, so with only 29 steps we’ve got Pandora’s Jar up and running. Oh, and this is assuming you already have an account with pandora, if you do not, go to pandora.com and sign up…

But we are not done yet because chances are if you’re running through a proxy then Pandora’s Jar won’t be downloading the files with the right names. The way it works on my computer is that the first song file is a garbage file completely empty, the second file contains the first song, but is named as the second song. The third file contains the second song but is named as the third song and so on.

So at any given moment it is playing a song that it thinks it has just saved, but it has really saved the song previous to the one you are listening to. This kind of sucks because it forces you to rename each song individually after it is downloaded, however we can get around this with the next steps:

29) Download the Pandora Renamer application I wrote
30) Download ID3 TagIT
31) Once you’ve finished downloading a batch of songs to your pandora’s jar mp3 folder and have closed firefox move the Pandora Renamer to that folder and run the program.
32) Run ID3 TagIT and navigate to the folder you just ran Pandora Renamer in.
33) Select all the mp3s and then choose ‘ID3-Functions’ and then ‘Tag Ver. 2 -> filename’
34) For the format field enter ‘<A> - <T>’ and ensure you have Rebuild filename from original filename checked.
35) Hit ok and then all your files are properly named, then hit save changes.
36) Move your songs elsewhere and delete them from the Pandora’s Jar mp3 folder.

And grats, we’re done!

As you can see, just a couple super simple steps and you too can rip music from Pandora!

Only 10 seperate downloads:
FoxyProxy
GreaseMonkey
FlashSwitcher
FireFox
TOR
Java
ID3 TagIT
GreaseMonkey Pandora Script
Pandora’s Jar
Pandora Renamer

(3 of those listed above being completely seperate app/script packages for pandora’s jar specifically including one I had to write personally) and precise rolled-back version numbers for several of those apps as well as very specific configuration for most of them and we are set!

Simple as pie. If this was helpful to you and worked send a couple bucks my way. I think that this could definitly save someone a few hours of effort and I want to go grab a slurpee and I have no change on me.





7 Responses to “Pandora, How I Love Thee”

  1. Eric Says:

    Great! Only thing is Pandora Renamer isn’t working for me. I get an error message saying application configuration is incorrect. Otherwise awesome.

  2. Mike Says:

    I’ve re-packaged the pandora renamer try re-downloading it.

  3. admin Says:

    Important to note, the pandora renamer now should be run along-side pandoras jar. It will rename songs as they are saved.

  4. snoring aid Says:

    I am student i live in hostel and I awake whole night from my friend snoring very loudly.
    Give me some suggestion for my friend.
    Thanks

  5. how to stop snoring Says:

    Thanks for such an informative post about how to stop snoring. I need this information because my moms is suffering from the same snoring problem.
    please guide me.

  6. Keifru Says:

    I may be on a Mac, but I still appreciate this. It is incredible, and I have never heard of Pandora or the Music Genome Project before. Thank you.

  7. admin Says:

    I’ve recently moved to using grooveshark (google it), and though the matching process seems to be more of a social networking model (which I think is inherently weaker than the genome project as it is based on popularity rather than merit) the ability to play any song any time and to create custom playlists is a very strong bonus, however.

    What prompted this move was that pandora streaming quality dropped to 64 kbps from 128, it is using a new streaming format which means you don’t detect this difference in quality provided you don’t convert it to a 64kbps mp3, but Pandora’s jar always converts to mp3 so you end up with low quality rips. This method should still work, but there are better ripping alternatives for pandora’s jar if you live in the US (I don’t know of any living in a different country though) and if you live in a different country you should probably just use grooveshark and some kind of stream ripper.

Leave a Reply