// ==UserScript== // @name 少废话 - 全网VIP视频免费看 // @namespace http://tampermonkey.net/ // @version 3.2.3 // @description 少废话 - 全网VIP视频免费看。支持:所有主流视频网站; // @icon data:image/jpeg;base64,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 // @author sfh // @match *://*.youku.com/* // @match *://*.iqiyi.com/* // @match *://*.iq.com/* // @match *://*.le.com/* // @match *://v.qq.com/* // @match *://m.v.qq.com/*Q // @match *://*.tudou.com/* // @match *://*.mgtv.com/* // @match *://tv.sohu.com/* // @match *://film.sohu.com/* // @match *://*.1905.com/* // @match *://*.bilibili.com/* // @match *://*.pptv.com/* // @require https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js // @grant unsafeWindow // @grant GM_addStyle // @grant GM_openInTab // @grant GM_getValue // @grant GM_setValue // @grant GM_xmlhttpRequest // @grant GM_log // @charset UTF-8 // @license gpl-3.0 // @downloadURL https://update.greasyfork.org/scripts/498544/%E5%B0%91%E5%BA%9F%E8%AF%9D%20-%20%E5%85%A8%E7%BD%91VIP%E8%A7%86%E9%A2%91%E5%85%8D%E8%B4%B9%E7%9C%8B.user.js // @updateURL https://update.greasyfork.org/scripts/498544/%E5%B0%91%E5%BA%9F%E8%AF%9D%20-%20%E5%85%A8%E7%BD%91VIP%E8%A7%86%E9%A2%91%E5%85%8D%E8%B4%B9%E7%9C%8B.meta.js // ==/UserScript== const util = (function () { function findTargetElement(targetContainer) { const body = window.document; let tabContainer; let tryTime = 0; const maxTryTime = 120; let startTimestamp; return new Promise((resolve, reject) => { function tryFindElement(timestamp) { if (!startTimestamp) { startTimestamp = timestamp; } const elapsedTime = timestamp - startTimestamp; if (elapsedTime >= 500) { GM_log("查找元素:" + targetContainer + ",第" + tryTime + "次"); tabContainer = body.querySelector(targetContainer); if (tabContainer) { resolve(tabContainer); } else if (++tryTime === maxTryTime) { reject(); } else { startTimestamp = timestamp; } } if (!tabContainer && tryTime < maxTryTime) { requestAnimationFrame(tryFindElement); } } requestAnimationFrame(tryFindElement); }); } function urlChangeReload() { const oldHref = window.location.href; let interval = setInterval(() => { let newHref = window.location.href; if (oldHref !== newHref) { clearInterval(interval); window.location.reload(); } }, 500); } function reomveVideo() { setInterval(() => { for (let video of document.getElementsByTagName("video")) { if (video.src) { video.removeAttribute("src"); video.muted = true; video.load(); video.pause(); } } }, 500); } 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), urlChangeReload: () => urlChangeReload(), reomveVideo: () => reomveVideo() } })(); const superVip = (function () { const _CONFIG_ = { isMobile: navigator.userAgent.match(/(Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini)/i), currentPlayerNode: null, vipBoxId: 'vip_jx_box' + Math.ceil(Math.random() * 100000000), flag: "flag_vip", autoPlayerKey: "auto_player_key" + window.location.host, autoPlayerVal: "auto_player_value_" + window.location.host, videoParseList: [ { "name": "👍虾米", "type": "1,2", "url": "https://jx.xmflv.com/?url=" }, { "name": "👍m1907", "type": "1,2", "url": "https://im1907.top/?jx=" }, { "name": "👍yparse", "type": "1,2", "url": "https://jx.yparse.com/index.php?url=" }, { "name": "YT", "type": "1,3", "url": "https://jx.yangtu.top/?url=" }, { "name": "Player-JY", "type": "1,3", "url": "https://jx.playerjy.com/?url=" }, { "name": "剖元", "type": "1,3", "url": "https://www.pouyun.com/?url=" }, { "name": "冰豆", "type": "1,3", "url": "https://bd.jx.cn/?url=" }, ], playerContainers: [{ host: "v.qq.com", container: "#mod_player,#player-container,.container-player", name: "Default", displayNodes: ["#mask_layer", ".mod_vip_popup", "#mask_layer", ".panel-tip-pay"] }, { host: "m.v.qq.com", container: ".mod_player,#player", name: "Default", displayNodes: [".mod_vip_popup", "[class^=app_],[class^=app-],[class*=_app_],[class*=-app-],[class$=_app],[class$=-app]", "div[dt-eid=open_app_bottom]", "div.video_function.video_function_new", "a[open-app]", "section.mod_source", "section.mod_box.mod_sideslip_h.mod_multi_figures_h,section.mod_sideslip_privileges,section.mod_game_rec", ".at-app-banner"] }, { host: "w.mgtv.com", container: "#mgtv-player-wrap", name: "Default", displayNodes: [] }, { host: "www.mgtv.com", container: "#mgtv-player-wrap", name: "Default", displayNodes: [] }, { host: "m.mgtv.com", container: ".video-area", name: "Default", displayNodes: ["div[class^=mg-app]", ".video-area-bar", ".open-app-popup"] }, { host: "www.bilibili.com", container: "#player_module,#bilibiliPlayer,#bilibili-player", name: "Default", displayNodes: [] }, { host: "m.bilibili.com", container: ".player-wrapper,.player-container,.mplayer", name: "Default", displayNodes: [] }, { host: "www.iqiyi.com", container: "#flashbox", name: "Default", displayNodes: ["#playerPopup", "div[class^=qy-header-login-pop]", "section[class^=modal-cover_]", ".toast"] }, { host: "m.iqiyi.com", container: ".m-video-player-wrap", name: "Default", displayNodes: ["div.m-iqyGuide-layer", "a[down-app-android-url]", "[name=m-extendBar]", "[class*=ChannelHomeBanner]", "section.m-hotWords-bottom"] }, { host: "www.iq.com", container: ".intl-video-wrap", name: "Default", displayNodes: [] }, { host: "v.youku.com", container: "#player", name: "Default", displayNodes: ["#iframaWrapper", "#checkout_counter_mask", "#checkout_counter_popup"] }, { host: "m.youku.com", container: "#player,.h5-detail-player", name: "Default", displayNodes: [".callEnd_box", ".h5-detail-guide", ".h5-detail-vip-guide"] }, { host: "tv.sohu.com", container: "#player", name: "Default", displayNodes: [] }, { host: "film.sohu.com", container: "#playerWrap", name: "Default", displayNodes: [] }, { host: "www.le.com", container: "#le_playbox", name: "Default", displayNodes: [] }, { host: "video.tudou.com", container: ".td-playbox", name: "Default", displayNodes: [] }, { host: "v.pptv.com", container: "#pptv_playpage_box", name: "Default", displayNodes: [] }, { host: "vip.pptv.com", container: ".w-video", name: "Default", displayNodes: [] }, { host: "www.wasu.cn", container: "#flashContent", name: "Default", displayNodes: [] }, { host: "www.acfun.cn", container: "#player", name: "Default", displayNodes: [] }, { host: "vip.1905.com", container: "#player,#vodPlayer", name: "Default", displayNodes: [] }, { host: "www.1905.com", container: "#player,#vodPlayer", name: "Default", displayNodes: [] }, ] }; 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) { _CONFIG_.currentPlayerNode.displayNodes.forEach((item, index) => { util.findTargetEle(item) .then((obj) => obj.style.display = 'none') .catch(e => console.warn("不存在元素", e)); }); 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:10px 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;} #${_CONFIG_.vipBoxId} .vip_list2 {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_list2 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_list2 li:hover{color:#1c84c6; border:1px solid #1c84c6;} #${_CONFIG_.vipBoxId} .vip_list2 ul{padding-left: 10px;} #${_CONFIG_.vipBoxId} .vip_list2::-webkit-scrollbar{width:5px; height:1px;} #${_CONFIG_.vipBoxId} .vip_list2::-webkit-scrollbar-thumb{box-shadow:inset 0 0 5px rgba(0, 0, 0, 0.2); background:#A8A8A8;} #${_CONFIG_.vipBoxId} .vip_list2::-webkit-scrollbar-track{box-shadow:inset 0 0 5px rgba(0, 0, 0, 0.2); background:#F1F1F1;} `); if (_CONFIG_.isMobile) { GM_addStyle(` #${_CONFIG_.vipBoxId} {top:300px;} #${_CONFIG_.vipBoxId} .vip_list {width:300px;} `); } let type_1_str = ""; let type_2_str = ""; let type_3_str = ""; _CONFIG_.videoParseList.forEach((item, index) => { if (item.type.includes("1")) { type_1_str += `
  • ${item.name}
  • `; } if (item.type.includes("2")) { type_2_str += `
  • ${item.name}
  • `; } if (item.type.includes("3")) { type_3_str += `
  • ${item.name}
  • `; } }); let autoPlay = !!GM_getValue(_CONFIG_.autoPlayerKey, null) ? "开" : "关"; $(container).append(`
    VIP

    [内嵌播放]

      ${type_1_str}

    [弹窗播放带选集]

      ${type_2_str}

    [弹窗播放不带选集]

      ${type_3_str}
    自动解析功能说明:
      1、自动解析功能默认关闭(自动解析只支持内嵌播放源)
      2、开启自动解析,网页打开后脚本将根据当前选中的解析源自动解析视频。如解析失败,请手动选择不同的解析源尝试
      3、没有选中解析源将随机选取一个
      4、如某些网站有会员可以关闭自动解析功能
    ${autoPlay}
    饿
    `); return new Promise((resolve, reject) => resolve(container)); } bindEvent(container) { const vipBox = $(`#${_CONFIG_.vipBoxId}`); if (_CONFIG_.isMobile) { vipBox.find(".vip_icon").on("click", () => vipBox.find(".vip_list").toggle()); vipBox.find(".money").on("click", () => vipBox.find(".vip_list2").toggle()); } else { vipBox.find(".vip_icon").on("mouseover", () => vipBox.find(".vip_list").show()); vipBox.find(".vip_icon").on("mouseout", () => vipBox.find(".vip_list").hide()); vipBox.find(".money").on("mouseover", () => vipBox.find(".vip_list2").show()); vipBox.find(".money").on("mouseout", () => vipBox.find(".vip_list2").hide()); } let _this = this; vipBox.find(".vip_list .nq-li").each((liIndex, item) => { item.addEventListener("click", () => { const index = parseInt($(item).attr("data-index")); GM_setValue(_CONFIG_.autoPlayerVal, index); GM_setValue(_CONFIG_.flag, "true"); _this.showPlayerWindow(_CONFIG_.videoParseList[index]); vipBox.find(".vip_list li").removeClass("selected"); $(item).addClass("selected"); }); }); vipBox.find(".vip_list .tc-li").each((liIndex, item) => { item.addEventListener("click", () => { const index = parseInt($(item).attr("data-index")); const videoObj = _CONFIG_.videoParseList[index]; let url = videoObj.url + window.location.href; GM_openInTab(url, { active: true, insert: true, setParent: true }); }); }); //右键移动位置 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); }); $(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(); }, 200); }); if (!!GM_getValue(_CONFIG_.autoPlayerKey, null)) { this.selectPlayer(container); } return new Promise((resolve, reject) => resolve(container)); } selectPlayer(container) { let index = GM_getValue(_CONFIG_.autoPlayerVal, 2); let autoObj = _CONFIG_.videoParseList[index]; let _th = this; if (autoObj.type.includes("1")) { setTimeout(function () { _th.showPlayerWindow(autoObj); const vipBox = $(`#${_CONFIG_.vipBoxId}`); vipBox.find(`.vip_list [title="${autoObj.name}1"]`).addClass("selected"); $(container).find("#vip_auto").attr("title", `自动解析源:${autoObj.name}`); }, 2500); } } showPlayerWindow(videoObj) { util.findTargetEle(_CONFIG_.currentPlayerNode.container) .then((container) => { const type = videoObj.type; let url = videoObj.url + window.location.href; if (type.includes("1")) { util.reomveVideo(); $(container).empty(); $(container).empty(); let iframeDivCss = "width:100%;height:100%;z-index:999999;"; if (_CONFIG_.isMobile) { iframeDivCss = "width:100%;height:220px;z-index:999999;"; } if (_CONFIG_.isMobile && window.location.href.indexOf("iqiyi.com") !== -1) { iframeDivCss = "width:100%;height:220px;z-index:999999;margin-top:-56.25%;"; } $(container).append(`
    `); } }); } postHandle(container) { if (!!GM_getValue(_CONFIG_.autoPlayerKey, null)) { util.urlChangeReload(); } else { let oldHref = window.location.href; let interval = setInterval(() => { let newHref = window.location.href; if (oldHref !== newHref) { oldHref = newHref; if (!!GM_getValue(_CONFIG_.flag, null)) { clearInterval(interval); window.location.reload(); } } }, 1000); } } } class DefaultConsumer extends BaseConsumer { } return { start: () => { GM_setValue(_CONFIG_.flag, null); let mallCase = 'Default'; let playerNode = _CONFIG_.playerContainers.filter(value => value.host === window.location.host); if (playerNode === null || playerNode.length <= 0) { console.warn(window.location.host + "该网站暂不支持,请联系作者,作者将会第一时间处理(注意:请记得提供有问题的网址)"); return; } _CONFIG_.currentPlayerNode = playerNode[0]; mallCase = _CONFIG_.currentPlayerNode.name; const targetConsumer = eval(`new ${mallCase}Consumer`); targetConsumer.parse(); } } })(); (function () { superVip.start(); })();