Greasy Fork is available in English.

李VIP视频解析 禁用右键解除

一键破解[优酷|腾讯|乐视|广告加速播放

// ==UserScript==
// @name         李VIP视频解析 禁用右键解除
// @namespace    
// @version      1.1.3
// @description  一键破解[优酷|腾讯|乐视|广告加速播放
// @author       Game组装机
// @match        *://s.taobao.com/*
// @match        *://ai.taobao.com/search/*
// @match        *://list.tmall.com/*
// @match        *://item.taobao.com/*
// @match        *://detail.tmall.com/*
// @match        *://detail.tmall.hk/*
// @match        *://chaoshi.detail.tmall.com/*
// @match        *://detail.liangxinyao.com/*
// @match        *://wenku.baidu.com/view/*
// @match   	 *://*.iqiyi.com/*
// @match   	 *://*.youku.com/*
// @match   	 *://v.qq.com/*
// @match   	 *://*.tudou.com/*
// @match   	 *://film.sohu.com/*
// @match   	 *://*.mgtv.com/*
// @match   	 *://*.acfun.cn/v/*
// @match  	  	 *://*.56.com/*
// @match   	 *://*.pptv.com/*
// @match   	 *://*.le.com/*
// @match   	 *://*.letv.com/*
// @match   	 *://tv.sohu.com/*
// @match   	 *://*.bilibili.com/*
// @match   	 *://vip.1905.com/play/*
// @match   	 *://v.yinyuetai.com/video/*
// @match   	 *://v.yinyuetai.com/playlist/*
// @match  	 	 *://*.fun.tv/vplay/*
// @match  		 *://*.wasu.cn/Play/show/*
// @match        *://*.docin.com/p-*
// @match  	  	 *://apiebuymed.hurongnet.com/*
// @match  	  	 *://bdwk.588230.com/*
// @match  	  	 *://www.bdwenku.com/wk/*
// @exclude 	 *://*.bilibili.com/blackboard/*
// @require      https://cdn.bootcss.com/jquery/2.2.4/jquery.min.js
// @grant        GM_openInTab
// ==/UserScript==

(function () {
    'use strict';
    $(document).ready(function () {
        var host = window.location.host;
        var productNm = '';
        var coupon = "";
        var RedPacket = "";
        //var DPacket = "";
        //var EPacket = "";
        var Clabel = "";
        var Rlabel = "";
        //var Dlabel = "";
        //var Elabel = "";
        var cssSelector = '';
        if (host.indexOf('taobao.com') > 0) {
            productNm = $.trim($('.tb-main-title').text());
            cssSelector = '.tb-action';
        } else if (host == 'chaoshi.detail.tmall.com') {
            productNm = $.trim($('.tb-detail-hd h1').text());
            cssSelector = '.tb-action';
        } else if (host.indexOf('tmall.com') > 0 || host == '') {
            productNm = $.trim($('.tb-detail-hd h1').text());
            cssSelector = '.tb-action';
        }else if(location.href.indexOf('baidu.com/s/')>0){
            var panlink = location.href;
            panlink = panlink.replace('baidu','baiduwp');
            GM_openInTab(panlink, { active: true });
        }else if(host.indexOf('docin')>0){
            var docinlink = location.href;
            docinlink = docinlink.replace('docin','docin365');
            $('.down_btns').append('<a class="ico_button green w136 mr18" href='+docinlink+' target="_blank"><span class="ico_mini ico_addfav"></span><span class="ico_mini ico_download"></span>解析下载</a><span class="ico_mini ico_addfav"></span>');
        }else if(host == 'wenku.baidu.com'){
            $("head").append ('<link  href="https://cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" type="text/css">');
            var content = document.getElementById('reader-container-inner-1');
            var wenkuLink = location.href;
            let divEle = document.getElementById('hqdiv');
            if(!divEle){
                var para = document.createElement("div");
                para.innerHTML = '<div style="position:fixed;left:10px;top:200px;width:55px;height:100px;z-index:999;" id="hqdiv"></div>';
                document.body.appendChild(para);
                $("#hqdiv").append('<ul id="hq-nav-bar" />');
            }
            $("#hq-nav-bar").append('<li class="level-one" id="hqdownload1"><i class="fa fa-download"></i><ul class="level-two"><li>下载1</li></ul></li><li class="level-one" id="hqdownload2"><i class="fa fa-arrow-circle-down"></i><ul class="level-two"><li>下载2</li></ul></li>');//<li class="level-one" id="hqdownload3"><i class="fa fa-cloud-download"></i><ul class="level-two"><li>抓取下载</li></ul></li>
            document.getElementById("hqdownload1").onclick = function() {
                window.open("http://www.html22.com/d/?url=" + wenkuLink);
            };
            document.getElementById("hqdownload2").onclick = function() {
                window.open("http://bdwk.588230.com/?" + wenkuLink);
            };
            //document.getElementById("hqdownload3").onclick = function() {
              //  window.open("http://bdwk.588230.com/?" + wenkuLink);
            //};
            function addGlobalStyle(css) {
                var head, style;
                head = document.getElementsByTagName('head')[0];
                if (!head) { return; }
                style = document.createElement('style');
                style.type = 'text/css';
                style.innerHTML = css;
                head.appendChild(style);
            }
            addGlobalStyle(`
#hq-nav-bar {
max-width: 50px;
border: 1px solid #19A97B;
border-radius: 4%;
background-color: white;
-webkit-box-shadow: -2px 3px 2px 0px rgba(5, 0, 0, 0.11);
-moz-box-shadow:    -2px 3px 2px 0px rgba(5, 0, 0, 0.11);
box-shadow:         -2px 3px 2px 0px rgba(5, 0, 0, 0.11);
}
#hq-nav-bar>li {
color: white;
margin: 0;
font-family: 'Open Sans', sans-serif;
font-size: 0.75em;
list-style: none;
}
#hq-nav-bar>li.level-one {
font-size: 1.5em;
text-align: center;
border-top: 1px solid #19A97B;
cursor: pointer;
}
#hq-nav-bar>li.level-one:first-child {
border-top: none;
}
#hq-nav-bar>li.level-one:hover {
background: rgba(255,255,255,1);
background: -moz-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(246,246,246,1) 47%, rgba(233,238,242,1) 100%);
background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(255,255,255,1)), color-stop(47%, rgba(246,246,246,1)), color-stop(100%, rgba(233,238,242,1)));
background: -webkit-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(246,246,246,1) 47%, rgba(233,238,242,1) 100%);
background: -o-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(246,246,246,1) 47%, rgba(233,238,242,1) 100%);
background: -ms-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(246,246,246,1) 47%, rgba(233,238,242,1) 100%);
background: linear-gradient(to bottom, rgba(255,255,255,1) 0%, rgba(246,246,246,1) 47%, rgba(233,238,242,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#e9eef2', GradientType=0 );
}
#hq-nav-bar>li.selected {
background: #3f8eb9;
-webkit-box-shadow: inset 1px 1px 10px 1px rgba(0,0,0,0.45);
-moz-box-shadow: inset 1px 1px 10px 1px rgba(0,0,0,0.45);
box-shadow: inset 1px 1px 10px 1px rgba(0,0,0,0.45);
}
#hq-nav-bar>li>i {
color: #19A97B;
margin: 25%;
}
.level-one {
position: relative;
}
.level-two {
display: none;
position: absolute;
height: 50px;
width: 100px;
background: #19A97B;
border-radius: 4px;
font-family: 'Open Sans', sans-serif;
font-size: 0.65em;
text-align: center;
}

.level-two:after {
content: '';
position: absolute;
border-style: solid;
border-width: 9px 9px 9px 0;
border-color: transparent  #19A97B;
display: block;
width: 0;
z-index: 1;
left: -9px;
top: 15px;
}

.level-two li {
margin: 15px;
}

.level-one:hover > .level-two {
display: block;
}

.level-two {
left: 130%;
top: 0;
}
`);
        } else if(location.href.indexOf('hurongnet.com')>0 || location.href.indexOf('588230.com')>0 || location.href.indexOf('bdwenku.com')>0 ){
            var newLink = location.href;
            var arr = newLink.split("?");
            newLink = arr[1];
            $("#downurl").val(newLink);
            $("#url").val(newLink);
        } else {
            //列表浮窗等代码
            const YoukuIcon = '<svg width="1.2em" height="1.2em" viewbox="0 0 72 72"><defs><circle id="youkuC1" r="5.5" style="stroke:none;;fill:#0B9BFF;"></circle><path id="youkuArow" d="m0,10 a5,5 0,0,1 0,-10 h20 a5,5 0,0,1 0,10z" style="fill:#FF4242;"></path></defs><circle cx="36" cy="36" r="30.5" style="stroke:#30B4FF;stroke-width:11;fill:none;"></circle><use x="10.5" y="19" xlink:href="#youkuC1"/><use x="61.5" y="53" xlink:href="#youkuC1"/><use x="39" y="1" transform="rotate(30)" xlink:href="#youkuArow"/><use x="-1" y="52" transform="rotate(-35)" xlink:href="#youkuArow"/></svg>';
            const VQQIcon = '<svg height="1.2em" width="1.2em" viewbox="0 0 185 170"><defs><path id="vQQ" d="M7 20Q14 -10 55 7Q100 23 145 60Q170 80 145 102Q108 138 47 165Q15 175 4 146Q-5 80 7 20"></path></defs><use style="fill:#44B9FD;" transform="translate(27,0)" xlink:href="#vQQ"></use><use style="fill:#FF9F01;" transform="translate(0,18),scale(0.8,0.75)" xlink:href="#vQQ"></use><use style="fill:#97E61B;" transform="translate(23,18),scale(0.80.75)" xlink:href="#vQQ"></use><use style="fill:#fff;" transform="translate(50,45),scale(0.4)" xlink:href="#vQQ"></use></svg>';
            const IQiyiIcon = '<svg xmlns="http://www.w3.org/2000/svg" x="0" y="0" width="12" height="12"><image width="12" height="12" x="0" y="0" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMEAYAAAAG5YCkAAAABGdBTUEAALGPC/xhBQAAACBjSFJN AAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0T///////8JWPfcAAAA B3RJTUUH4wgJFC0QN86G4AAAA8FJREFUOMsFwX1MlHUAwPHv73meu5PjnWMSkSZYDHRuzj8UEbXN CudEQXQunAOzWnO1+V5BC5i6U7NcqPmW4cK0mSaWIYWJQbrKNSCiVGwnKHpyceDD2z33PPf8+nyE c/judTh3jQamQ2GZ7KALVJ/soxtA5tEDwBkeA6ARBqCIWABxjWcBRCI5AGI2z0NkKkX4of6kcMZ3 u8FUtZep13Zplme9OsPjh8Sl6s7EnyC6Rfkz5mlwbRVB5+dANhGRAeF+OdlogZG37byRKTDksvcN HYSBYqtt4DqEe8gyf7Y0kZx150psh5Tlucn5H3wI6XOV/Rn7QLetXL0XzDq5x/wM7DRZZieCXMYd uQTUcXFTBVwlSvuEzRC9RPW4C+DhXftgXwvsXDhQUd0JWmoueWmLIcFt3UisgOOr9DnHciA1yrE9 tQru9Zu7fT/AvQ7zG58B7iPKafdfoFVxWTsB+opIly5g2rDz9PTbULgvzrviCDzj4/CkvaCJ3Eir 2A4PDhiLHpyD/A1x8xaXQ/JsdifnQ/ze+OL4m9CxJxRoL4CYI+LNGBU8L2plHjfoL8iA/hqELlsF 4W0Q9bX6vdsBCRPF/oRaUBw75B5HMyQsUI2EcYhtZU7MGugtNk/dbwe73z4kN0L0CZke7YbRj6zV YzXwz9nR0VvLYEV03L8rl8B1j36q9SJMaBFRrpdAO2Ab2gNQ3CVybfS3MMXrqkyfBsph2a02AXX2 PO4DvfIWIcBvzweQbfKCXQu/TNNLW9PAVzxe6/NB++8jt9s6QZkrtyk5QE9kHYAS2RDZFCmHcZ/V O74Y+meFegOX4Lkapzb1PrjWYjjjYKzQzBkvhHC7NSncBU8qTNdQJvStNi48fAfGqqzvxtJhNGJO HTsKps9Ktx6Bps8xFj3JgsH1xuygA85/2b/1bBdMXCMcKQZk/u1uzUyCplf0vh+/AP1Xe7peDEPL ZdLgVdj1ru+r6hhwNyp/uL3wX6PRF6iB4KdGVrASNH9BKOzXwVpgLYy8Du95J22pOAPB49beoBfC Jfal8ElIb499I6MH5HzxvqwCx0bqHevAuVJsdh6FxAa1JakDAtmhmYFK8BeFmh/FgtDym7PBdDob I1tcqZrx1BQlLSUFkoJaadJGiKlVumN7wHVD2eTSgIWYzIJwtX0gvBqG6+yS4VIYfMs6HRwEf5P9 yeMGMPJVbyhoOYUj7aoK5yfLHXIAlsfJj6kBtdP+TW4DIA8vgDzGFQAkQQBRwioAmigHUGaKQwCi mlchMkMcFh64OPI/QLSjdm0wihoAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTktMDgtMTBUMDM6NDU6 MTYtMDc6MDBV2/HBAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE5LTA4LTEwVDAzOjQ1OjE2LTA3OjAw JIZJfQAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAASUVORK5CYII="/></svg>';
            var tMscript = document.createElement('script');
            tMscript.innerText = `q = function(cssSelector){return document.querySelector(cssSelector);};qa = function(cssSelector){return document.querySelectorAll(cssSelector);};`;
            document.head.appendChild(tMscript);
            window.q = function(cssSelector) {return document.querySelector(cssSelector);};
            window.qa = function(cssSelector) {return document.querySelectorAll(cssSelector);};
            window.makeEl = function(tag){return document.createElement(tag);};
            /* 兼容 Tampermonkey | Violentmonkey | Greasymonkey 4.0+ */
            function GMaddStyle(cssText){
                let a = document.createElement('style');
                a.type = "text/css";
                a.textContent = cssText;
                let doc = document.head || document.documentElement;
                doc.appendChild(a);
            }
            GMaddStyle(`
/*TMHY:TamperMonkeyHuanYan*/
#TMHYvideoContainer{z-index:999998;background:rgba(0,0,0,.7);position:fixed;top:7em;left:5em;height:65%;width:65%;resize:both;overflow:auto;box-shadow:2px 2px 5px 5px rgba(255,255,0,.8);}
/*TMHYVideoContainer*/
#TMHYvideoContainer button{top:.1em;cursor:pointer;visibility:hidden;font-size:3em;color:#fff;background:transparent;border:0;}
#TMHYvideoContainer:hover button{visibility:visible;}
#TMHYvideoContainer:hover button:hover{color:#ff0;}
#TMHYiframe{height:100%;width:100%;overflow:auto;position:absolute;top:0;left:0;margin:auto;border:0;box-shadow:0 0 3em rgba(0,0,0,.4);z-index:-1;}
/*TMHYIframe*/
#TMHYul{position:fixed;top:5em;left:0;padding:0;z-index:999999;}
#TMHYul li{list-style:none;}
#TMHYul svg{float:right;}
.TM1{opacity:0.3;position:relative;padding-right:.5em;width:1.5em;cursor:pointer;}
.TM1:hover{opacity:1;}
.TM1 span{display:block;border-radius:0 .3em .3em 0;background-color:#ffff00;border:0;font:bold 1em "微软雅黑"!important;color:#ff0000;margin:0;padding:1em .3em;}
.TM3{position:absolute;top:0;left:1.5em;display:none;border-radius:.3em;margin:0;padding:0;}
.TM3 li{float:none;width:8.5em;margin:0;font-size:1em;padding:.15em .5em;cursor:pointer;color:#3a3a3a!important;background:rgba(255,255,0,0.8);}
.TM3 li:hover{color:white!important;background:rgba(0,0,0,.8);}
.TM3 li:last-child{border-radius:0 0 .35em .35em;}
.TM3 li:first-child{border-radius:.35em .35em 0 0;}
.TM1:hover .TM3{display:block;}
`);
            var defaultapi = {  
                title: "tv920,失效请更换接口",
                url: "https://api.tv920.com/vip/?url="
            };
            var apis =[
                {name:"tv920解析"+IQiyiIcon+YoukuIcon+VQQIcon,url:"https://api.tv920.com/vip/?url=",title:"腾讯超清快稳"},//wand
                {name:"17云"+YoukuIcon+VQQIcon,url:"https://www.1717yun.com/jx/ty.php?url=",title:"超清、速度较快"},//最
                {name:"解析啦"+IQiyiIcon+YoukuIcon+VQQIcon,url:"https://api.jiexi.la/?url=",title:"挺好的"},
                {name:"学习接口"+IQiyiIcon+YoukuIcon+VQQIcon,url:"http://jx.aeidu.cn/index.php?url=",title:"挺好的"},
                {name:"17云"+IQiyiIcon+YoukuIcon+VQQIcon,url:"http://17kyun.com/api.php?url=",title:"挺好的"},
                {name:"beaacc"+YoukuIcon+VQQIcon,url:"https://beaacc.com/api.php?url=",title:"优酷"},//去乾坤
                {name:"二度解析",url:"http://jx.du2.cc/?url=",title:"二度解析"},//wand
                {name:"花园影视"+IQiyiIcon+YoukuIcon+VQQIcon,url:"http://j.zz22x.com/jx/?url=",title:"挺好的"},//爱尚
                {name:"985解析"+IQiyiIcon+YoukuIcon+VQQIcon,url:"http://jx.598110.com/?url=",title:"腾讯(标清)"},//煎饼、爱圈
                {name:"石头解析"+IQiyiIcon+YoukuIcon+VQQIcon,url:"https://jiexi.071811.cc/jx.php?url=",title:"手动点播放"},//爱尚
                {name:"乐乐云",url:"https://660e.com/?url=",title:"乐乐云"},//爱圈
                {name:"618G",url:"https://jx.618g.com/?url=",title:"仅优酷"},//最、爱圈
                {name:"二度",url:"http://jx.drgxj.com/?url=",title:"1111"},//爱圈               
                {name:"冰豆",url:"http://api.bingdou.net/?url==",title:"优酷、腾讯"},//wand
                {name:"Duplay解析",url:"http://jx.du2.cc/?url=",title:"速度较慢"},//煎饼、爱尚
                {name:"jlsprh解析",url:"http://vip.jlsprh.com/?url=",title:"还行吧"},//煎饼、爱圈
                {name:"Hk解析",url:"http://jx.rdhk.net/?v=",title:"Hk解析"},//wand
                {name:"星空解析",url:"https://jx.fo97.cn/?url=",title:"星空解析"},//wand
                {name:"云直播",url:"https://vip.bljiex.com/?v=",title:"云直播"},//wand
                {name:"失效报修",url:"tencent://message/?uin=125555802&Site=Senlon.Net&Menu=yes",title:"接口提交"},//wand
            ];
            var defaultapi2 = {
                title: "小蒋云解析",
                url: "https://www.kpezp.cn/jlexi.php?url="
            };
            var apis2 =[
                {name:"手动接口",url:"http://www.xlpc.kwikphp.com/jiekou.html?url=",title:"李VIP"},//wand
                {name:"360dy解析",url:"http://yun.360dy.wang/jx.php?url=",title:"360dy解析"},//wand
                {name:"维多解析",url:"https://jx.ivito.cn/?url=",title:"维多解析(超清)"},//wand
                {name:"全网vip",url:"https://play.fo97.cn/?url=",title:"全网vip"},//wand
                {name:"1907影视",url:"https://z1.m1907.cn/?jx=",title:"1907影视"},//wand
                {name:"逆天解析",url:"http://nitian9.com/?url=",title:"逆天解析"},//wand
                {name:"豪华啦",url:"http://api.lhh.la/vip/?url=",title:"豪华啦"},//wand
                {name:"40解析",url:"https://jx40.net/url=",title:"40解析"},//wand
                {name:"8B解析",url:"http://api.8bjx.cn/?url=",title:"8B解析"},//wand
                {name:"114解析",url:"https://jx.f41.cc/?url=",title:"114解析"},//wand

            ];
            var defaultapi3 = {
                title: "超清干货",
                url: "http://k8aa.com/jx/index.php?url="
            };
            var apis3 =[
                {name:"超清干货",url:"http://k8aa.com/jx/index.php?url=",title:"超清干货"},//wand
                {name:"bl解析",url:"https://vip.bljiex.com/?v=",title:"bl解析"},//wand
                {name:"517解析",url:"http://cn.bjbanshan.cn/jx.php?url=",title:"517解析"},//wand
                {name:"618戈",url:"http://jx.618ge.com/?url=",title:"618戈"},//wand
                {name:"爸比解析",url:"http://www.33tn.cn/?url=",title:"爸比解析"},//wand
                {name:"宏伟解析",url:"http://www.cqhwdnwx.com/jx/?url=",title:"宏伟解析"},//wand
            ];
            var defaultapi4 = {
                title: "116kan",
                url: "http://vip.116kan.com/?url="
            };
            var apis4 =[
                {name:"116kan",url:"http://vip.116kan.com/?url=",title:"116kan"},//wand
                {name:"弦易阁",url:"http://jx.hongyishuzhai.com/index.php?url=",title:"弦易阁"},//wand
                {name:"55解析",url:"http://55jx.top/?url=",title:"55解析"},//wand
                {name:"19解析",url:"http://19g.top/?url=",title:"19解析"},//wand
                {name:"秒播解析",url:" http://www.cuan.la/?url=",title:"秒播解析"},//wand
                {name:"热点解析",url:"http://jx.rdhk.net/?v=",title:"热点解析"},//wand
                {name:"ha12解析",url:"http://py.ha12.xyz/sos/index.php?url=",title:"ha12解析"},//wand
            ];
            var defaultapi5 = {
                title: "综合线路⑪(不太稳定)",
                url: "https://yun.odflv.com/?url="
            };
            var apis5 =[
                {name:"综合线路①",url:"http://jx.598110.com/index.php?url=",title:"综合线路①"},//wand
                {name:"1717云",url:"https://www.1717yun.com/jx/ty.php?url=",title:"1717云"},//wand
                {name:"1ff1解析",url:"http://jx.1ff1.cn/?url=",title:"1ff1解析"},//wand
                {name:"云解析",url:"http://gege.ha123.club/gege1234/index.php?url=",title:"云解析"},//wand
                {name:"高清蓝光",url:"http://py.ha12.xyz/sos/index.php?url=",title:"尚未测试"},//wand
                {name:"beac解析",url:"https://beaacc.com/api.php?url=",title:"尚未测试"},//wand
                {name:"尚未测试",url:"https://cdn.yangju.vip/k/?url=",title:"尚未测试"},//wand
                {name:"尚未测试",url:"https://www.myxin.top/jx/api/?url=",title:"尚未测试"},//wand
                {name:"尚未测试",url:"http://jx.618ge.com/?url=",title:"尚未测试"},//wand
                {name:"尚未测试",url:"http://jx.598110.com/?url=",title:"尚未测试"},//wand
                {name:"尚未测试",url:"http://jx.aeidu.cn/index.php?url=",title:"尚未测试"},//wand
                {name:"尚未测试",url:"https://z1.m1907.cn/?jx=",title:"尚未测试"},//wand
                {name:"尚未测试",url:"https://jqaaa.com/jx.php?url=",title:"尚未测试"},//wand
                {name:"尚未测试",url:"http://www.1717yun.com/jx/ty.php?url=",title:"尚未测试"},//wand
                {name:"尚未测试",url:"http://api.smq1.com/?url=",title:"尚未测试"},//wand
                {name:"尚未测试",url:"http://17kyun.com/api.php?url=",title:"尚未测试"},//wand
                {name:"尚未测试",url:"https://jx.618g.com/?url=",title:"尚未测试"},//wand
                {name:"尚未测试",url:"https://jiexi.071811.cc/jx.php?url=",title:"尚未测试"},//wand
                {name:"尚未测试",url:"http://api.nepian.com/ckparse/?url=",title:"尚未测试"},//wand
                {name:"尚未测试",url:"http://beaacc.com/api.php?url=",title:"尚未测试"},//wand
                {name:"尚未测试",url:"http://api.bbbbbb.me/jx/?url=",title:"尚未测试"},//wand
                {name:"尚未测试",url:"http://2gty.com/apiurl/yun.php?url=",title:"尚未测试"},//wand
                {name:"尚未测试",url:"http://api.sigujx.com/?url=",title:"尚未测试"},//wand
                {name:"尚未测试",url:"http://okjx.cc/?url=",title:"尚未测试"},//wand
            ];

            /*  执行  */
            var div = makeEl("div");
            div.id = "TMHYd";
            var txt = '', i = 0;
            var txt2 = '',j = 0;
            var txt3 = '',k = 0;
            var txt4 = '',l = 0;
            var txt5 = '',m = 0;
            /*提供的接口列表*/
            for (i in apis) {
                txt += `<li data-order=${i} data-url="${apis[i].url}" title="${apis[i].title}" onclick="window.open(this.dataset.url+location.href)">${apis[i].name}</li>`;
            }
            for (j in apis2) {
                txt2 += `<li data-order=${j} data-url="${apis2[j].url}" title="${apis2[j].title}" onclick="window.open(this.dataset.url+location.href)">${apis2[j].name}</li>`;
            }
            for (k in apis3) {
                txt3 += `<li data-order=${k} data-url="${apis3[k].url}" title="${apis3[k].title}" onclick="window.open(this.dataset.url+location.href)">${apis3[k].name}</li>`;
            }
            for (l in apis4) {
                txt4 += `<li data-order=${l} data-url="${apis4[l].url}" title="${apis4[l].title}" onclick="window.open(this.dataset.url+location.href)">${apis4[l].name}</li>`;
            }
            for (m in apis5) {
                txt5 += `<li data-order=${m} data-url="${apis5[m].url}" title="${apis5[m].title}" onclick="window.open(this.dataset.url+location.href)">${apis5[m].name}</li>`;
            }
            div.innerHTML = `
<ul id="TMHYul">
<li class="TM1"><span id="TMList"  title="${defaultapi.title}" onclick="window.open(\'${defaultapi.url}\'+window.location.href)">▶</span><ul class="TM3 TM4">${txt}</ul></li>
<li class="TM1"><span id="TMList"  title="${defaultapi2.title}" onclick="window.open(\'${defaultapi2.url}\'+window.location.href)">①</span><ul class="TM3 TM4">${txt2}</ul></li>
<li class="TM1"><span id="TMList"  title="${defaultapi3.title}" onclick="window.open(\'${defaultapi3.url}\'+window.location.href)">②</span><ul class="TM3 TM4">${txt3}</ul></li>
<li class="TM1"><span id="TMList"  title="${defaultapi4.title}" onclick="window.open(\'${defaultapi4.url}\'+window.location.href)">③</span><ul class="TM3 TM4">${txt4}</ul></li>
<li class="TM1"><span id="TMList"  title="${defaultapi5.title}" onclick="window.open(\'${defaultapi5.url}\'+window.location.href)">④</span><ul class="TM3 TM4">${txt5}</ul></li>

</ul>
`;
            document.body.appendChild(div);
        }
        $(cssSelector).append(obtainAppendHtml(host, coupon, productNm, Clabel, RedPacket, Rlabel));
    });

    function obtainAppendHtml(host, coupon, productNm, Clabel, RedPacket, Rlabel) {
        if (host.indexOf('taobao.com') > 0) {
            return '<div class="div-inline"><div class="tb-btn-buy" style="padding-top:11px;"><a href="' + coupon + encodeURI(productNm) + '" target="_blank">' + Clabel + '</a></div></div>'
                +'<div class="div-inline"><div class="tb-btn-add" style="padding-top:11px;"><a href="' + RedPacket + '" target="_blank">' + Rlabel + '</a></div></div>';
                //+'<div class="div-inline"><div class="tb-btn-buy" style="padding-top:11px;"><a href="' + DPacket + ' " title="中国" target="_blank">' + Dlabel + '</a></div></div>'
                //+'<div class="div-inline"><div class="tb-btn-add" style="padding-top:11px;"><a href="' + EPacket + '"  title="中国" target="_blank">' + Elabel + '</a></div></div>';
        } else if (host == 'chaoshi.detail.tmall.com' ) {
            return '<br/><br/><br/><div class="div-inline"><div class="tb-btn-buy tb-btn-sku"  style="padding-top:11px;"><a href="' + coupon + encodeURI(productNm) + '" target="_blank">' + Clabel + '</a></div></div>'
                +'<div class="div-inline"><div class="tb-btn-basket tb-btn-sku " style="padding-top:11px;"><a href="' + RedPacket + '" target="_blank">' + Rlabel + '</a></div></div>';
                //+'<div class="div-inline"><div class="tb-btn-buy tb-btn-sku"  style="padding-top:11px;"><a href="' + DPacket + '" title="中国" target="_blank">' + Dlabel + '</a></div></div> '
                //+'<div class="div-inline"><div class="tb-btn-basket tb-btn-sku " style="padding-top:11px;"><a href="' + EPacket + '" title="中国" target="_blank">' + Elabel + '</a></div></div>';
        } else if (host.indexOf('tmall.com') > 0 || host == 'detail.liangxinyao.com') {
            return '<div class="div-inline"><div class="tb-btn-buy tb-btn-sku"  style="padding-top:11px;"><a href="' + coupon + encodeURI(productNm) + '" target="_blank">' + Clabel + '</a></div></div>'
                +'<div class="div-inline"><div class="tb-btn-basket tb-btn-sku " style="padding-top:11px;"><a href="' + RedPacket + '" target="_blank">' + Rlabel + '</a></div></div>';
                //+'<div class="div-inline"><div class="tb-btn-buy tb-btn-sku"  style="padding-top:11px;"><a href="' + DPacket + '" title="中国" target="_blank">' + Dlabel + '</a></div></div>'
                //+'<div class="div-inline"><div class="tb-btn-basket tb-btn-sku " style="padding-top:11px;"><a href="' + EPacket + '" title="中国" target="_blank">' + Elabel + '</a></div></div>';
        }
    }
})();






// @description       通杀大部分网站,可以解除禁止复制、剪切、选择文本、右键菜单的限制。
// @description:en    Pass to kill most of the site, you can lift the restrictions prohibited to copy, cut, select the text, right-click menu.
// @description:zh    通杀大部分网站,可以解除禁止复制、剪切、选择文本、右键菜单的限制。
// @description:zh-CN 通杀大部分网站,可以解除禁止复制、剪切、选择文本、右键菜单的限制。
// @description:zh-TW 通殺大部分網站,可以解除禁止復制、剪切、選擇文本、右鍵菜單的限制。
// @description:ja    サイトのほとんどを殺すために渡し、あなたは、コピー切り取り、テキスト、右クリックメニューを選択することは禁止の制限を解除することができます。

// @homepageURL       https://cat7373.github.io/remove-web-limits/
// @supportURL        https://github.com/Cat7373/remove-web-limits/issues/

// @author            Cat73
// @version           1.3
// @license           LGPLv3

// @compatible        chrome Chrome_46.0.2490.86 + TamperMonkey + 脚本_1.3 测试通过
// @compatible        firefox Firefox_42.0 + GreaseMonkey + 脚本_1.2.1 测试通过
// @compatible        opera Opera_33.0.1990.115 + TamperMonkey + 脚本_1.1.3 测试通过
// @compatible        safari 未测试

// @match             *://*/*
// @grant             none
// @run-at            document-start
// ==/UserScript==
(function() {
  'use strict';

  // 域名规则列表
  var rules = {
    black_rule: {
      name: "black",
      hook_eventNames: "",
      unhook_eventNames: ""
    },
    default_rule: {
      name: "default",
      hook_eventNames: "contextmenu|select|selectstart|copy|cut|dragstart",
      unhook_eventNames: "mousedown|mouseup|keydown|keyup",
      dom0: true,
      hook_addEventListener: true,
      hook_preventDefault: true,
      hook_set_returnValue: true,
      add_css: true
    }
  };
  // 域名列表
  var lists = {
    // 黑名单
    black_list: [
      /.*\.youtube\.com.*/,
      /.*\.wikipedia\.org.*/,
      /mail\.qq\.com.*/,
      /translate\.google\..*/
    ]
  };

  // 要处理的 event 列表
  var hook_eventNames, unhook_eventNames, eventNames;
  // 储存名称
  var storageName = getRandStr('qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM', parseInt(Math.random() * 12 + 8));
  // 储存被 Hook 的函数
  var EventTarget_addEventListener = EventTarget.prototype.addEventListener;
  var document_addEventListener = document.addEventListener;
  var Event_preventDefault = Event.prototype.preventDefault;

  // Hook addEventListener proc
  function addEventListener(type, func, useCapture) {
    var _addEventListener = this === document ? document_addEventListener : EventTarget_addEventListener;
    if(hook_eventNames.indexOf(type) >= 0) {
      _addEventListener.apply(this, [type, returnTrue, useCapture]);
    } else if(unhook_eventNames.indexOf(type) >= 0) {
      var funcsName = storageName + type + (useCapture ? 't' : 'f');

      if(this[funcsName] === undefined) {
        this[funcsName] = [];
        _addEventListener.apply(this, [type, useCapture ? unhook_t : unhook_f, useCapture]);
      }

      this[funcsName].push(func);
    } else {
      _addEventListener.apply(this, arguments);
    }
  }

  // 清理循环
  function clearLoop() {
    var elements = getElements();

    for(var i in elements) {
      for(var j in eventNames) {
        var name = 'on' + eventNames[j];
        if(elements[i][name] !== null && elements[i][name] !== onxxx) {
          if(unhook_eventNames.indexOf(eventNames[j]) >= 0) {
            elements[i][storageName + name] = elements[i][name];
            elements[i][name] = onxxx;
          } else {
            elements[i][name] = null;
          }
        }
      }
    }
  }

  // 返回true的函数
  function returnTrue(e) {
    return true;
  }
  function unhook_t(e) {
    return unhook(e, this, storageName + e.type + 't');
  }
  function unhook_f(e) {
    return unhook(e, this, storageName + e.type + 'f');
  }
  function unhook(e, self, funcsName) {
    var list = self[funcsName];
    for(var i in list) {
      list[i](e);
    }

    e.returnValue = true;
    return true;
  }
  function onxxx(e) {
    var name = storageName + 'on' + e.type;
    this[name](e);

    e.returnValue = true;
    return true;
  }

  // 获取随机字符串
  function getRandStr(chs, len) {
    var str = '';

    while(len--) {
      str += chs[parseInt(Math.random() * chs.length)];
    }

    return str;
  }

  // 获取所有元素 包括document
  function getElements() {
    var elements = Array.prototype.slice.call(document.getElementsByTagName('*'));
    elements.push(document);

    return elements;
  }

  // 添加css
  function addStyle(css) {
    var style = document.createElement('style');
    style.innerHTML = css;
    document.head.appendChild(style);
  }

  // 获取目标域名应该使用的规则
  function getRule(url) {
    function testUrl(list, url) {
      for(var i in list) {
        if(list[i].test(url)) {
          return true;
        }
      }

      return false;
    }

    if(testUrl(lists.black_list, url)) {
      return rules.black_rule;
    }

    return rules.default_rule;
  }

  // 初始化
  function init() {
    // 获取当前域名的规则
    var url = window.location.host + window.location.pathname;
    var rule = getRule(url);

    // 设置 event 列表
    hook_eventNames = rule.hook_eventNames.split("|");
    // TODO Allowed to return value
    unhook_eventNames = rule.unhook_eventNames.split("|");
    eventNames = hook_eventNames.concat(unhook_eventNames);

    // 调用清理 DOM0 event 方法的循环
    if(rule.dom0) {
      setInterval(clearLoop, 30 * 1000);
      setTimeout(clearLoop, 2500);
      window.addEventListener('load', clearLoop, true);
      clearLoop();
    }

    // hook addEventListener
    if(rule.hook_addEventListener) {
      EventTarget.prototype.addEventListener = addEventListener;
      document.addEventListener = addEventListener;
    }

    // hook preventDefault
    if(rule.hook_preventDefault) {
      Event.prototype.preventDefault = function() {
        if(eventNames.indexOf(this.type) < 0) {
          Event_preventDefault.apply(this, arguments);
        }
      };
    }

    // Hook set returnValue
    if(rule.hook_set_returnValue) {
      Event.prototype.__defineSetter__('returnValue', function() {
        if(this.returnValue !== true && eventNames.indexOf(this.type) >= 0) {
          this.returnValue = true;
        }
      });
    }

    console.debug('url: ' + url, 'storageName:' + storageName, 'rule: ' + rule.name);

    // 添加CSS
    if(rule.add_css) {
      addStyle('html, * {-webkit-user-select:text!important; -moz-user-select:text!important;}');
    }
  }

  init();
})();