There are 3 previous versions of this script.
// ==UserScript==
// @name Megaporn Download
// @namespace download
// @include http://www.megaporn.com/video/?v=*
// @include http://www.megavideo.com/?v=*
// @author download
// ==/UserScript==
/*
Look at the bottom of the page for the download link.
*/
function decrypt(str,key1,key2)
{
var a=[],b=[];
for(i=0;i<str.length;i++)
{
v=parseInt(str.charAt(i),16).toString(2);
while(v.length<4) v="0"+v;
a.push(v);
}
a=a.join("").split("");
for(i=0;i<384;i++)
{
key1=(key1*11+77213)%81371;
key2=(key2*17+92717)%192811;
b[i]=(key1+key2)%128;
}
for(i=256;i>=0;i--)
{
var c=b[i];
var d=i%128;
var e=a[c];
a[c]=a[d];
a[d]=e;
}
for(i=0;i<128;i++)
{
a[i]=a[i]^b[i+256]&1;
}
var f=a.join("");
var b=[];
for(i=0;i<f.length;i+=4)
{
var _loc9=f.substr(i,4);
b.push(_loc9);
}
f=[];
for(i=0;i<b.length;i++)
{
f.push(parseInt(b[i],2).toString(16));
}
return f.join("");
}
var m=document.images[0];
m.parentNode.removeChild(m);
document.title="MP Vid";
var t=document.getElementsByTagName("script")[11].textContent;
var un=t.match(new RegExp("flashvars.un \= \"(.*?)\""))[1];
var k1=t.match(new RegExp("flashvars.k1 \= \"(.*?)\""))[1];
var k2=t.match(new RegExp("flashvars.k2 \= \"(.*?)\""))[1];
var s=t.match(new RegExp("flashvars.s \= \"(.*?)\""))[1];
var url="http://www"+s+".megaporn.com/files/"+decrypt(un,k1,k2)+"/";
var li=document.createElement("a");
li.setAttribute("href",url);
li.textContent="Download Video";
document.body.appendChild(li);
function dl_mpd(){window.location.href=url;}
GM_registerMenuCommand("Download Video",dl_mpd);