SFRedirector

By fzerorubigd Last update Aug 18, 2010 — Installed 1,664 times.

There are 4 previous versions of this script.

// ==UserScript==
// @name           SFRedirector
// @namespace      http://cyberrabbits.net
// @description    Redirect sourceforge download page
// @include        http://sourceforge.net/projects/*/download*
// @include        http://www.sourceforge.net/projects/*/download*
// @version        0.3
// ==/UserScript==

function getElementsByClassName(oElm, strTagName, strClassName){
	var arrElements = (strTagName == "*" && document.all)? document.all : oElm.getElementsByTagName(strTagName);
	//var arrReturnElements = new Array();
	strClassName = strClassName.replace(/\-/g, "\\-");
	var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	var oElement;
	for(var i=0; i<arrElements.length; i++){
		oElement = arrElements[i];
	    if(oRegExp.test(oElement.className)){
			return(oElement);
	    }
	}
}

(function () {
	var links=getElementsByClassName(document,'a','direct-download');
	var miror=links.href;
	var tmp=miror.match(/mirror=[A-Za-z0-9]*/i)[0];
	var m=tmp.replace(/mirror=/,"");
//	var base=miror.match(/[^&]*/i);
//	var diff=miror.match(/[^=]*/i);
//	var m=miror.substr(diff[0].length+1,base[0].length-diff[0].length-1);
	var pos=location.href;
	pos=pos.replace(/sourceforge.net\/projects/i,m+".dl.sf.net/project")
		.replace(/\/files\//i,"/")
		.replace(/\/download[?a-zA-Z0-9\/_=]*/i,"");
	location.replace(pos);
})();