Hi Scilor,
first of all I want to compliment you for your great downloader, good job!
Right now I'm trying to understand how the "token stuff" works. As I've seen from my browser, when I search for a song and play it, grooveshark calls this:
http://grooveshark.com/more.php?getStreamKeyFromSongIDEx and the request (right now) looks like this:
Code:
Referer: http://grooveshark.com/static/JSQueue_20131010145223.swf Content-type: application/json Content-length: 491
{
"header":{
"token":"de5f2ec526e94de7d7ce5ad4b619b2666503ebe82a247f",
"privacy":0,
"clientRevision":"20130520",
"uuid":"1180DE2B-6F23-453F-AB21-9AABED32D140",
"client":"jsqueue",
"session":"acf65cbf322946fffa25f1150f3ecc89",
"country":{
"CC3":0,
"ID":106,
"CC4":0,
"DMA":0,
"CC1":0,
"IPR":0,
"CC2":2199023255552
}
},
"method":"getStreamKeyFromSongIDEx",
"parameters":{
"mobile":false,
"type":0,
"country":{
"CC3":0,
"ID":106,
"CC4":0,
"DMA":0,
"CC1":0,
"IPR":0,
"CC2":2199023255552
},
"songID":23177087,
"prefetch":false
}
}
If possible, please answer to these questions:
1) How is the token generated? Where? In wich phase? I've seen this
http://www.scilor.com/grooveshark/xml/GrooveFix.xml and it seems that they (obviously) use a key in order to generate the token.
2) How did you get the static randomizer? Where is it placed?
3) Is CC2 a static field or a dynamic one?
Thank you and sorry for my worst english. Have a good day!
Darrel