Redirect remover

Bypass redirected links.

Versión del día 05/04/2015. Echa un vistazo a la versión más reciente.

// ==UserScript==
// @name         Redirect remover
// @version      1.5
// @description  Bypass redirected links.
// @namespace    idmresettrial
// @author       idmresettrial
// @run-at       document-end
// @require      http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js
// @grant        none

// Website list

// @include      http://vozforums.com/*
// @include      http://sinhvienit.net/*
// @include      http://forum.vietdesigner.net/threads/*
// @include      http://adf.ly/*
// @include      http://phienbanmoi.com/*
// @include      http://acer-a500.ru/*
// @include      /^https*:\/\/www.fshare.vn.+/

// @include       /^https*:\/\/.+\/.*booking.+london/

// End list


// ==/UserScript==

this.$ = this.jQuery = jQuery.noConflict(true);

// Do not run on frames or iframes
if (window.top !== window.self) {
    return;
}

site = window.location.hostname;

switch (site)
{
    case "vozforums.com":
    case "sinhvienit.net":
    case "phienbanmoi.com":
    case "forum.vietdesigner.net":
        {
            atag = document.getElementsByTagName("a");

            for (i=0;i<atag.length;i++)
            {
                url = unescape(atag[i].href);
                if (site === "forum.vietdesigner.net") url = unescape(url);
                
                redirect = /[?=]http/i;
                if (redirect.test(url)) {
                    atag[i].href = url.replace(/http\S+[?=]http/i,"http");
                }
            }
            break;
        }
    case "adf.ly":
        {

            url = decode_adly();
            if (url.length>0)
            {
                window.onbeforeunload = null;
                window.onunload = null;
                gogogo(url);
            }
            break;
        }
    case "acer-a500.ru":
        {
            atag = document.getElementsByTagName("a");

            for (i=0;i<atag.length;i++)
            {
                url = unescape(atag[i].href);
                redirect = "http://acer-a500.ru/engine/redir/index/leech_out.php?a:";
                if (url.indexOf(redirect) === 0) {
                    atag[i].href = window.atob(url.substring(redirect.length,url.length));
                }
            }
            break;
        }
    case "www.fshare.vn":
        {
            csrf = $('input[name="fs_csrf"]');
            if (csrf.length) {
                csrf = csrf.attr('value');
                data = {speed: 'slow', fs_csrf: csrf};
                $.post('/download/index', data).success(function(data){
                    $('<button class="btn-red free-btn download_btn" style="margin-bottom: 15px; display:none;" id="rrdownload"><div>Tải ngay (Redirect remover)</div></button>').insertBefore('button.download_btn');
                    $('#rrdownload').fadeIn();
                    $('#rrdownload').click(function() {window.location.replace(data.url);});
                });
            }
            break;
        }

    default:
        {
            if ( (/^https*:\/\/.+\/.*booking.+london/).test(window.location.href) ) {
                selector = {"baomoitoday.com":'div[align="center"][style="padding:5px"] a', "default":"center a"};
                if (typeof selector[site] === "undefined") site = "default";
                url = $(selector[site]).attr('href');
                if (typeof(url) !== 'undefined') gogogo(url);
            }
            break;
        }


}

function decode_adly()
{
    url="";
    if (window.ysmm)
    {
        ysmm = window.ysmm;
        url0 = ""; url1 = "";
        for (i=0;i<ysmm.length;i++)
        {
            if (i%2===0)
            {
                url0 +=ysmm.charAt(i);
                url1 +=ysmm.charAt(ysmm.length-1-i);
            }
        }
        url = window.atob(url0 + url1);
        url = url.substring(2,url.length);
    }
    return url;
}

function gogogo(url) {
    $('body').html('<h1>Đang chuyển hướng đến trang gốc...</h1>');
    window.location.replace(url);
}