There are 2 previous versions of this script.
// ==UserScript==
// @name liveleak.com video download link
// @namespace http://www.digivill.net/~joykillr
// @description Adds a download link to liveleak.com so videos can be downloaded.
// @include http://liveleak.com/view*
// @include http://*.liveleak.com/view*
// @include http://*.liveleak.com/player.swf?*
// @include http://liveleak.com/player.swf?*
// ==/UserScript==
//
//v 4.7rls
var tID, dat, v1, gcc = 0, ck = new Array("9","b","c","d","1","7","g","h","4","j","5","l","3",".","o","ww","p","2","6","s","t","u","8","w","x","y","z","a","f","e","m","v","r","q","i","n","k","/","?","=",":");
function getURL(tokenURL) {
gcc=gcc+1;
GM_xmlhttpRequest({
method:"GET",
url:tokenURL,
headers:{
"User-Agent":"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.6",
"Accept":"text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5",
},
onload:function(details) {
var URLstring = new String(details.responseText);
URLstring = cleanURLstr(URLstring,gcc);
if (URLstring) {
addBox(URLstring);
}
}
});
}
function addBox(strR) {
var URLDLbox = document.createElement("div");
URLDLbox.setAttribute("style", "display: block !important;");
URLDLbox.innerHTML = '<table style="width:auto; margin-left: auto; margin-right:auto;"><tbody style="background-color:inherit!important;">' +
'<tr style="background-color:inherit!important;">' +
'<td style="text-align:center;background-color:inherit!important;">' +
'<a href="' + strR + '" style="font-size:108%; line-height:108%; color: #ffffff; background-color: #570000; border: 2px solid #9b0000; margin-left: auto; margin-right:auto; text-align:center; font-weight:bold;">Click Here To Download Video</a>' +
'<br /></td></tr></tbody></table><br />';
if (window.content.location.href.search("player.swf")==-1) {
var nElem = document.getElementsByTagName("div");
for (var nn = 0; nn < nElem.length; nn++) {
if ((nElem[nn].title.search("player.swf"))||(nElem[nn].getAttribute("dataattribute").search("player.swf"))) {
if (document.getElementById("advanced_search")&&document.getElementById("bo")) {
document.getElementById("bo").insertBefore(URLDLbox,document.getElementById("advanced_search"));
} else if (document.getElementById("sn")) {
document.getElementById("sn").appendChild(URLDLbox);
} else if (document.getElementById("vid")) {
document.getElementById("vid").appendChild(URLDLbox);
} else {
nElem[nn].appendChild(URLDLbox);
//document.getElementById("bo").insertBefore(URLDLbox,document.getElementById("bo").lastChild);
}
}
}} else {
if (document.getElementById("vid")) {document.getElementById("vid").appendChild(URLDLbox);} else {document.body.insertBefore(URLDLbox,document.body.firstChild);}
}
}
function processVars(tID) {
var go2 = 0;
tID = tID.getAttribute("value");
if (tID.indexOf("token\=")!=-1) {
tID = tID.split('token\=')[1].split('\"'||'\"')[0];
go2 = 1;
} else if (tID.indexOf('name="movie"')!=-1) {
tID = tID.split('name="movie"')[1].split('\/param')[0];
tID = tID.split('value\="')[1].split('\"')[0];
tID = tID.split("\/");
tIDx = tID.length;
tID = tID[tIDx-1];
go2 = 1;
}
if (go2>=1) {
var token = tStr + tID;
return token;
}
}
function parseL(j2) {
j2=j2.split("i=")[1].split("&")[0];
return j2;
}
function cleanURLstr(jj22,gcc) {
if (gcc>=4) {
return "";
} else if (jj22.indexOf("location")!=-1) {
jj22 = jj22.split("\<location\>")[1].split("\<\/location\>")[0];
jj22 = jj22.replace("\n","").replace("\ ","").replace("\<WBR\/\>","");
jj22 = jj22.split("&ri=")[0];
return jj22;
} else if (document.getElementById("vid")) {
var vscr = document.getElementById("vid").getElementsByTagName("script");
for (vsx=0;vsx<vscr;vsx++) {
if (vscr[vsx].textContent.match(/new\ SWFObject/mi)) {
//vscr[vsx].textContent.split("addVariable('config','")[1].split("');")[0];
getURL(unescape(vscr[vsx].textContent.split("addVariable('config','")[1].split("');")[0]));
break;
}
}
} else {return "";}
}
function run(){
var tStr = ck[5+2+2-3+1]+ck[20]+ck[30-25+18-3]+ck[10+7-2+1]+ck[20+22-12+6+4]+ck[33+5-1]+ck[20+20-3]+ck[27-2-3+1]+ck[15+15-7-8]+ck[9+4]+ck[16-3+0-2]+ck[33+8-5-2]+ck[30+1]+ck[30-1]+ck[11]+ck[1+2-1+27]+ck[27]+ck[27+3+3+4-1]+ck[5+5+5-2]+ck[5-2+3-4]+ck[15-1]+ck[15+15]+ck[33+4]+ck[16]+ck[10+5-4]+ck[33-5-1]+ck[20+5]+ck[6+5]+ck[30+4]+ck[17+2]+ck[10+10]+ck[6+5+3-1]+ck[6+3+5+2]+ck[5+2]+ck[10+5+5-6+2]+ck[10+40-16+4]+ck[12+2+5+2-1]+ck[10+5-1]+ck[33+5-2]+ck[27+2]+ck[33+5-3]+ck[33+10-5+1], dat, v1 = "";
var wclh = window.content.location.href.toString();
if ((wclh.search("player.swf")!=-1)&&(wclh.search("token")!=-1)) {
var tID1 = wclh.href.split('token\=')[1].split('\&')[0];
var dat = tStr + tID1;
} else {
if (document.body.getElementsByTagName("param")[0]) {
v1 = document.body.getElementsByTagName("param")[0];
dat = processVars(v1);
} else if (document.body.getElementsByTagName("input")){
var tID = document.body.getElementsByTagName("input");
for (var yy=0;yy<tID.length;yy++){
if (tID[yy].name.match(/media_embed_code/i)) {
v1 = tID[yy];
dat = processVars(v1);
}
}
}
}
if ((dat=="")||(dat==null)&&(wclh.search("i=")!=-1)) {
dat = tStr + parseL(wclh);
}
if (dat!=""&&dat!=null) {
getURL(dat);
}
}
run();