// ==UserScript== // @name 全网VIP视频免费破解去广告【专注一个脚本只做一件事件】长期更新,放心使用 // @namespace http://tampermonkey.net/ // @version 1.0.7 // @description 专注一个脚本只做一件事件:【视频自动解析,体会拥有VIP的感觉】支持:腾讯、爱奇艺、优酷、芒果、Bilibili等全网VIP视频解析、支持移动端浏览器; // @icon data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAkACQAAD//gAUU29mdHdhcmU6IFNuaXBhc3Rl/9sAQwADAgIDAgIDAwMDBAMDBAUIBQUEBAUKBwcGCAwKDAwLCgsLDQ4SEA0OEQ4LCxAWEBETFBUVFQwPFxgWFBgSFBUU/9sAQwEDBAQFBAUJBQUJFA0LDRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU/8AAEQgAGgAeAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A8/stTivZLhFV0eBtrhwB+PXpXc/Bj4bXXxy1ObTdE1XTrDUE3GO31PzkMyqMsytHE64Gf4iD6A15TrUx0fUriVQcXcBUY/vjivpb9hGz+w/GLTocYK6dcbvqQCa/Q6ec46dWth21zUFNzdt3zfuvS8btng5rwnkuCy3DZrSi3DGyoqiuZ6JQf1m/flq2hG+yMPTf2e9X1nVPEFlZa9olx/YTmO9nDXKxo4LB1G6AMxUockDB7E1i+Jvg/rnhzw/peuRSWut6RqP+pu9MMjgHBIDK6KwOAe3bBwa+g/hQEPiP41CVmSM6ndbmRdxA3zZIGRn8xXkniP42Wdr4C0Dwp4XhvPI0/wDeTX2oIsbyvhshUR2AGWJ5Y9h71+cUuKuK8ZxVisry6KqUqFSkpJxSiqc6DnKUp7qXPyqKV7pv3WtV8NWyzLKGAhXrNxlNTtZ3fNGdkku3Le/5njU1tDcbfNiSXacrvUHB9q3/AA/438R+Eo5o9D1/VNGSYhpV0+8kgDkdCwRhn8axaK/od0abbbitd9N7bXPh/rNflhDndo3sruyvvbtfrbc6Kf4j+LLq4uJ5vFGszT3CCOaSTUJmaVBnCsS2SBk8H1Nc7RRUU8NRoylOlBRcrXaSTdtFfvZbGU6tSpbnk3buz//Z // @author reid // @include *://*.youku.com/v_* // @include *://*.iqiyi.com/v_* // @include *://*.iqiyi.com/w_* // @include *://*.iqiyi.com/a_* // @include *://*.le.com/ptv/vplay/* // @include *://v.qq.com/x/cover/* // @include *://v.qq.com/x/page/* // @include *://v.qq.com/tv/* // @include *://*.tudou.com/listplay/* // @include *://*.tudou.com/albumplay/* // @include *://*.tudou.com/programs/view/* // @include *://*.mgtv.com/b/* // @include *://film.sohu.com/album/* // @include *://tv.sohu.com/v/* // @include *://*.bilibili.com/video/* // @include *://*.bilibili.com/bangumi/play/* // @include *://*.baofeng.com/play/* // @include *://vip.pptv.com/show/* // @include *://v.pptv.com/show/* // @include *://www.le.com/ptv/vplay/* // @include *://www.wasu.cn/Play/show/* // @include *://m.v.qq.com/x/cover/* // @include *://m.v.qq.com/x/page/* // @include *://m.v.qq.com/* // @include *://m.iqiyi.com/* // @include *://m.iqiyi.com/kszt/* // @include *://m.youku.com/alipay_video/* // @include *://m.mgtv.com/b/* // @include *://m.tv.sohu.com/v/* // @include *://m.film.sohu.com/album/* // @include *://m.le.com/ptv/vplay/* // @include *://m.pptv.com/show/* // @include *://m.acfun.cn/v/* // @include *://m.bilibili.com/video/* // @include *://m.bilibili.com/anime/* // @include *://m.bilibili.com/bangumi/play/* // @require https://cdn.bootcdn.net/ajax/libs/jquery/3.2.1/jquery.min.js // @connect api.bilibili.com // @grant unsafeWindow // @grant GM_addStyle // @grant GM_openInTab // @grant GM_getValue // @grant GM_setValue // @grant GM_xmlhttpRequest // @license GPL License // @charset UTF-8 // @downloadURL none // ==/UserScript== const util = (function () { function findTargetElement(targetContainer) { const body = window.document; let tabContainer; let tryTime = 0; const maxTryTime = 30; return new Promise((resolve, reject) => { let interval = setInterval(() => { tabContainer = body.querySelector(targetContainer); if (tabContainer) { clearInterval(interval); resolve(tabContainer); } if ((++tryTime) === maxTryTime) { clearInterval(interval); reject(); } }, 1000); }); } function syncRequest(option) { return new Promise((resolve, reject) => { option.onload = (res) => { resolve(res); }; option.onerror = (err) => { reject(err); }; GM_xmlhttpRequest(option); }); } return { req: (option) => syncRequest(option), findTargetEle: (targetEle) => findTargetElement(targetEle) } })(); const superVip = (function () { const _CONFIG_ = { vipBoxId: 'vip_jx_box' + Math.ceil(Math.random() * 100000000), autoPlayerKey: "auto_player_key" + window.location.host, autoPlayerVal: "auto_player_value_" + window.location.host, videoParseList: [ {"name": "纯净/B站", "category": "1", "url": "https://z1.m1907.cn/?jx="}, {"name": "高速接口", "category": "1", "url": "https://jsap.attakids.com/?url="}, {"name": "综合/B站1", "category": "1", "url": "https://vip.parwix.com:4433/player/?url="}, {"name": "OK解析", "category": "1", "url": "https://okjx.cc/?url="}, {"name": "夜幕", "category": "1", "url": "https://www.yemu.xyz/?url="}, {"name": "乐多资源", "category": "1", "url": "https://api.leduotv.com/wp-api/ifr.php?isDp=1&vid="}, {"name": "虾米", "category": "1", "url": "https://jx.xmflv.com/?url="}, {"name": "全民", "category": "1", "url": "https://jx.quanmingjiexi.com/?url="}, {"name": "七哥", "category": "1", "url": "https://jx.mmkv.cn/tv.php?url="}, {"name": "冰豆", "category": "1", "url": "https://api.qianqi.net/vip/?url="}, {"name": "迪奥", "category": "1", "url": "https://123.1dior.cn/?url="}, {"name": "CK", "category": "1", "url": "https://www.ckplayer.vip/jiexi/?url="}, {"name": "LE", "category": "1", "url": "https://lecurl.cn/?url="}, {"name": "ckmov", "category": "1", "url": "https://www.ckmov.vip/api.php?url="}, {"name": "ccyjjd", "category": "1", "url": "https://ckmov.ccyjjd.com/ckmov/?url="}, {"name": "爱豆", "category": "1", "url": "https://jx.aidouer.net/?url="}, {"name":"诺诺","category":"1","url":"https://www.ckmov.com/?url="}, {"name": "H8", "category": "1", "url": "https://www.h8jx.com/jiexi.php?url="}, {"name": "BL", "category": "1", "url": "https://vip.bljiex.com/?v="}, {"name": "解析la", "category": "1", "url": "https://api.jiexi.la/?url="}, {"name": "MUTV", "category": "1", "url": "https://jiexi.janan.net/jiexi/?url="}, {"name": "MAO", "category": "1", "url": "https://www.mtosz.com/m3u8.php?url="}, {"name": "老板", "category": "1", "url": "https://vip.laobandq.com/jiexi.php?url="}, {"name": "盘古", "category": "1", "url": "https://www.pangujiexi.cc/jiexi.php?url="}, {"name": "盖世", "category": "1", "url": "https://www.gai4.com/?url="}, {"name": "小蒋", "category": "1", "url": "https://www.kpezp.cn/jlexi.php?url="}, {"name": "YiTV", "category": "1", "url": "https://jiexi.us/?url="}, {"name": "星空", "category": "1", "url": "http://60jx.com/?url="}, {"name": "0523", "category": "1", "url": "https://go.yh0523.cn/y.cy?url="}, {"name": "17云", "category": "1", "url": "https://www.1717yun.com/jx/ty.php?url="}, {"name": "4K", "category": "1", "url": "https://jx.4kdv.com/?url="}, {"name": "云析", "category": "1", "url": "https://jx.yparse.com/index.php?url="}, {"name": "8090", "category": "1", "url": "https://www.8090g.cn/?url="}, {"name": "江湖", "category": "1", "url": "https://api.jhdyw.vip/?url="}, {"name": "诺讯", "category": "1", "url": "https://www.nxflv.com/?url="}, {"name": "PM", "category": "1", "url": "https://www.playm3u8.cn/jiexi.php?url="}, {"name": "奇米", "category": "1", "url": "https://qimihe.com/?url="}, {"name": "思云", "category": "1", "url": "https://jx.ap2p.cn/?url="}, {"name": "听乐", "category": "1", "url": "https://jx.dj6u.com/?url="}, {"name": "aijx", "category": "1", "url": "https://jiexi.t7g.cn/?url="}, {"name": "52", "category": "1", "url": "https://vip.52jiexi.top/?url="}, {"name": "黑米", "category": "1", "url": "https://www.myxin.top/jx/api/?url="}, {"name": "豪华啦", "category": "1", "url": "https://api.lhh.la/vip/?url="}, {"name": "凉城", "category": "1", "url": "https://jx.mw0.cc/?url="}, {"name": "33t", "category": "1", "url": "https://www.33tn.cn/?url="}, {"name": "180", "category": "1", "url": "https://jx.000180.top/jx/?url="}, {"name": "无名", "category": "1", "url": "https://www.administratorw.com/video.php?url="}, {"name": "黑云", "category": "1", "url": "https://jiexi.380k.com/?url="}, {"name": "九八", "category": "1", "url": "https://jx.youyitv.com/?url="}, {"name": "综合线路解析", "category": "2", "url": "https://www.xixicai.top/mov/s/?sv=3&url="}, {"name": "纯净/B站", "category": "2", "url": "https://z1.m1907.cn/?jx="}, {"name": "高速接口", "category": "2", "url": "https://jsap.attakids.com/?url="}, {"name": "综合/B站1", "category": "2", "url": "https://vip.parwix.com:4433/player/?url="}, {"name": "OK解析", "category": "2", "url": "https://okjx.cc/?url="}, //{"name": "诺诺", "category": "2", "url": "https://www.ckmov.com/?url="}, {"name": "夜幕", "category": "1", "url": "https://www.yemu.xyz/?url="}, {"name": "虾米", "category": "2", "url": "https://jx.xmflv.com/?url="}, {"name": "全民", "category": "2", "url": "https://jx.quanmingjiexi.com/?url="} ], playerNodes: [ {url: "v.qq.com", node: "#mod_player", name: "QQ"}, {url: "m.v.qq.com", node: ".mod_player", name: "Default"}, {url: "w.mgtv.com", node: "#mgtv-player-wrap", name: "MGTV"}, {url: "www.mgtv.com", node: "#mgtv-player-wrap", name: "MGTV"}, {url: "m.mgtv.com", node: ".video-area", name: "Default"}, {url: "www.bilibili.com", node: "#player_module", name: "BB"}, {url: "www.iqiyi.com", node: "#flashbox", name: "Default"}, {url: "m.iqiyi.com", node: ".m-vipPlayer-tip", name: "Default"}, {url: "v.youku.com", node: "#player", name: "Default"}, {url: "tv.sohu.com", node: "#player", name: "Default"}, {url: "film.sohu.com", node: "#playerWrap", name: "Default"}, {url: "www.le.com", node: "#le_playbox", name: "Default"}, {url: "video.tudou.com", node: ".td-playbox", name: "Default"}, {url: "v.pptv.com", node: "#pptv_playpage_box", name: "Default"}, {url: "vip.pptv.com", node: ".w-video", name: "Default"}, {url: "www.wasu.cn", node: "#flashContent", name: "Default"}, {url: "www.acfun.cn", node: "#player", name: "Default"} ] }; class BaseConsumer { constructor() { this.parse = () => { util.findTargetEle('body') .then((container) => this.preHandle(container)) .then((container) => this.generateElement(container)) .then((container) => this.bindEvent(container)) .then((container) => this.autoPlay(container)) .then((container) => this.postHandle(container)); } } /** * 前置处理 */ preHandle(container) { return new Promise((resolve, reject) => resolve(container)); } generateElement(container) { GM_addStyle(` #${_CONFIG_.vipBoxId} {cursor:pointer; position:fixed; top:120px; left:0px; z-index:9999999; text-align:left;} #${_CONFIG_.vipBoxId} .img_box{width:32px; height:32px;line-height:32px;text-align:center;background-color:#1c84c6;margin:5px 0px;} #${_CONFIG_.vipBoxId} .vip_list {display:none; position:absolute; border-radius:5px; left:32px; top:0; text-align:center; background-color: #3f4149; border:1px solid white;padding:10px 0px; width:380px; max-height:400px; overflow-y:auto;} #${_CONFIG_.vipBoxId} .vip_list li{border-radius:2px; font-size:12px; color:#DCDCDC; text-align:center; width:calc(25% - 14px); line-height:21px; float:left; border:1px solid gray; padding:0 4px; margin:4px 2px;overflow:hidden;white-space: nowrap;text-overflow: ellipsis;-o-text-overflow:ellipsis;} #${_CONFIG_.vipBoxId} .vip_list li:hover{color:#1c84c6; border:1px solid #1c84c6;} #${_CONFIG_.vipBoxId} .vip_list ul{padding-left: 10px;} #${_CONFIG_.vipBoxId} .vip_list::-webkit-scrollbar{width:5px; height:1px;} #${_CONFIG_.vipBoxId} .vip_list::-webkit-scrollbar-thumb{box-shadow:inset 0 0 5px rgba(0, 0, 0, 0.2); background:#A8A8A8;} #${_CONFIG_.vipBoxId} .vip_list::-webkit-scrollbar-track{box-shadow:inset 0 0 5px rgba(0, 0, 0, 0.2); background:#F1F1F1;} #${_CONFIG_.vipBoxId} li.selected{color:#1c84c6; border:1px solid #1c84c6;} `); let category_1_html = ""; let category_2_html = ""; _CONFIG_.videoParseList.forEach((item, index) => { if (item.category === "1") { category_1_html += `
  • ${item.name}
  • `; } if (item.category === "2") { category_2_html += `
  • ${item.name}
  • `; } }); let autoPlay = !!GM_getValue(_CONFIG_.autoPlayerKey, null) ? "开" : "关"; $(container).append(`
    VIP

    视频解析源[内嵌播放]

      ${category_1_html}

    视频解析源[弹窗播放]

      ${category_2_html}
    自动解析功能说明:
      1、自动解析功能默认关闭
      2、开启自动解析,网页打开后脚本将根据当前选中的解析源自动解析视频。如解析失败,请手动选择不同的解析源尝试
      3、没有选中解析源将随机选取一个
      4、如某些网站有会员可以关闭自动解析功能
    ${autoPlay}
    `); return new Promise((resolve, reject) => resolve(container)); } bindEvent(container) { const vipBox = $(`#${_CONFIG_.vipBoxId}`); if (navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) { vipBox.find(".vip_icon").on("click", () => vipBox.find(".vip_list").toggle()); } else { vipBox.find(".vip_icon").on("mouseover", () => vipBox.find(".vip_list").show()); vipBox.find(".vip_icon").on("mouseout", () => vipBox.find(".vip_list").hide()); } let _this = this; vipBox.find(".vip_list li").each((liIndex, item) => { item.addEventListener("click", () => { const index = parseInt($(item).attr("data-index")); GM_setValue(_CONFIG_.autoPlayerVal, index); _this.showPlayerWindow(_CONFIG_.videoParseList[index]); vipBox.find(".vip_list li").removeClass("selected"); $(item).addClass("selected"); }); }); //右键移动位置 vipBox.mousedown(function (e) { if (e.which !== 3) { return; } e.preventDefault() vipBox.css("cursor", "move"); const positionDiv = $(this).offset(); let distenceX = e.pageX - positionDiv.left; let distenceY = e.pageY - positionDiv.top; $(document).mousemove(function (e) { let x = e.pageX - distenceX; let y = e.pageY - distenceY; const windowWidth = $(window).width(); const windowHeight = $(window).height(); if (x < 0) { x = 0; } else if (x > windowWidth - vipBox.outerWidth(true) - 100) { x = windowWidth - vipBox.outerWidth(true) - 100; } if (y < 0) { y = 0; } else if (y > windowHeight - vipBox.outerHeight(true)) { y = windowHeight - vipBox.outerHeight(true); } vipBox.css("left", x); vipBox.css("top", y); GM_setValue("Position_" + window.location.host, {"left": x, "top": y}); }); $(document).mouseup(function () { $(document).off('mousemove'); vipBox.css("cursor", "pointer"); }); $(document).contextmenu(function (e) { e.preventDefault(); }) }); return new Promise((resolve, reject) => resolve(container)); } autoPlay(container) { const vipBox = $(`#${_CONFIG_.vipBoxId}`); vipBox.find("#vip_auto").on("click", function () { if (!!GM_getValue(_CONFIG_.autoPlayerKey, null)) { GM_setValue(_CONFIG_.autoPlayerKey, null); $(this).html("关"); $(this).attr("title", "是否打开自动解析。若自动解析失败,请手动选择其它接口尝试!!"); } else { GM_setValue(_CONFIG_.autoPlayerKey, "true"); $(this).html("开"); setTimeout(function () { window.location.reload(); }, 500); } }); if (!!GM_getValue(_CONFIG_.autoPlayerKey, null)) { let index = GM_getValue(_CONFIG_.autoPlayerVal, 2); let autoObj = _CONFIG_.videoParseList[index]; this.showPlayerWindow(autoObj); vipBox.find(`.vip_list [data-index="${index}"]`).addClass("selected"); $(container).find("#vip_auto").attr("title", `自动解析源:${autoObj.name}`); } return new Promise((resolve, reject) => resolve(container)); } showPlayerWindow(videoObj) { let playerNode = _CONFIG_.playerNodes.filter(value => value.url === window.location.host); if (playerNode === null) { console.log("页面播放node查找失败...."); return; } util.findTargetEle(playerNode[0].node) .then((container) => { const category = videoObj.category; let url = videoObj.url + window.location.href; if (category === "1") { $(container).empty(); $(container).append(`
    `); } if (category === "2") { GM_openInTab(url, {active: true, insert: true, setParent: true}); } }); } /** * 后置处理 */ postHandle(container) { } } class DefaultConsumer extends BaseConsumer { } class QQConsumer extends BaseConsumer { preHandle(container) { util.findTargetEle('#mask_layer') .then((obj) => obj.style.display = 'none') .catch(e => console.warn("不存在元素", e)); util.findTargetEle('.mod_vip_popup') .then((obj) => obj.style.display = 'none') .catch(e => console.warn("不存在元素", e)); return new Promise((resolve, reject) => resolve(container)); } postHandle(container) { $(container).on("mouseover", ".item a", function (e) { let $playerItem = $(this), href = $playerItem.attr("href") || $playerItem.data("href"); $playerItem.off("click.chrome"); $playerItem.on("click.chrome", function () { window.location.href = href }).attr("data-href", href).css({ cursor: 'pointer' }).removeAttr("href") }); } } class BBConsumer extends BaseConsumer { postHandle(container) { $(container).on("mouseover", ".ep-item a", function (e) { let $playerItem = $(this), href = $playerItem.attr("href") || $playerItem.data("href"); $playerItem.off("click.chrome"); $playerItem.on("click.chrome", function () { window.location.href = href }).attr("data-href", href).css({ cursor: 'pointer' }).removeAttr("href"); }) } } class MGTVConsumer extends BaseConsumer { postHandle(container) { $(container).on("click", ".episode-items a", function (e) { setTimeout(function () { window.location.reload(); }, 1000); }) } } return { start: () => { let mallCase = 'Default'; let playerNode = _CONFIG_.playerNodes.filter(value => value.url === window.location.host); if (playerNode === null || playerNode.length <= 0) { console.log("页面播放node查找失败...."); return; } mallCase = playerNode[0].name; const targetConsumer = eval(`new ${mallCase}Consumer`); targetConsumer.parse(); } } })(); (function () { superVip.start(); })();