您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Прямые ссылки на сайтах с движком DataLife Engine (DLE)
当前为
- // ==UserScript==
- // @name DLE links decoder
- // @namespace lainscripts_dle_links_decoder
- // @version 0.8
- // @description Прямые ссылки на сайтах с движком DataLife Engine (DLE)
- // @author lainverse
- // @match *://*/*
- // @grant none
- // ==/UserScript==
- // Script based on a similar script by raletag:
- // https://greasyfork.org/en/scripts/22290-Прямые-ссылки-в-dle
- (function() {
- 'use strict';
- var impCodes = '%3B%2C%2F%3F%3A%40%26%3D%2B%24%23',
- impRegex = new RegExp((impCodes.replace(/%/g,'|%').replace('|','')), 'gi'),
- impDecoded = decodeURIComponent(impCodes),
- impReplacer = function(ch) {
- return impDecoded[impCodes.indexOf(ch.toUpperCase())/3];
- };
- function decodeImportant(text) {
- return text.replace(impRegex, impReplacer);
- }
- function clickHandler(e){
- var link = e.target, url = link.href, url64;
- if (!url) {
- while (!url && link !== this) {
- link = link.parentNode;
- url = link.href;
- }
- if (!url) {
- return true;
- }
- }
- url64 = (url.match(/([?&]url=|\/leech_out\.php\?.:)([^&]+)(&|$)/i)||[])[2];
- if (!url64) {
- return true;
- }
- try {
- url64 = decodeURIComponent(url64);
- url = window.atob(url64);
- } catch(ignore) {
- url = url64;
- }
- url = decodeImportant(url);
- console.log('Replaced ' + link.href + ' with ' + url);
- link.href = url;
- link.target = '_blank';
- return true;
- }
- document.addEventListener('click', clickHandler, false);
- document.addEventListener('contextmenu', clickHandler, false);
- })();