Прямые ссылки в DLE

Прямые ссылки на сайтах с движком DataLife Engine (DLE)

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name Прямые ссылки в DLE
// @namespace    FIX
// @version      0.2
// @description  Прямые ссылки на сайтах с движком DataLife Engine (DLE)
// @match        *://*/*
// @grant        unsafeWindow
// @author       raletag
// @compatible   Opera 15+
// @compatible   Chrome
// ==/UserScript==

(function() {
    'use strict';
    var win = unsafeWindow || window, links = document.getElementsByTagName('a'), url64, url;

    function isBase64(str) {
        try {
            return !!str && !!win.atob(str);
        } catch (e) {
            return false;
        }
    }

    for (var i = 0; i < links.length; i++) {
        url64 = decodeURIComponent((links[i].href.match(/go\.php[?&]url=([^&]*)(&|$)/i)||
                                    links[i].href.match(/\/leech_out\.php\?.:(.+)$/i)||
                                    [])[1]);
        if (isBase64(url64)) {
            url = decodeURIComponent(escape(win.atob(url64)));
            console.log('Replace ' + links[i].href + ' to ' + url);
            links[i].href = url;
        }
    }

})();