There are 10 previous versions of this script.
scr_meta=<><![CDATA[
// ==UserScript==
// @name Direct Links (Throw away redirection)
// @namespace http://userscripts.org/users/23652
// @description Rewrites redirection links to the direct links
// @include http://*
// @include https://*
// @include file://*
// @copyright JoeSimmons
// @version 1.0.5
// @license Creative Commons Attribution-Noncommercial 3.0 United States License
// ==/UserScript==
]]></>.toString();
var is_indirect = /^.+:\/\/.+\?.*=.*https?(:|%3A)(\/\/|%2F%2F)([\w-]+\.)?([\w-]+\.)+[\w-]+(\/|%2F)[^&]*/,
url_exp = /(?!^.)https?(:|%3A)(\/\/|%2F%2F)([\w-]+\.)?([\w-]+\.)+[\w-]+(\/|%2F)[^&]*/i,
encoded=/^.+\?.*=https?%3A%2F%2F/i,
str8_link = /^[?&]\w+=(.*)/;
function pageChanged(e) {
var links=document.evaluate(".//a[contains(@href,'?') and contains(@href,'=')]",(e||document.body),null,6,null);
for(var i=0,l; (l=links.snapshotItem(i)); i++) {
if(is_indirect.test(l.href)) {
if(encoded.test(l.href)) l.href=unescape(l.href);
l.href = l.href.match(url_exp)[0].replace(/%25/g, '%');
}
}
}
pageChanged();
document.body.addEventListener("DOMNodeInserted", function(e) {
pageChanged(e.currentTarget.parentNode.parentNode);
}, false);
// UPDATE by sizzlemctwizzle
aaus_38017={
i:'40246', // Script id on Userscripts.org
d:2, // Days to wait between update checks
n:/\/\/\s*@name\s+(.*)\s*\n/i.exec(scr_meta)[1],v:/\/\/\s*@version\s+(.*)\s*\n/i.exec(scr_meta)[1].replace(/\./g, ''),t:new Date().getTime()|0,ca:function(r){GM_xmlhttpRequest({method:'GET',url:'https://userscripts.org/scripts/source/'+this.i+'.meta.js',onload:function(x){aaus_38017.co(x,r)}})},co:function(x,r){this.xv=/\/\/\s*@version\s+(.*)\s*\n/i.exec(x.responseText);this.xn=/\/\/\s*@name\s+(.*)\s*\n/i.exec(x.responseText);if(this.xv&&this.xn[1]==this.n){this.xv=this.xv[1].replace(/\./g, '');this.xn=this.xn[1];}else{if(x.responseText.match("the page you requested doesn't exist")||this.xn[1]!=this.n)GM_setValue('updated', 'off');return false;}if(this.xv>this.v&&confirm('A new version of the '+this.xn+' user script is available. Do you want to update?')){GM_setValue('updated',this.t);GM_openInTab('http://userscripts.org/scripts/source/'+this.i+'.user.js')}else if(this.xv&&this.xv>this.v){if(confirm('Do you want to turn off auto updating for this script?')){GM_setValue('updated','off');GM_registerMenuCommand("Auto Update "+this.n,function(){GM_setValue('updated',new Date().getTime()|0);aaus_38017.ca(true)});alert('Automatic updates can be re-enabled for this script from the User Script Commands submenu.')}else{GM_setValue('updated',this.t)}}else{if(r)alert('No updates available for '+this.n);GM_setValue('updated',this.t)}},ch:function(){if(GM_getValue('updated',0)==0)GM_setValue('updated',this.t);if(GM_getValue('updated',0)!='off'&&+this.t>+GM_getValue('updated',0)+86400000*this.d){this.ca()}else if(GM_getValue('updated',0)=='off'){GM_registerMenuCommand("Enable "+this.n+" updates",function(){GM_setValue('updated',new Date().getTime()|0);aaus_38017.ca(true)})}else{GM_registerMenuCommand("Check "+this.n+" for updates",function(){GM_setValue('updated',new Date().getTime()|0);aaus_38017.ca(true)})}}};aaus_38017.ch();