Greasy Fork is available in English.

磁力链接百度网盘补完

磁力链接、百度网盘补完

Från och med 2019-09-06. Se den senaste versionen.

// ==UserScript==
// @name         磁力链接百度网盘补完
// @namespace    http://tampermonkey.net/
// @version      2.61
// @description  磁力链接、百度网盘补完
// @author       backrock12
// @include      *
// @grant        GM_registerMenuCommand
// @grant        GM_unregisterMenuCommand
// @grant        GM_xmlhttpRequest
// @grant        GM_setValue
// @grant        GM_getValue
// @require      http://libs.baidu.com/jquery/2.0.0/jquery.min.js
// @exclude      /(^[^:\/#\?]*:\/\/([^#\?\/]*\.)?www\.gamersky\.com(:[0-9]{1,5})?\/.*$)/
// @exclude      /(^[^:\/#\?]*:\/\/([^#\?\/]*\.)?www\.baidu\.com(:[0-9]{1,5})?\/.*$)/
// @exclude      /(^[^:\/#\?]*:\/\/([^#\?\/]*\.)?www\.ciweimao\.com(:[0-9]{1,5})?\/.*$)/

// ==/UserScript==

(function () {
    'use strict';


    console.log("UrlLinePlugin");

    //字符串格式化方法
    String.prototype.UrlLineformat = function (args) {
        var result = this;
        if (arguments.length > 0) {
            if (arguments.length == 1 && typeof args == "object") {
                for (var key in args) {
                    if (args[key] != undefined) {
                        var reg = new RegExp("({" + key + "})", "g");
                        result = result.replace(reg, args[key]);
                    }
                }
            } else {
                for (var i = 0; i < arguments.length; i++) {
                    if (arguments[i] != undefined) {
                        var reg = new RegExp("({)" + i + "(})", "g");
                        result = result.replace(reg, arguments[i]);
                    }
                }
            }
        }
        return result;
    };


    $.fn.replaceText = function (search, replace, action, text_only) {
        return this.each(function () {
            var node = this.firstChild,
                val,
                new_val,// Elements to be removed at the end.
                remove = [];

            if (node) {
                do {
                    if (node.nodeType === 3) {
                        val = node.nodeValue;
                        if (val) {
                            if (!action && replace) {
                                new_val = val.replace(search, replace);
                            }
                            else {
                                var t = search.exec(val)
                                if (action && t && t.length > 0)
                                    new_val = action(node, val, t);
                                else
                                    new_val = val;
                            }
                            if (new_val !== val) {
                                if (!text_only && /</.test(new_val)) {
                                    $(node).before(new_val);
                                    remove.push(node);
                                } else {
                                    node.nodeValue = new_val;
                                }
                            }
                        }
                    }
                } while (node = node.nextSibling);
            }
            remove.length && $(remove).remove();
        });
    };

    //默认配置参数  default settings
    var default_settings = {
        magnetfilter: /((\u672c\u7ad9\u6682?\u4e0d\u63d0\u4f9b(\u6587\u4ef6)?\u4e0b\u8f7d))|(不提供(文件)?下载)/g,
        magnetPattern: /(magnet:\?)?(xt=)?(urn:btih:)?(?=.{0,31}[0-9])(?=.{0,31}[a-z])([0-9A-Z]{32,40})(?![:.\-\!\?a-z0-9])/gi,
        pixivurl: "<a href='https://www.pixiv.net/member_illust.php?mode=medium&illust_id={0}' target='_blank'>{1}</a>",
        bilibiliurl: "<a href='https://www.bilibili.com/video/av{0}/' target='_blank'>{1}</a>",
        magneturl: "<a href='magnet:?xt=urn:btih:{0}' target='_blank' urlline='true'>magnet:?xt=urn:btih:{1}</a>",
        baiduurl1: "<a href='https://pan.baidu.com/s/1{0}' target='_blank' urlline='true' urltype='head'>" + " https://pan.baidu.com/s/1{1} </a>",
        baiduurl2: "<a href='https://pan.baidu.com/s/1{0}#{1}' target='_blank' urlline='true' >{2}</a>",
        baiduurl3: "<a href='https://pan.baidu.com/s/1{0}' target='_blank' urlline='true' urltype='tail' >{1}</a>",
        baiduurl4: "<a href='https://pan.baidu.com/s/1{0}#{1}' target='_blank' urlline='true' urltype='head'> https://pan.baidu.com/s/1{2}#{3} </a>",
        baiduPattern0: /((https?:\/\/)?pan\.baidu\.com\/s\/1([a-zA-Z0-9_\-]{5,22})|(https?:\/\/)?pan\.baidu\.com\/share\/init\?surl=([a-zA-Z0-9_\-]{5,22})|[^a-zA-Z]s\/1([a-zA-Z0-9_\-]{5,22})|\bs\/1([a-zA-Z0-9_\-]{5,22}))/,
        baiduPattern1: /(https?:\/\/)?pan\.baidu\.com\/s\/1([a-zA-Z0-9_\-]{5,22})/,
        baiduPattern2: /(https?:\/\/)?pan\.baidu\.com\/share\/init\?surl=([a-zA-Z0-9_\-]{5,22})/,
        baiduPattern3: /\/?s\/1([a-zA-Z0-9_\-]{5,22})/,
        baiduPattern4: /\/?s?\/?1([a-zA-Z0-9_\-]{5,22})(?!\.)/,
        baiduPattern5: /(神秘代码)1([a-zA-Z0-9_\-]{5,22})/,
        common_reg1: /\s*(提取密碼|提取密码|提取码|提取碼|提取|密碼|密码|百度|百度云|云盘|yun|通关口令|本帖隐藏的内容)[::]?\s*(<[^>]+>)?\s*([0-9a-zA-Z]{4,})\s*/,
        common_reg2: /\s*(百度网盘密码|提取密碼|提取密码|提取码|提取碼|提取|密碼|密码|百度|百度云|云盘|yun|通关口令|本帖隐藏的内容)[::]?\s*/,
        common_reg3: /\s*(<[^>]+>)?\s*([0-9a-zA-Z]{4,})\s*/,
        common_reg4: /[::]?\s*(<[^>]+>)?\s*([0-9a-zA-Z]{4,8})/,
        common_r: "\\s*({0})[::]?\\s*(<[^>]+>)?\\s*([0-9a-zA-Z]{4,})\\s*",
        url_reg: /(http|https):\/\/(www.)?(\w+(\.)?)+/,
        Pwnum: 5,
        defaults_ULSetting:  {
            Magnet_mk: true,
            Baidu_mk: true,
            CHeck_mk: true,
            Desc_mk: true,
            Log_mk: true,
            DescUrl: [],
            Pwlist: []
        }
    };


    function FormatGet(key) {
        if (key == 'DownUrl') {
            if (!arguments[3]) {
                return default_settings.baiduurl1.UrlLineformat(arguments[2], arguments[2]);
            } else {
                return default_settings.baiduurl2.UrlLineformat(arguments[2], arguments[3], arguments[3]);
            }
        } else if (key == 'Url') {
            return default_settings.baiduurl3.UrlLineformat(arguments[0], arguments[1]);
        } else if (key == 'baiduurl4') {
            if (!arguments[2]) {
                return default_settings.baiduurl1.UrlLineformat(arguments[1], arguments[1]);
            } else {
                return default_settings.baiduurl4.UrlLineformat(arguments[1], arguments[2], arguments[1], arguments[2]);
            }

        }

    }

    function SettingCheck(key, value) {
        if (key == 'baiduPattern0') {
            return default_settings.baiduPattern0.test(value)
        } else if (key == 'common_reg2') {
            return default_settings.common_reg2.test(value)
        }
    }

    function SettingGet(key, value) {
        let ss;
        if (key == 'common_reg4') {
            return (ss = default_settings.common_reg4.exec(value)) && 3 === ss.length ? ss[2] : null;
        } else if (key == 'common_reg3') {
            return (ss = default_settings.common_reg3.exec(value)) && 3 === ss.length ? ss[2] : null;
        } else if (key == 'common_reg1') {
            return (ss = default_settings.common_reg1.exec(value)) && 4 === ss.length ? ss[3] : null;
        } else if (key == 'baiduPattern0') {
            ss = default_settings.baiduPattern0.exec(value);
            return ss[3] ? ss[3] : (ss[5] ? ss[5] : (ss[6] ? ss[6] : ss[7]));
        } else if (key == 'baiduPattern4') {
            return (ss = default_settings.baiduPattern4.exec(value)) && 2 === ss.length ? ss[1] : null;
        }
    }

    function Getnextnode(node) {
        let loopnum = default_settings.Pwnum;
        let bnode;
        if (Desc_Mk) {
            bnode = node == node.previousSibling ? null : node.previousSibling;
        } else {
            bnode = node == node.nextSibling ? null : node.nextSibling;
        }
        if (!bnode) bnode = Desc_Mk ? node.parentNode.previousSibling : node.parentNode.nextSibling;
        while (node && !bnode && loopnum >= 0) {
            bnode = Desc_Mk ? node.previousSibling : node.nextSibling;
            node = node.parentNode;
            loopnum--;
        }
        return bnode;
    }

    function FindNextPw(node, Pid) {
        let loopnum = default_settings.Pwnum;
        let isreg2 = false;
        let re = false;
        $(node).attr('urltype', 'head');

        let bnode = Getnextnode(node);
        if (bnode) {
            do {
                let bh = bnode.nodeValue ? bnode.nodeValue : bnode.outerHTML;
                let bt = bnode.nodeValue ? bnode.nodeValue : bnode.innerText;
                if (bnode && bt) {
                    if (SettingCheck('baiduPattern0', bt)) break;
                    let pw = SettingGet('common_reg1', bt);
                    if (isreg2) pw = SettingGet('common_reg3', bt);
                    if (pw != null) {
                        let retext = FormatGet('DownUrl', '', Pid, pw);
                        let h = bh.replace(pw, retext);
                        $(bnode).replaceWith(h);
                        //$(bnode).remove();
                        re = true;
                        break;
                    } else {
                        if (SettingCheck('common_reg2', bt)) isreg2 = !isreg2;
                    }
                }
                bnode = Getnextnode(bnode);
                if (!bnode) break;
                loopnum--;
            } while (loopnum >= 0);
        }
        $(node).attr('urlline', re);
        $(node).attr('target', '_blank');
        return re;
    }

    function ReplaceorPw(node, e, n) {
        let Pid = SettingGet('baiduPattern0', n[0]);
        if (!Pid) return e;
        let retext = FormatGet('DownUrl', n[0], Pid);
        let v = e.replace(n[0], retext);
        let pw = SettingGet('common_reg1', e);
        let ischeck = false;
        if (!pw) {
            var s = e.substring(e.indexOf(Pid) + Pid.length);
            if (SettingCheck('baiduPattern0', s)) {
                ischeck = true;
            }
            else {
                pw = SettingGet('common_reg4', s);
            }
        }
        if (pw) {
            let retext2 = FormatGet('DownUrl', '', Pid, pw);
            v = v.replace(pw, retext2);
        } else {
            FindNextPw(node, Pid);
        }
        if (ischeck) {
            v = ReplaceorPw(node, v, [s]);
        }
        return v;
    }


    function UrlLinePlugin(options) {
        this.settings = $.extend({}, default_settings, options);
        this._defaults = default_settings;
        this.init();
    }

    var ULSetting;
    var Desc_Mk = false;
    var MenuID, setupID;

    UrlLinePlugin.prototype = {
        init: function () {
            console.log('init');
            let gm_Setting = GM_getValue('UrlLineSetting');

            ULSetting = $.extend({}, default_settings.defaults_ULSetting, gm_Setting);
            console.log(ULSetting);

            if (ULSetting.Desc_mk) {
                if (ULSetting.DescUrl && ULSetting.DescUrl.length > 0) {
                    let DescTxt = `(${ULSetting.DescUrl.join('|')})`;
                    if (DescTxt) {
                        let DescUrlReg = new RegExp(DescTxt);
                        if (DescUrlReg.test(location.href)) Desc_Mk = true;
                    }
                }
            }

            addMenu(Desc_Mk);
            function addMenu(mk) {
                if (setupID) {
                    if (ULSetting.Desc_mk)
                        GM_unregisterMenuCommand(MenuID);
                    GM_unregisterMenuCommand(setupID);
                }
                if (mk) {
                    if (ULSetting.Desc_mk)
                        MenuID = GM_registerMenuCommand('取消反向查找', OffDescUrl);
                    setupID = GM_registerMenuCommand('设置', opensetup);
                }
                else {
                    if (ULSetting.Desc_mk)
                        MenuID = GM_registerMenuCommand('设置反向查找', OnDescUrl);
                    setupID = GM_registerMenuCommand('设置', opensetup);
                }
            }

            function OnDescUrl() {
                let urls = location.href.match(default_settings.url_reg);
                if (urls) {
                    if (!ULSetting.DescUrl) {
                        ULSetting.DescUrl = [urls[0]];
                    } else {
                        ULSetting.DescUrl = ULSetting.DescUrl.concat(urls[0]);
                    }
                    GM_setValue('UrlLineSetting', ULSetting);
                    Desc_Mk = true;
                    addMenu(Desc_Mk);
                    console.log(ULSetting);
                } else {
                    console.log('OnDescUrl 获取URL失敗');
                }
            }

            function OffDescUrl() {
                let urls = location.href.match(default_settings.url_reg);
                if (urls) {
                    let index = ULSetting.DescUrl.indexOf(urls[0]);
                    if (index > -1) {
                        ULSetting.DescUrl.splice(index, 1);
                        GM_setValue('UrlLineSetting', ULSetting);
                        Desc_Mk = false;
                        addMenu(Desc_Mk);
                    }
                    console.log(ULSetting);
                } else {
                    console.log('OffDescUrl 获取URL失敗');
                }
            }

            function opensetup() {
                let content = document.createElement("div");
                document.body.appendChild(content);
                content.outerHTML = `
                <div id="ULPContent">
                <div
                  style="color:#000000;font-size: 14px; width:250px;/*height:300px;*/position:fixed;left:50%;top:50%;margin-top:-50px;margin-left:-180px;z-index:100000;background-color:#ffffff;border:1px solid #afb3b6;opacity:0.95;filter:alpha(opacity=95);box-shadow:5px 5px 20px 0px#000;">
                  <div style="text-align:center">
                    <h3>设置</h3>
                  </div>
                  <div>
                    <div style="float: left;margin: 5px 0px 0px 10px;width: 85px;">magnet链接</div>
                    <div style="float: left;margin: 5px 0px 0px 5px;width: 140px;text-align: center;"><input id="Magnet_mk"
                        type="checkbox"></div>
                  </div>
            
                  <div>
                    <div style="float: left;margin: 5px 0px 0px 10px;clear: left;width: 85px;">百度网盘链接</div>
                    <div style="float: left;margin: 5px 0px 0px 5px;width: 140px;text-align: center;"><input id="Baidu_mk"
                        type="checkbox"></div>
                  </div>
                  <div>
                    <div style="float: left;margin: 5px 0px 0px 10px;clear: left;width: 85px;">检测链接状态</div>
                    <div style="float: left;margin: 5px 0px 0px 5px;width: 140px;text-align: center;"><input id="CHeck_mk"
                        type="checkbox"></div>
                  </div>
                  <div>
                  <div style="float: left;margin: 5px 0px 0px 10px;clear: left;width: 85px;">记录提取码</div>
                  <div style="float: left;margin: 5px 0px 0px 5px;width: 140px;text-align: center;"><input id="Log_mk"
                      type="checkbox"></div>
                  </div>
                  <div>
                    <div style="float: left;margin: 5px 0px 0px 10px;clear: left;width: 85px;">反向查找</div>
                    <div style="float: left;margin: 5px 0px 0px 5px;width: 140px;text-align: center;"><input id="Desc_mk"
                        type="checkbox"></div>
                  </div>
                  <div>
                    <div style="float: left;margin: 5px 0px 0px 10px;clear: left;width: 85px;">反向查找URL</div>
                    <div style="float: left;margin: 5px 0px 0px 5px;width: 140px;text-align: center;"><input id="DescUrl"
                        type="text" value="">
                    </div>
                  </div>
                  <div>
                    <div style="float: left;margin: 10px 0px 10px 10px;clear: left;width: 100px;text-align: center;">
                      <button id="btsvae">Save</button>
                    </div>
                    <div style="float: left;margin: 10px 0px 10px 10px;width: 100px;text-align: center;">
                      <button id="btcolse">Close</button>
                    </div>
                  </div>
                </div>
              </div>
                `;

                $('#Magnet_mk').prop("checked", ULSetting.Magnet_mk);
                $('#Baidu_mk').prop("checked", ULSetting.Baidu_mk);
                $('#CHeck_mk').prop("checked", ULSetting.CHeck_mk);
                $('#Desc_mk').prop("checked", ULSetting.Desc_mk);
                $('#DescUrl').val(ULSetting.DescUrl.join('|'));
                $('#Log_mk').prop("checked", ULSetting.Log_mk);


                $('#btcolse').click(function () {
                    $('#ULPContent').css("display", "none");
                    $('#ULPContent').remove();
                });

                $('#btsvae').click(function () {
                    ULSetting.Magnet_mk = $('#Magnet_mk').prop("checked");
                    ULSetting.Baidu_mk = $('#Baidu_mk').prop("checked");
                    ULSetting.CHeck_mk = $('#CHeck_mk').prop("checked");
                    ULSetting.Desc_mk = $('#Desc_mk').prop("checked");
                    ULSetting.DescUrl = $('#DescUrl').val().split('|');
                    ULSetting.Log_mk = $('#Log_mk').prop("checked");

                    GM_setValue('UrlLineSetting', ULSetting);
                    $('#ULPContent').css("display", "none");
                    $('#ULPContent').remove();
                });
            }

        },
        Star: function () {
            var t = this;
            console.log("star");
            if (/tieba\.baidu\.com/.test(location.href)) {
                setTimeout(function () {
                    console.log("tieba");
                    t.StarReplace.call(t);
                }, 2000);
            } else {
                t.StarReplace.call(t);
            }

            document.addEventListener("keydown", function (e) {
                /* CTR + Z */
                if (e.keyCode == 90 && e.ctrlKey) {
                    t.StarReplace.call(t);
                } else if (e.keyCode == 88 && e.ctrlKey) {
                    t.BaiduFilter(t);
                }
            });

        },
        StarReplace: function () {
            var obj = this;
            if (ULSetting.Magnet_mk)
                obj.MagnetReplace(obj);
            if (ULSetting.Baidu_mk)
                obj.BaiduReplace(obj);
            if (ULSetting.CHeck_mk)
                obj.BaiduCHeckStatus();

        },

        MagnetReplace: function (obj) {
            try {
                obj._subMagnetReplace(obj);
            } catch (err) {
                console.log("Magnet replace Error:" + err.message);
            }
        },



        BaiduReplace: function (obj) {

  /*           try { */
                if (/pan\.baidu\.com/.test(location.href)) {
                    obj.BaiduPassword();
                    obj.AddPWButton();
                } else {
                    obj._subBaiduReplace();
                }
/*             } catch (err) {
                console.log("baidu replace Error:" + err.message);
            } */
        },
        BaiduPassword: function () {
            console.log("baiduPassword");
            // $(".file-name").css('white-space','inherit');
            $("[class*='global-icon-16']").css('float', 'left');

            let url = location.href;
            if (location.hash) {
                url = location.href.substring(0, location.href.indexOf('#'))
            }


            let pwinput = $(".QKKaIE");
            if (!pwinput)
                pwinput = $(":contains('请输入提取码'):last").nextAll("input");
            if (!pwinput)
                pwinput = $(":contains('请输入提取码'):last").next().find("input");
            let pwbtn = $("a:contains('提取文件')");
            pwbtn.click(function () {
                let pw = pwinput.val();
                if (pw) {
                    let err = $("div:contains('提取码错误')");
                    if (err.length > 0) return;
                    let pwmap = new Map();
                    if (ULSetting.Pwlist)
                        pwmap = new Map(ULSetting.Pwlist);
                    pwmap.set(url, pw);
                    ULSetting.Pwlist = [...pwmap];
                    GM_setValue('UrlLineSetting', ULSetting);
                }
            });

            if (pwbtn.length > 0) {
                //填寫密碼
                if (location.hash && location.hash.length == 5) {
                    pwinput.val(location.hash.slice(1, 5));
                    setTimeout(function () {
                        pwbtn.click();
                    }, 50);
                }
                else {
                    if (ULSetting.Pwlist) {
                        let pwmap = new Map(ULSetting.Pwlist);
                        let pw = pwmap.get(url);
                        if (pw) {
                            pwinput.val(pw);
                            setTimeout(function () {
                                pwbtn.click();
                            }, 50);
                        }
                    }
                }
            }
        },
        _subMagnetReplace: function () {
            $("*").replaceText(default_settings.magnetfilter, "");
            function magnetReplacer(match, p1, p2, p3, p4) {
                let value = match.replace("magnet:?", "").replace("xt=", "").replace("urn:btih:", "");
                return default_settings.magneturl.UrlLineformat(value, match);
            }
            $("*").not("script").not("a[urlline='true']").replaceText(default_settings.magnetPattern, magnetReplacer);
            console.log(location.href + "is magnet replace");
        },

        _subBaiduReplace: function (obj) {

            function subpw() {
                let h = $(this).attr("href");
                if (SettingCheck('baiduPattern0', h)) {
                    let Pid = SettingGet('baiduPattern0', h);
                    FindNextPw(this, Pid);
                } else {
                    if (/\.bdimg.com/.test(h)) {
                        let t = $(this).text()
                        if (SettingCheck('baiduPattern0', t)) {
                            let tPid = SettingGet('baiduPattern0', t);
                            FindNextPw(this, tPid);
                        }
                    }
                }
            }

            $("*").not("script").not("a").replaceText(default_settings.baiduPattern0,
                function (match, p1, p2, p3) {
                    let Pid = SettingGet('baiduPattern0', match);
                    return FormatGet('Url', Pid, match);
                },
                ReplaceorPw);

            $("a[urlline!='true']").each(subpw);
            console.log(location.href + "is baidu replace");
        },

        BaiduFilter: function (obj) {
            let r = window.getSelection();
            if (r.rangeCount > 0) {
                for (let i = 0; i < r.rangeCount; i++) {
                    let s = r.getRangeAt(i);
                    let seltext = s.toString();
                    console.log('Selection' + seltext);
                    let filtertext = seltext.replace(/([\u4e00-\u9fa5]|[::??!!])+/, '');
                    let Pid, purl, pw;
                    if (SettingCheck('baiduPattern0', filtertext)) {
                        Pid = SettingGet('baiduPattern0', filtertext);
                    }
                    if (!Pid)
                        Pid = SettingGet('baiduPattern4', filtertext);


                    if (Pid) {
                        let lasttext = $.trim(filtertext.substring(filtertext.indexOf(Pid) + Pid.length));
                        if (lasttext) {
                            pw = SettingGet('common_reg1', lasttext);
                            if (!pw)
                                pw = SettingGet('common_reg4', lasttext);
                        }
                        purl = FormatGet('baiduurl4', Pid, pw)
                    }

                    if (purl) {
                        let a = $(purl)[0];
                        try {
                            s.insertNode(a);
                            let span = $('<span style="color:#A9A9A9"></span>')[0];
                            s.surroundContents(span);//将创建的元素环绕在光标选中的文字周围
                            s.collapse(false);
                            console.log('Selection Success' + s);
                        } catch (e) {
                            console.log('Selection Error' + e.message);
                        }
                    }
                }
            }

        },

        AddPWButton: function () {
            console.log('AddPWButton');

            $('div.slide-show-right').css('width', '500px');
            let Pbutton = $('<span class="g-dropdown-button"></span>');
            let button_a = $('<a class="g-button g-button-blue" data-button-id="b200" data-button-index="200" href="javascript:void(0);"></a>');
            let button_a_span = $('<span class="g-button-right"><em class="icon icon-download" title="跳转到PanDownload"></em><span class="text" style="width: 60px;">PanDown</span></span>');
            let Pbutton_span = $('<span class="menu" style="width:auto;z-index:41"></span>');

            button_a.append(button_a_span);
            Pbutton.append(button_a).append(Pbutton_span);
            Pbutton.click(function () {
                let url = window.location.href;
                url = url.replace('baidu.com', 'baiduwp.com');
                window.open(url, "_blank");
            });
            $('div.module-share-top-bar div.bar div.x-button-box').append(Pbutton);
            //Pbutton.insertBefore($("a:contains('请输入提取码')"));
        },
        BaiduCHeckStatus: function () {

            //$("a[urlline]").each(function () {
            $("a[urltype='head']").each(function () {
                let h = $(this).attr("href");
                httpcheck(h, this);
            });
            console.log(location.href + "is BaiduCHeckStatus");

            let pageTexts = {
                isNotFound: "页面不存在",
                isDisabled: "无法访问",
                isOuttiem:"已过期",
                isDelete: '你来晚了',
                isLock: "请输入提取码",
                isOk: "失效时间",
            }

            let css =
                `.UL_ico_isLock{
                background: transparent url("data:image/png;base64,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") center left no-repeat;
                padding-left: 20px;
                background-size:18px 18px;}` +

                `.UL_ico_isOk{ 
                background: transparent url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAANlBMVEUAAAAwv48sv5crv5YtwpgrwpcswpgswpcswZgrwZcswZgsv5Urv5cov5crv5Utv5YswZf///8E9DF0AAAAEHRSTlMAEEBwj5+vv8/f74BgIDBQKYtp5AAAAAFiS0dEEeK1PboAAAAHdElNRQfjBxEQKzajbeTmAAAGrUlEQVR42t2d26KjIAxFj1cU2+r/f+2g1ta2KAkkJM5+Hk9dQwIBtvD3x6OirKq6blrTdb21fd+ZtmmG4VbemX6QnuAxDk1np2OZxvFIv2YAYhy6Cai+Hgvp9/VDlMNpO3jbph6lX/tLERBvmIf0228q4PHkVzco6AGKMbot9mpvshhlTUGxqhHryYoyMaR+QkykWVxM0WLIoBRVT48xq8+KUgxMGIvqbBw3ugz3K0+rUKe4Tx3/IFkQdrhn4o6vkjM5PmQ54+vR5sKY1bEVLlWeqHqrYsEomswYToZhypIvO/ay5N1X9rDaRBteRdYs/xRleMmE1SZLVt+zlyQhEQ0pYunxFkmiDNIUs4ZkjKKWZljVpHIIjIJ+mTQOwW73W91/wuFIogcUXRzxbaKNIzpPlPRXe7UxHJX0W/sUMQNWyRFRrYjXV0QkD60c04SqhYsMa1exspjhRF3HuxeiE1aa6JvARb3iBFkFTBPNCbIKmCaqE2QVKE2UJ8gqQJrctSfIqvDCnZF+RZiCJf0o/YZQBUqVQnQpDqNAz6Vi7Qem03WV8hqZvuos3y+S6av6iw8hbx3me3GlwJpO8v1Cmb7qYEX4Ol3vJvtfZMis6v9okIMmuUm/VYx8HZem6ZQ1wBHN0yR6qkVbLWP2HZSzv02iZlA3LwsKZBXdam2QT1MQYL/su0mUTNS/zU3hxP0qgpVUJz8mrXv4kc86RUdkecxm4eD6fEZFZPlMc+HRrcO1oBDH3yP83N5op6Hu9ZsYi/CD+4JLwSByYMYEtIhF/WshDlAv9I4t+cg6NMdCXu09lIhH1iEHaGfgFVuAhBLiAO71b7ElPRoec5SwP7A9L5wixxwP4KR1SxLZOW46x5YksilCwLEliWiKkHA8B3dJtx8NxzNJBFOEiGNNEsEUoeKYpnl2JVdo0XEsFgKxhTlCjiXbpZZ8KTmWdXmhWS4px2J2lCl9aTmWbgvzXFdXj/uN4ANXYo4ZBLHuYKttDSk1r6g55iIFWClPn9+dPpICkp7D9b/g/9yvL4QSSBg4XP8LBvneeYwm4eBwbwedVfU/e8GRJCwcUw2ufT1m7igSHg5X/0JBfGfKRJAwcbgRETqwez9lRpNwcUwG/C7+b7KRJGwcUwfezD3w2qJI+DimHlyhHPk6ESSMHK5Ggf6JQ6stmISTw4GANw/HRBJWjmmCgxy7IUEkzBwIkBMfN4CEm8NiLCgJJNwcrtfCeGmiSdg53DiCGggiSfg5HAhu7SGKJAOHezHkym8ESQ4OVzRiP2RFk2ThcGU8+otcJEkeDjddwu+7oUgycTiQiKVfBEkuDlfTxuxXgUmycbhKMGp7BEiSj2Oe90V550AkGTmmv1i/L4AkJ8fsPos8ESFIkpNj2VaI9T0ESLJyLKtu0dvspyR5ORY3Svxm6AlJZo5lHp6wPX1MMublWFfdEv40+sQVJo7VMptykAuShInjaeFIMtWgSLg4ns6zNA8HgoSNY1uYTl0HF+fYXOWJpx0BSfg4XptQqc4zEAkjx2s1N9noBCDh5Hjv3ST/SJCEleP94UX6kWBGkGO3T0vw+YiR49hvphH8kBHj2H/SQ2E+M0IcH5YMEoOmkeH43G8mcZ8ZEY7PX6VxaBoBji+zD5H51+TnsF9OBiJfucnN8XMGJZXT32Tm+N01J9sDexkGixxnUP/ayOgM2fUStUWZxVDscZZQhkHbkFwKFVbvcTFc8vAK7xEvVzxOxGsruWCT+M/cud4JL0c+H/lPdpE6OhZf/FNXpI6NVxfLkpN7CjQduxPU2TnyKs5+gOr0jFk1VymEdX5g+XW64NBRudLftoMVPF/2IvkeXqW9Rr5DLiC6xPgOuupG/EyOsGB3W+nvuaBn4MO/6BMS+MZqhTeP7IW4u0N1mmAuf9OcJhZ1caXeNLHIK93VkqCvhFF61mzEpW8qK/qo63YVktRxl4up64Tb2EvSlJX0CZe9qSKJ59BFksKhKU+Sb6VV0ndF9ld7qSiFCThUzH3TL3FdJF130d05L3tDF7bePVMh2HkZ1PwjKLFEGajvmpcJL8qweoWXwIlixGElFV7vY7Co9chaepnwNWjxyjcB5muOpzLVXg1PduyVw4TVoa5qjRZ3fLFHVR4USz4EnqMwBVjG1uBEEcDgQOllMGaNdJ2xNaMYxtosNG50ucZ4654aYv3AWYygVA7RVVhXq6F4aqzRMF19UxBRHhW3Gn7uWHvT1hRfGm+DOUsa27V19dDZEh7dx2Gom9aYvneNZPuuM21T11XJhfAPub71rW4Xo68AAAAldEVYdGRhdGU6Y3JlYXRlADIwMTktMDctMTdUMTY6NDM6NTQrMDg6MDD7bFHAAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE5LTA3LTE3VDE2OjQzOjU0KzA4OjAwijHpfAAAAABJRU5ErkJggg==") center left no-repeat;
                padding-left: 20px;
                background-size:16px 16px;}` +

                `.UL_ico_isDisabled{
                background: transparent url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAANlBMVEUAAADPIADVIAXWHQbXHgbYHgXZHgbYHwbYHQXYHgbYHgbYHgbXHATXIAjWHgfXHQXYHgb///9UGcMWAAAAEHRSTlMAEDBQgI+fr7/P3+9AIHBgys8wXwAAAAFiS0dEEeK1PboAAAAHdElNRQfjBxEQKzfUatRwAAAHJ0lEQVR42u2d65arIAyFB++KVd//aU+rdbQVMFfBWWf/nw6fkAAhhJ+f/wrKZHlRVnXTtJ2102S7rm3qqiqL/hG7aVA9+qFsuimgti7GPnYzw8qGyk5ANWWiMCavWijEqrpIDaYv0BC/MIOJ3fpVGZ3izTLGRnjKDEyKRbENpq/Bxn2mrozmmE0v0hm7bomCYnJhjJeqy1HM0PGb7VJ9KYoplDBmlOwyjl4R46WLBlhW62K8NOhjmFLM4YbUao8vaY/rV6naHdVVGE9ZvYWLtpF/q1bqjmusYy8VSzEXOKuj5N1Xf3l3LGpuP6xWdZLDK86wWiU3vB4Xe6tvFUIcWWQOKZIsmnlskjD5WO5KmmRIguM5NzKDRkNsgF/x3HA6HE8SRp+MiYyrRS2ZIwV/tRfV4lPjoJKkxzFNFYHDRJ/PXcKvu0wTu81uofe/V+7OUUJOJylNIJ+yqOkkRUNfhXFd5rLoFUUIgy9jtzUssJmkayCL7B8wkEUwM0nbQBblEJAidisBsoATlEfyA+slQFg4aggLrlPPlcduIVDdH7D0RSfT4h0sfVHY3u9h6YuC9p7oJsStwGTSx24bSoGoyk1c7yqvC85I36Ucx5K5v+/KMSdkr3mthLC9bd5fhbNgtu9kQPxxksdx4V2W3fIRM/IE1G3Jc9jP4ekS/HZqfwBDnUq7/WfFriucXYLvkOYjDkAj6T7bghxdzoAdflL/8hoUki+OH4P8e0eXGHSHHPw4nqQ7NAT5E47UG/yy9/gjWJIjB3ZcOLbv+MnQEb3EkTg40N/zsE55oDmcC2kMiYvjZ0Q24mDuhPW702XASZwc6HYcxhZh3esOL0FJ3Bz4dnwNcNIya2SQeDjwLucrxkXbGWZkEg8HZWP3+Uu05aulkng4SIuDD59DGll0EkmOz3mZvAonkYhyTNN+xUffGhJIhDn2cyJ+ncUgkebYbyZYQQckiTjHfj7jheVQJPIceyNhRk8QJBoc28TMMREciQrHtujjR+CBJDocm5EIRK5BJEocm5FIBBgBJGoc0xpQEskDOiXR4/hdbklwnJIocqxTInXFiCLR5FgjjmLHhgESVY7VbcllbHhJdDmmafk5wRwzH4kyx3urKnm8YxEJboInyMtKXjQLE04ieRI++19s3FiIRPREf15tEWKMAiSymQm1BgiIRDjDYgaRmg8xJNKZInOUTuFw/YxEPOOlVQI5IZHP3JlzhbCBfDaJQgaSVQMJkGhkUs0gSsmxPhKdjLDXLyulaHnWiUogRg2k8+aFqZCogXSB/DYNEqNkI10wT0+BRMlrdSf5xeIks9eST5A945An6VRAzjnESVSWKBAOaZIZRHj1C+MQJplXv7L7ESiHLMm8HxHd6sI5REkqaRBf/Eo7HLRkXMlFUbxxOHJmAVDLmZVYHnkgnqhMssS1pC7rBeOiuiTLfxaaEU/iu5ok7yC2zIx4GqdWJHmno4i4LUC8XY9kPdYVuP0COjdQI1nzXfmfBHj+oUWyptWw3Rb4HEeJZP333K0V4jxKheT3rj7T2lHnahok2+0L1iIFeT6oQLIlbHFOEdHnnPIk200ahpEQzmulSXaJZ3QjIZ07C5PsLyhRjYR4fi5Lsr8gRZxJyHkAoiT7RtCMxPbk5nhIKPGDj7sGNCMpyBxeEsIX/bzDRzESdy016PDwkOAbknO/hLtGMnyYu0nQ1vpVS4gytkYWh4cEvV39/pyEyX3gcbhJ0CA99wdcd6yw7tNBgj2tOV5qx1uZ5XK4SLA5V0fPSZgTH1yOIwk6Kfw4JRPmoobNcSDBdojrIjhhKhnYHF8k6PNMl+ekTCXbCKVXN96RoEvZuudkSlPaZYwaVlXg92clVN52L5JoK8emzEfus0ntXLwC/y18FQKTrJUZkq9Wtk6ekJ68JRvTLF/ql794+X1qOb0UqKHJvmx1qULV5FOv0LhXuKjpjawkXPLsPoWpzopO3qUylT17rk845V9N548q3WNWhFTDv0WBQ0hpbPHbCwqCPQyVeNniCX7ZJvnBBa25nvpKBf4MXNrTIuZNlWTL30+4G4JJmwnueYV0J3jsO4mpmgn+0aE0tyaYLNaUDR5n6OmSWFC9+KNSK2NM5UjOCdNfQ02rZjnnDb6UVl28h3bT6RPug8GJkFiB9zZT8F0yrx7Hn0/ofvdTsfe+Uhyxo/St4LvzMR/zaAQ5ONXUmdpVdBdSHEORM49NMbZajXR3zHpcPbzkh1Wc4aUxrFZd+Ay1Xncsumor35A2tRiZK1YsEmvEc6mPL1vpjqpNuuNLf1RdgtKcnXKKo6gMsEt7Qw8lCoY4io2G8VIv5Ywb5fkPoJzP0hUxO2OngbOctHUWvTM2mYGWxNKWfUIUb/UDLnKUJMSqfKghw8w25ZiIWYT0yIeycXtm29blkJJNgHiyPs/HoSjKshyGMe+z7HEzhP+i6x/nqpXP64WEOQAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxOS0wNy0xN1QxNjo0Mzo1NSswODowMF0bWnQAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTktMDctMTdUMTY6NDM6NTUrMDg6MDAsRuLIAAAAAElFTkSuQmCC") center left no-repeat;
                padding-left: 20px;
                background-size:16px 16px;}` +

                `.UL_ico_isUnknown{
                background: transparent url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAANlBMVEUAAAD/jwD7iwD9iwD/jQL/jAL/jAH+jAH+jAH+jAH+jAH9iwD8igD/hwD/igD8jAD+jAH///9Amn3zAAAAEHRSTlMAEEBwj5+vv8/f74BgIDBQKYtp5AAAAAFiS0dEEeK1PboAAAAHdElNRQfjBxEQKzajbeTmAAAHgUlEQVR42t1d64KzKgxcvCJY9f2f9qvrcWstQSEToGf+b90hFxISws+PDFRV103Tdr3WgzHDoPuuba0dq4fQB/EMptm22iw0+u7JJ/e/eUFitnq5iaGZVe7/102isl45OGXTzLn/7RMiSLzITLn/+x3qvj65oW0BHkDN0bI4ohvz0qgaBIsNbTZPpiqmSn2oWBaxPHUKSyMPFVUL0FgxJKWi7CBD4xdNMh6zJI0VaaQy9cI0ntDym6QCOlwfpPWrktaqPxhJ/Zq6VDRWaLHApU6jVS/UIjRUm5jGE71AypLOOo4wcPeVXK12YNVLJbXydyDVK49a7TCw+H7OpVY7QFtKNvN4AWIodW4WKyyfR5Obw4aWSSPHLuhGz+OR0e2eof8nPDhMyuLB0K5i7IPJpBB/dUQXw6OI/eOMiAy4SB4R0cqYPy6BMJlK5bEsQbGwEjoQRcCE5CeFbSDvCHDChRr6jttBfcEGsuGmmZRsIBtumknRBrLhlpkUbiAbbpjJo3QD2XB9cAesfgxd2zR1PY7W/rbXIIlcJicz6DtNPX1a5DQ2sHW6CFUU4ihOW5/gH5g66oXnsvwP2Gv1rSzAEL3nKuyt0DQ3qzMzP/30LRhXg7uAKsDE1bCB/m3mFhJa9huZBkl+jmnpETVl3soZ6md5lh5Vx5hYa0ecCPME0sTVY1gRKiESlpzjD/45Dsb5VdbacA7LGY7YKZKRwWNg1fkYeYPLcTEEwqzyMYzTIRJOtMitjFVIkTBsjltN4ijXh0gYAjH85heGcp1FwjA4/xG5mqa5uryjEO9pTl9XjLCXtnQ1t3+/O7TeSCxaJKe8hKFZZNL50WznCyrjizHvngbsyle4wnRN7jfxK/m2kI94HlTK6c7R6J0z3tyP9seIewMjUDIbwugWYxMhrrKQARS1ecbr1mErmeJ5LG7HWoX+wY9C/AsMzSJ8lkfEVH9M/P/Q3vnsFdy7oU9PqAQ1fif7+0WGVIn19XpzYgNlRN+7bnECX6et++MEwtwZarFvZZxDB6fp+leGiM0YjRa7kTAOHdzbgj9OIPwDYzkN30TcRIaIvwHoBcdEnC7oYmUIiXAOg2v2LzhDxotzJaIAyClddlwTWasI9RntxY5AdPiwT+o4JhIFYh9hrecaVHMCrRgQmsX7N9bF4RzMxX4z3LAuULN/IRhUDxyvTcGyfyEUVELJOf1YNreV4FrhAVRexazCGq63CAWlWEyBLAvr3CEcrZIRyBqkMA6Qg0FWtdgCefrCdE7L0If2/KJ7nY5ITxd9AQ0wFtC0cQumpotafMVac6s0nfwecfwoxAbQJSHiEwfockeXYmPXvsE6oEsqfYKN3dsSwWt9OCwWK5+5A+OtlFaoDspBOkIx3nlNuLuaRpiIV62QdwMN48j1BlqveUC1WpSIt2MIfNVGkojvQpQCX0Uzgl7LxwN+Q36QI+LpGEKL45eI2IZYpRPHsm6IUiEK3WkjclGzFwsaqY1Q6GJ5L3aRlSreCmlAK0WEOBiF5B5uIkIZIuF7xZKGRuro191qI3dAYFE3X86IqPYyvydUHnHm6IIHHQ9Ox8HFDye0kPXIVChGUWk1S0tttItLIIK1sV5McV1EBGtjq7cXcVvOpgDB09lRSuDORgJBp7V6exn/21bTGZJjun6dZNZxZhhsClDgIJdQbC0cQkFKSmyRXfIeDjz+iyO+3kj2xqmvN5L9fODrjWTPGb7eSP5C7S83kldv4Zcbyet8IGkbBx6HtPqrdesYaX/FUBcKx/b8r/Zbb+ccckVq3TWNbQWL4O/90EJZ6GG2CGDshhvvFz9EdOvUuSEzdf58wVZgvT5L7BK57vkSBz7ecrUKCGjwx1fgW4nz9Bcu+M9KJXqx3Pd2IEOWjnDc8QJ/gug0A5uJq3SMFQl1pxrsHp2X7qAiIceKQ7/iblCHioTsboKmDO7lghoiORsBaSTUjQHkN0giSLlT+osUCdkeC8wY6DF0wNUiiQC3RM87BbgyHNmSiYsctaetDZe8U8NSgHVE78AimOCpW+u44NQ/sBxn74QCw1LFq1G5sBVzv3eE81mXE6Rg9u6qh+JmO1+P7sPZ+6dXAc6ovjGaDLe/n3NE4GM/t54mAB7d9K+FUyOwV+TeTEhsFtfasZpH2yNr03dHk6W80ReF2y9WJ7pAFouAtzvS3t8NRMjQVPhhBxBhs/vKNRMT+KR7sUyCn4QptPYT8UhPcY8/RfIokknkdOTinHAXO423MCY6eqpwWU+qxPMoiwmHR0naxX6VthDfFemvjiii4wbAo4igHvCI64rccRfuzfm8L3SFxrs+iF1Wu4GePzv8iGyGYtFvzedRL6Ra5VQvsFplUy+4Wv2pV9LQqw9/Kuc+Ug6xkhLHhlTPg3cy1nEEakiOD1rAWTkgrV/SWpWIihHzVW4qQgqWUBqSVDLQkKAy5KGxAtiVbPoxG41NLJAQrM8njBcmrooNNx61TIS5iY7CdDMVIIwD1NgEZyymG4uRxYnM1YTyI4m6TBI7HmtR3Wc0RndNffmwVTF4zNa2bd/rYSVlzKD7rmufDKQs4h89eeDtxFSp0gAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxOS0wNy0xN1QxNjo0Mzo1NCswODowMPtsUcAAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTktMDctMTdUMTY6NDM6NTQrMDg6MDCKMel8AAAAAElFTkSuQmCC") center left no-repeat;
                padding-left: 20px;
                background-size:16px 16px;}`;

            let ulbody = document.getElementsByTagName("body")[0];
            if (!ulbody) return;
            let ulstyle = document.createElement("style");
            ulstyle.innerHTML = css;
            ulbody.appendChild(ulstyle);

            function httpcheck(url, ele) {
                GM_xmlhttpRequest(
                    {
                        url: url,
                        method: "GET",
                        headers: { "Content-Type": "application/x-www-form-urlencoded" },
                        onload: function (response) {
                            if (response.status == 200 || response.status == '200') {
                                let responseText = response.responseText;
                                let status;
                                if (!responseText) {  //为空,地址出现了重定向 或 其它情况
                                    status = "isUnknown";
                                } else {
                                    responseText = responseText.replace(/\s+/g, "");
                                    if (responseText.length > 15000) {
                                        responseText = responseText.substring(0, 14999);
                                    }
                                    if (responseText.indexOf(pageTexts.isLock) != -1) {
                                        status = "isLock";
                                    }
                                    else if (responseText.indexOf(pageTexts.isOk) != -1) {
                                        status = "isOk";
                                    }
                                    else if (responseText.indexOf(pageTexts.isDisabled) != -1) {
                                        status = "isDisabled";
                                    }
                                    else if (responseText.indexOf(pageTexts.isOuttiem) != -1) {
                                        status = "isDisabled";
                                    }
                                    else if (responseText.indexOf(pageTexts.isDelete) != -1) {
                                        status = "isDisabled";
                                    }
                                    else if (responseText.indexOf(pageTexts.isNotFound) != -1) {
                                        status = "isDisabled";
                                    } else {
                                        status = "isUnknown";
                                    }
                                }
                                ele.classList.add('UL_ico_' + status);
                            }
                        }
                    }
                );
            }
        }
    };

    var e = new UrlLinePlugin();
    e.Star();

})();