// ==UserScript==
// @name VIP 视频解析(优化增强版)
// @version 2.3
// @description 支持腾讯视频、爱奇艺、优酷、土豆、芒果TV、搜狐视频、乐视视频、PPTV、风行、华数TV等,支持多个解析接口切换,支持视频自由选集,自动解析视频,支持自定义拖拽位置,支持视频广告跳过,支持站内站外解析,支持 Tampermonkey、Violentmonkey、Greasemonkey
// @author sign
// @icon https://qzonestyle.gtimg.cn/aoi/img/icenter/qzone-vip.gif
// @namespace http://greasyfork.icu/users/665670
// @require https://cdn.bootcss.com/jquery/3.5.1/jquery.min.js
// @require https://greasemonkey.github.io/gm4-polyfill/gm4-polyfill.js
// @match *://v.qq.com/x/cover/*
// @match *://v.qq.com/x/page/*
// @match *://www.iqiyi.com/v*
// @match *://v.youku.com/v_show/*
// @match *://www.mgtv.com/b/*
// @match *://tv.sohu.com/v/*
// @match *://film.sohu.com/album/*
// @match *://www.le.com/ptv/vplay/*
// @match *://video.tudou.com/v/*
// @match *://v.pptv.com/show/*
// @match *://vip.pptv.com/show/*
// @match *://www.fun.tv/vplay/*
// @match *://www.acfun.cn/v/*
// @match *://www.bilibili.com/*
// @match *://vip.1905.com/play/*
// @match *://www.wasu.cn/Play/show/*
// @match *://www.56.com/*
// @exclude *://www.bilibili.com/blackboard/*
// @license GPL License
// @grant unsafeWindow
// @grant GM_openInTab
// @grant GM.openInTab
// @grant GM_getValue
// @grant GM.getValue
// @grant GM_setValue
// @grant GM.setValue
// @grant GM_xmlhttpRequest
// @grant GM.xmlHttpRequest
// @grant GM_registerMenuCommand
// @connect *
// ==/UserScript==
(function () {
'use strict';
var $ = $ || window.$;
var log_count = 1;
var host = location.host;
var parseInterfaceList = [];
var selectedInterfaceList = [];
var originalInterfaceList = [
{ name:"1907", type:"站内", url:"https://z1.m1907.cn/?jx="},
{ name:"17云", type:"站内", url:"https://www.1717yun.com/jx/ty.php?url="},
{ name:"通用", type:"站内", url:"https://jx.598110.com/index.php?url="},
{ name:"927", type:"站内", url:"https://api.927jx.com/vip/?url="},
{ name:"tv920", type:"站内", url:"https://api.tv920.com/vip/?url="},
{ name:"8B", type:"站内", url:"https://api.8bjx.cn/?url="},
{ name:"ckmov", type:"站内", url:"https://www.ckmov.vip/api.php?url="},
{ name:"41", type:"站内", url:"https://jx.f41.cc/?url="},
//--------------------------------------------------------------------------------------
{ name:"1907", type:"站外", url:"https://z1.m1907.cn/?jx="},
{ name:"17云", type:"站外", url:"https://www.1717yun.com/jx/ty.php?url="},
{ name:"CQ", type:"站外", url:"https://cdn.yangju.vip/k/?url="},
{ name:"思古", type:"站外", url:"https://api.sigujx.com/?url="},
{ name:"简傲", type:"站外", url:"https://vip.fitaxik.cn/?url="},
{ name:"百域", type:"站外", url:"https://jx.618g.com/?url="},
{ name:"思古2", type:"站外", url:"https://api.bbbbbb.me/jx/?url="},
{ name:"黑米", type:"站外", url:"https://www.myxin.top/jx/api/?url="},
{ name:"石云", type:"站外", url:"https://jiexi.071811.cc/jx.php?url="},
{ name:"凡凡", type:"站外", url:"https://jx.wslmf.com/?url="},
{ name:"人人", type:"站外", url:"https://vip.mpos.ren/v/?url="},
{ name:"金桥", type:"站外", url:"https://jqaaa.com/jx.php?url="},
{ name:"通用", type:"站外", url:"https://jx.598110.com/index.php?url="},
{ name:"初心", type:"站外", url:"https://jx.bwcxy.com/?v="},
{ name:"Hk", type:"站外", url:"https://jx.rdhk.net/?v="},
{ name:"星空", type:"站外", url:"https://jx.fo97.cn/?url="},
{ name:"小蒋极致", type:"站外", url:"https://www.kpezp.cn/jlexi.php?url="},
{ name:"维多", type:"站外", url:"https://jx.ivito.cn/?url="},
{ name:"927", type:"站外", url:"https://api.927jx.com/vip/?url="},
{ name:"tv920", type:"站外", url:"https://api.tv920.com/vip/?url="},
{ name:"89", type:"站外", url:"https://www.ka61b.cn/jx.php?url="},
{ name:"豪华啦", type:"站外", url:"https://api.lhh.la/vip/?url="},
{ name:"宿命", type:"站外", url:"https://api.sumingys.com/index.php?url="},
{ name:"8B", type:"站外", url:"https://api.8bjx.cn/?url="},
{ name:"千忆", type:"站外", url:"https://v.qianyicp.com/v.php?url="},
{ name:"41", type:"站外", url:"https://jx.f41.cc/?url="},
{ name:"ckmov", type:"站外", url:"https://www.ckmov.vip/api.php?url="},
{ name:"517", type:"站外", url:"https://cn.bjbanshan.cn/jx.php?url="},
{ name:"凉城", type:"站外", url:"https://jx.mw0.cc/?url="},
{ name:"33t", type:"站外", url:"https://www.33tn.cn/?url="},
{ name:"爸比云", type:"站外", url:"https://jx.1ff1.cn/?url="},
{ name:"180", type:"站外", url:"https://jx.000180.top/jx/?url="},
{ name:"ha12", type:"站外", url:"https://py.ha12.xyz/sos/index.php?url="},
{ name:"无名", type:"站外", url:"https://www.administratorw.com/video.php?url="},
{ name:"黑云", type:"站外", url:"https://jiexi.380k.com/?url="},
{ name:"流氓凡", type:"站外", url:"https://jx.wslmf.com/?url="},
{ name:"OK", type:"站外", url:"https://okjx.cc/?url="},
{ name:"穷二代", type:"站外", url:"https://jx.ejiafarm.com/dy.php?url="},
{ name:"二度", type:"站外", url:"https://jx.du2.cc/?url="},
{ name:"bl解析", type:"站外", url:"https://vip.bljiex.com/?v="},
{ name:"明日", type:"站外", url:"https://jx.yingxiangbao.cn/vip.php?url="},
{ name:"一起走吧", type:"站外", url:"https://jiexi.yiqizouba.top/?url="},
{ name:"千叶", type:"站外", url:"https://yi29f.cn/vip.php?url="},
{ name:"诺讯", type:"站外", url:"https://www.nxflv.com/?url="},
{ name:"大幕", type:"站外", url:"https://jx.52damu.com/dmjx/jiexi.php?url="},
{ name:"H8", type:"站外", url:"https://www.h8jx.com/jiexi.php?url="},
{ name:"解析S", type:"站外", url:"https://jx.jiexis.com/?url="}
];
//自定义 log 函数
function mylog(param1, param2) {
param1 = param1 ? param1 : "";
param2 = param2 ? param2 : "";
console.log("#" + log_count++ + "-VIP-log:", param1, param2);
}
//内嵌页内播放
function innerParse(url) {
$("#iframe-player").attr("src", url);
}
//兼容 Tampermonkey | Violentmonkey | Greasymonkey 4.0+
function GMopenInTab(url, open_in_background) {
if (typeof GM_openInTab === "function") {
GM_openInTab(url, open_in_background);
} else {
GM.openInTab(url, open_in_background);
}
}
//兼容 Tampermonkey | Violentmonkey | Greasymonkey 4.0+
function GMgetValue(name, value) {
if (typeof GM_getValue === "function") {
return GM_getValue(name, value);
} else {
return GM.getValue(name, value);
}
}
//兼容 Tampermonkey | Violentmonkey | Greasymonkey 4.0+
function GMsetValue(name, value) {
if (typeof GM_setValue === "function") {
GM_setValue(name, value);
} else {
GM.setValue(name, value);
}
}
//兼容 Tampermonkey | Violentmonkey | Greasymonkey 4.0+
function GMaddStyle(css) {
var myStyle = document.createElement('style');
myStyle.textContent = css;
var doc = document.head || document.documentElement;
doc.appendChild(myStyle);
}
//播放窗口节点
var node;
var player_nodes = [
{ url:"v.qq.com", node:"#mod_player"},
{ url:"www.iqiyi.com", node:"#flashbox"},
{ url:"v.youku.com", node:"#ykPlayer"},
{ url:"www.mgtv.com", node:"#mgtv-player-wrap container"},
{ url:"tv.sohu.com", node:"#player"},
{ url:"film.sohu.com", node:"#playerWrap"},
{ url:"www.le.com", node:"#le_playbox"},
{ url:"video.tudou.com", node:".td-playbox"},
{ url:"v.pptv.com", node:"#pptv_playpage_box"},
{ url:"vip.pptv.com", node:".w-video"},
{ url:"www.wasu.cn", node:"#flashContent"},
{ url:"www.fun.tv", node:"#html-video-player-layout"},
{ url:"www.acfun.cn", node:"#player"},
{ url:"www.bilibili.com", node:"#bilibiliPlayer"},
{ url:"vip.1905.com", node:"#player"},
{ url:"www.56.com", node:"#play_player"}
];
for(var i in player_nodes) {
if (player_nodes[i].url == host) {
node = player_nodes[i].node;
}
}
var videoPlayer = $("<div id='iframe-div' style='width:100%;height:100%;z-index:100000;'><iframe id='iframe-player' frameborder='0' allowfullscreen='true' width='100%' height='100%'></iframe></div>");
var ImgBase64 =`
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAAAsTAAALEwEAmpwYAAAF7GlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZW
hpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOl
JERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG
5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL2
1tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPS
IyMDIwLTA2LTI1VDE5OjUzOjU2KzA4OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMC0wNy0xMFQxMDoyMjoyNSswODowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMC0wNy0xMFQxMDoyMjoyNSswODowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbm
ciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1ZjQwYzBkOC1mNjJmLTEwNGItOThhNS0zNzYwMTRiZDM5ZTMiIHhtcE
1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6YzMyNWIyNTUtNzZmOC0zYzRhLWE3MjQtZWVmZWMyMDY3Yzg1IiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6YzMyNWIyNTUtNzZmOC0zYzRhLWE3MjQtZWVmZWMyMDY3Yzg1Ij4gPH
htcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpjMzI1YjI1NS03NmY4LTNjNGEtYTcyNC1lZWZlYzIwNjdjODUiIHN0RXZ0OndoZW49IjIwMj
AtMDYtMjVUMTk6NTM6NTYrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChXaW5kb3dzKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paW
Q6NWY0MGMwZDgtZjYyZi0xMDRiLTk4YTUtMzc2MDE0YmQzOWUzIiBzdEV2dDp3aGVuPSIyMDIwLTA3LTEwVDEwOjIyOjI1KzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoV2luZG93cykiIH
N0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+pT2ovAAAAolJREFUeJztm72L1EAYxn/v4d
cfoAhiYeGh4gdaCoKLFsIhh4KVjViICMqBHIJYmMVG8ToLwRPEyv4KWw97wcb/QLCwsBSrxyKbYzl2xk3M5I1mfs1mk8z7PvPsTDIzm6DZFESQVATKedJI80Ks0H/M92pjqAbsqzaGasAWJkneIjwZfAvIBngL8CYb4C3Am2xAYP/YIgDjLk
XOSSPNuQV4C/AmG+AtwJtsgLcAbwZvQMrp8GfgdKLYrZGsBZjZGeA68CtVjjZI2gXM7J2Z7QGepMzzNyTrApPh5xaS9gIvgWsp8jWlMwMqJJ0F1oHjKfLWpXMDKiTdAN4A0fNS43YbNLO3wC7gmZcGcGwB00g6BjwFllNoiREyYAxsRsqNgM
fRwDUMqJC0DKwBi3XL0lDzjtDZZhYMJmk0t6wamNkGsCFpFXjeoPxm6FhIcy+Hwma2BhwAXqXO1UsDAMzsm5ndBs4DH1Ll6a0BFWb20cwuALeAr23H770BFWb2GngB/GwzbvAi2CckXQUK4FTbsXttgKQTlLeuZPOHoAEzHjmpxgvJh66Sdl
NWfBXYWaNcsX3X5DOouRcjwWkk3QQeAEfbVTSb3nQBSeeAh8BSl3ndDZC0H3gE3MVhZuhqgKQVyoof9tLgYoCky5QVv+SRf5pODZB0BFgB7nSZN0YnBkgy4D7lr36oi5zzEjJgnv//o+sBFZKuUFb84pyamtJIc2w9oAgd+9NzuZNzTgL3KC
cxndBEc8ou8B44mDB+K6ScDfa+8vAPTYdTkQ3wFuDN4A2IrQeMOtTRCk005/cFvAV4kw3wFuBNNsBbgDfZAG8B3iwAX2bsH9QLE714WsuL3AW2ff8E/PAQ4sVvWvBuiQNuInAAAAAASUVORK5CYII=`;
var sImgBase64=`
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAAAsTAAALEwEAmpwYAAAGvGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZW
hpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOl
JERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG
5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL2
1tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPS
IyMDIwLTA2LTI1VDE5OjUzOjU2KzA4OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMC0wNy0xMlQxODoyNDozMCswODowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMC0wNy0xMlQxODoyNDozMCswODowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbm
ciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo5Y2E3ZDZiMC03MmRjLTIyNDYtOWYwNy02Mzg3YTAwY2JkYTciIHhtcE
1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6YzMyNWIyNTUtNzZmOC0zYzRhLWE3MjQtZWVmZWMyMDY3Yzg1IiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6YzMyNWIyNTUtNzZmOC0zYzRhLWE3MjQtZWVmZWMyMDY3Yzg1Ij4gPH
htcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpjMzI1YjI1NS03NmY4LTNjNGEtYTcyNC1lZWZlYzIwNjdjODUiIHN0RXZ0OndoZW49IjIwMj
AtMDYtMjVUMTk6NTM6NTYrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChXaW5kb3dzKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paW
Q6NWY0MGMwZDgtZjYyZi0xMDRiLTk4YTUtMzc2MDE0YmQzOWUzIiBzdEV2dDp3aGVuPSIyMDIwLTA3LTEwVDEwOjIyOjI1KzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoV2luZG93cykiIH
N0RXZ0OmNoYW5nZWQ9Ii8iLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjljYTdkNmIwLTcyZGMtMjI0Ni05ZjA3LTYzODdhMDBjYmRhNyIgc3RFdnQ6d2hlbj0iMjAyMC0wNy0xMl
QxODoyNDozMCswODowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdG
lvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PjvAJAYAAAPKSURBVHic7ZtLb9QwEMd/k922S3lVCCFxQOLQA5+H78uXQRwQpwrxaunucIhNJpPJA9putk7/krUbx56Mx47n5Yiqvgc+ACvgLVABn0TkMz
1Q1Q3wMvX5mKrFNBFAg3oSfTVtBNiloum+pLJKxdJQU8TcuxaRqwGej4Fj109FVR8D330HEfEEfJOVY8gO3A8auoMW1zcPvDL1Vigb80zSvcrQuRSRy3j4oKonwClwlPo8Bc7XwM+eDiEhEUFVhVqaAqyBLe3ZzAOxs1ilkoVxnco2FUnXmH
65zyb97kzJ7TJNK5w+XAHPgdfAG+C79A10AlY0s+eJVMAZ9cB2NIOMZttfa0/Jz6lcv4xLEQknE0BVXwCPEo0L4BzY3EQAhwi79wy1ya+oliaAf4VU422Khi5dADwIYG4GZsbROqjMetvq9Qxv9GD+R2otw+ttrz7VtJOBOms89angiI6nmW
ltIwGcAl+D+hLwlMbqVUAjAZT8WqxxKyYa7I/98DILfvmKSAC7oK4UdMZW8nKP0NkwIwFErmwp+O0rIgGc3T0fh4NIAKd752J/6MQMvDeYAxy9oaV7DmuEAV0BzIlsJa6po00rarW1TfVXpl2OFkUYC6i0H3pAArht9MUlW4gswVIwaWaXZg
d0cBMBRN6gr++E1w8N0R6Qo66ecx9w9B13tl5ERpdgenbkqu4N0R6QGdn23BtKftiYwHVwv924Xh2qqo+AZ4nuJU0YPSdGrmnyAlZgHbXmeLOTViU6g2pwTaN+SsQz4BtGCH4FjM7aPYdN5gDdTbAiXvqlYNQdLtYqShh1h/s2t1IwKSBS8i
qYJICSV0DHHY4EMCXPfl9x5CsiQ+h4D4wMwZ7yyAcxbgvZtf77KkSmsD2+4uuhOWLiTVifdbktYyoyyfv8EGvHZEsx/7cW4aAADg1+Msaux2hh298HAdwpHuIBczMwN5YogNamGqnBExo/PAqA+N9M8Axz3E1EvvztWO8zm0Q7+/B5J945Oh
bZ/480U3TPn1W0GmJDrSUuGHCHoda7Nz4fcKCb6ynOHI5egU7+rCBMyg2e7IGRuTDJGeo9cFwiluYOd8YbhcRKdocnCeDVfniZBaPxgBV16LhUjMYEj4An++FlFnQ2eO8NngOfqPXljsZQGko1+294NjSBh9z3F+2sTouH4Dqn51rpNvc8+z
8vbfs1ySRYS3BFPXClyQ38j1HU+f7I4K40zH8ndOwKsJ+rLAZ2BZR8QLIXS3SHW1i6ABb/zdDiBbBbugAWvwc8CKAC3lF/ULym56hbwaj+AAiBMI0BUGwTAAAAAElFTkSuQmCC`;
// 视频解析预处理
var innerList = [];
var outerList = [];
var innerli = "";
var outerli = "";
originalInterfaceList.forEach((item, index) => {
if (item.type == "站内") {
innerList.push(item);
innerli += "<li>" + item.name + "</li>";
} else {
outerList.push(item);
outerli += "<li>" + item.name + "</li>";
}
});
parseInterfaceList = innerList.concat(outerList);
var jiexiDIV = `
<div style='display:flex;'>
<div style='width:316px;padding:10px 0;'>
<div style='font-size:13px;text-align:center;color:#FFFFFF;line-height:21px;'>站内解析</div>
<ul style='margin:0 10px;'>
` + innerli + `
<div style='clear:both;'></div>
</ul>
<div style='font-size:13px;text-align:center;color:#FFFFFF;line-height:21px;'>站外解析</div>
<ul style='margin:0 10px;'>
` + outerli + `
<div style='clear:both;'></div>
</ul>
</div>
</div>`;
var SelectedDIV = `
<div style='display:flex;'>
<div style='width:316px;padding:10px 0;'>
<div style='font-size:13px;text-align:center;color:#FFFFFF;line-height:21px;'>视频列表</div>
<ul style='margin:0 10px;'></ul>
</div>
</div>`;
//视频播放图片按钮
var left = 0;
var top = 100;
var Position = GMgetValue("Position_" + host);
if(!!Position){
left = Position.left;
top = Position.top;
}
GMaddStyle(`*{ margin:0; padding:0;}
body { font-size:12px; text-align:left; list-style:none;}
#vip_movie_box {cursor:pointer; position:fixed; top:` + top + `px; left:` + left + `px; width:29px; background-color:#FF4500; z-index:2147483647;}
#vip_movie_box .item_text {width:28px; padding:4px 0px; text-align:center;}
#vip_movie_box .item_text img {width:22px; height:22px; display:inline-block; vertical-align:middle;}
.vip_mod_box_action {display:none; position:absolute; left:28px; top:0; text-align:center; background-color:#272930; border:1px solid gray;}
.vip_mod_box_action li{font-size:12px; color:#DCDCDC; text-align:center; width:60px; line-height:21px; float:left; border:1px solid gray; padding:0 4px; margin:4px 2px;}
.vip_mod_box_action li:hover{color:#FF4500;}
#vip_movie_box .selected_text {width:28px; padding:4px 0px; text-align:center;}
#vip_movie_box .selected_text img {width:22px; height:22px;display:inline-block; vertical-align:middle;}
.vip_mod_box_selected {display:none; position:absolute; left:28px; top:0; text-align:center; background-color:#272930; border:1px solid gray;}
.vip_mod_box_selected li{font-size:14px; color:#DCDCDC; text-align:center; width:23px; height:27px; line-height:27px; float:left; border:1px dashed gray; padding:0 4px; margin:4px 2px;}
.vip_mod_box_selected li:hover{color:#FF4500;}
.vip_mod_box_selected .active{color:#FF4500;};`);
var html = $(`<div id='vip_movie_box'>
<div class='item_text'>
<img src='`+ ImgBase64 +`' title='视频解析'/>
<div class='vip_mod_box_action' >` + jiexiDIV + `</div>
</div>
<div class='selected_text' >
<img src='`+ sImgBase64 +`' title='视频选集'/>
<div class='vip_mod_box_selected' >` + SelectedDIV + `</div>
</div>
</div>`);
$("body").append(html);
//视频解析事件处理
$(".item_text").on("mouseover", () => {
$(".vip_mod_box_action").show();
});
$(".item_text").on("mouseout", () => {
$(".vip_mod_box_action").hide();
});
$(".item_text img").click(() => {
$.get('https://www.eggvod.cn/jxcode.php',{in:81566699},function(data){
location.href = 'https://www.eggvod.cn/jx.php?lrspm=' + data + '&zhm_jx='+ location.href;
});
});
$(".vip_mod_box_action li").each((index, item) => {
item.addEventListener("click", () => {
if (parseInterfaceList[index].type == "站内") {
if (document.getElementById("iframe-player") == null) {
var player = $(node);
player.empty();
player.append(videoPlayer);
}
innerParse(parseInterfaceList[index].url + location.href);
} else {
GMopenInTab(parseInterfaceList[index].url + location.href, false);
}
});
});
// 右键拖拽功能 - 防止与其他脚本干扰
var vip_movie_box = $("#vip_movie_box");
vip_movie_box.mousedown(function(e) {
// 1 = 鼠标左键; 2 = 鼠标中键; 3 = 鼠标右键
if (e.which == 3) {
e.preventDefault() // 阻止默认行为
vip_movie_box.css("cursor", "move");//设置样式
var positionDiv = $(this).offset();
var distenceX = e.pageX - positionDiv.left;
var distenceY = e.pageY - positionDiv.top;
// 计算移动后的左偏移量 和 顶部的偏移量(防止超出边界)
$(document).mousemove(function(e) {
var x = e.pageX - distenceX;
var y = e.pageY - distenceY;
if (x < 0) {
x = 0;
} else if (x > $(document).width() - vip_movie_box.outerWidth(true)) {
x = $(document).width() - vip_movie_box.outerWidth(true);
}
if (y < 0) {
y = 0;
} else if (y > $(document).height() - vip_movie_box.outerHeight(true)) {
y = $(document).height() - vip_movie_box.outerHeight(true);
}
// 更新样式
vip_movie_box.css("left", x);
vip_movie_box.css("top", y);
GMsetValue("Position_" + host,{ "left":x, "top":y});
});
$(document).mouseup(function() {
$(document).off('mousemove');
vip_movie_box.css("cursor", "pointer");// 还原样式
});
$(document).contextmenu(function(e) {
e.preventDefault();// 阻止右键菜单默认行为
})
}
});
//视频广告加速模块
function method1() {
window._setTimeout = window.setTimeout
window.setTimeout = function (handler, timeout, ...arg) {
window._setTimeout(handler, timeout / 30, ...arg);
}
}
//视频广告加速模块
function method2() {
window._setInterval = window.setInterval
window.setInterval = function (handler, timeout, ...arg) {
window._setInterval(handler, timeout / 30, ...arg);
}
}
//视频广告加速模块
function method3() {
window.rate = 0
window.Date.now = () => {
return new window.Date().getTime() + (window.rate += 100000);
}
setInterval(() => {
window.rate = 0
}, 600000)
}
//视频广告加速模块
function youku() {
window.onload = function () {
if (!document.querySelectorAll('video')[0]) {
setInterval(() => {
document.querySelectorAll('video')[1].playbackRate = 16;
}, 100)
}
}
}
//视频广告加速模块
function qq() {
setInterval(() => {
if (document.querySelectorAll('video')[0].status == 'IDLE') {
setInterval(() => {
document.querySelectorAll('video')[2].playbackRate = 16;
document.querySelectorAll('video')[3].playbackRate = 16;
}, 100)
}
}, 100)
}
// 视频选集预处理
Selected();
function selectedList(episodeList) {
var innerList = [];
var innerli = "";
if (!!episodeList && episodeList.length != 0) {
episodeList.sort((d1, d2) => { //排序
var aText1Value = parseInt(d1.name);
var aText2Value = parseInt(d2.name);
if (isNaN(aText1Value) || isNaN(aText2Value)) {
return 0;
} else {
return aText1Value - aText2Value;
}
});
episodeList.forEach((item, index) => {
innerList.push(item);
innerli += "<li class='' title='" + item.description + "'>" + item.name + "</li>";
});
var selectedList = innerList;
$(".vip_mod_box_selected ul").append(innerli);
//视频选集事件处理
$(".selected_text").on("mouseover", () => {
$(".vip_mod_box_selected").show();
});
$(".selected_text").on("mouseout", () => {
$(".vip_mod_box_selected").hide();
});
$(".vip_mod_box_selected li").click(() => {
$(this).addClass("active");
});
$(".vip_mod_box_selected li").each((index, item) => {
item.addEventListener("click", () => {
if (document.getElementById("iframe-player") == null) {
var player = $(node);
player.empty();
player.append(videoPlayer);
}
var num = Math.floor(Math.random() * parseInterfaceList.length + 10); //使用随机接口
innerParse(parseInterfaceList[num].url + selectedList[index].href);
});
});
}
}
//支持电视剧选集
function Selected(){
if(host === "v.qq.com"){
window.onload = function () {
var episodeList = [];
var barTotal = "";
var barlis = $(".mod_episode_filter").find(".item");
barTotal = barlis.length;
if(barTotal == 0){
barTotal = 1;
}
for (var page = 1; page <= barTotal; page++) {
$("span[class='item']").click();
var mod_episode = $(".mod_episode");
if (mod_episode.attr("data-tpl") == "episode"){
mod_episode.find(".item").each(function () {
var a = $(this).find("a");
var href = a.attr("href");
var markText = $(this).find("img[srcset='https://puui.qpic.cn/vupload/0/20190920_ammuq5ie285/0 2x']");
if (markText.length == 0 && !!href) {
href = "https://v.qq.com" + href;
var name = a.text();
name = name.replace(/\s/g, "");
episodeList.push({
"name": name,
"href": href,
"description": ""
});
}
});
}
}
selectedList(episodeList);
}
} else if(host === "www.iqiyi.com"){
window.onload = function () {
var i71playpagesdramalist = $("div[is='i71-play-ab']");
if (i71playpagesdramalist.length != 0) {
var data = i71playpagesdramalist.attr(":page-info");
if (!!data) {
var dataJson = JSON.parse(data);
var albumId = dataJson.albumId;
var barTotal = "";
var barlis = $(".qy-episode-tab").find(".bar-li");
barTotal = barlis.length;
if(barTotal == 0){
barTotal = 1;
}
for (var page = 1; page <= barTotal; page++) {
GM_xmlhttpRequest({
url: "https://pcw-api.iqiyi.com/albums/album/avlistinfo?aid=" + albumId + "&page=" + page + "&size=30",
method: "GET",
headers: {
"Content-Type": "application/x-www-form-urlencoded"
},
onload: function (response) {
var episodeList = [];
var status = response.status;
if (status == 200 || status == '200') {
var serverResponseJson = JSON.parse(response.responseText);
var code = serverResponseJson.code;
if (code == "A00000") {
var serverEpsodelist = serverResponseJson.data.epsodelist;
//console.log(serverEpsodelist)
for (var i = 0; i < serverEpsodelist.length; i++) {
var name = serverEpsodelist[i].order;
var href = serverEpsodelist[i].playUrl;
var description = serverEpsodelist[i].subtitle;
episodeList.push({
"name": name,
"href": href,
"description": description
});
}
selectedList(episodeList);
}
}
}
});
}
}
}
}
} else if(host === "www.mgtv.com"){
window.onload = function () {
var str = location.href;
var index = str .lastIndexOf("\/");//斜杠 分割
str = str.substring(index + 1, str.length);
index = str.lastIndexOf(".html");
var albumId = str.substring(0, index);
//console.log(albumId)
var barTotal = "";
var barlis = $(".episode-header").find("a");
barTotal = barlis.length;
if(barTotal == 0){
barTotal = 1;
}
for (var page = 1; page <= barTotal; page++) {
GM_xmlhttpRequest({
url: "https://pcweb.api.mgtv.com/episode/list?_support=10000000&video_id=" + albumId + "&page=" + page + "&size=30",
method: "GET",
headers: {
"Content-Type": "application/x-www-form-urlencoded"
},
onload: function (response2) {
var episodeList2 = [];
var status = response2.status;
if (status == 200 || status == '200') {
var serverResponseJson = JSON.parse(response2.responseText);
var code = serverResponseJson.code;
if (code == "200") {
var serverEpsodelist = serverResponseJson.data.list;
//console.log(serverEpsodelist)
for (var i = 0; i < serverEpsodelist.length; i++) {
var name = serverEpsodelist[i].t1;
var href = serverEpsodelist[i].url;
href = "https://www.mgtv.com" + href;
var description = serverEpsodelist[i].t2;
episodeList2.push({
"name": name,
"href": href,
"description": description
});
}
selectedList(episodeList2);
}
}
}
});
}
}
} else if(host === "v.youku.com"){
window.onload = setTimeout(function () {
var episodeList = [];
$(".anthology-content").find(".box-item").each(function () {
var title = $(this).attr("title");
var href = $(this).attr("href");
var markText = $(this).find(".mark-text");
if (markText.length == 0 || "预告".indexOf(markText.text) == -1) {
if (!!href) {
var name = title;
var arr = name.split(" ");
if (arr.length >= 2) name = arr[arr.length - 1];
name = name.replace(/[^0-9]/ig, "");
if (!!name) {
episodeList.push({
"name": name,
"href": href,
"description": title
});
}
}
}
});
selectedList(episodeList);
}, 1000);
} else if(host === "tv.sohu.com"){
window.onload = function () {
var episodeList = [];
var barTotal = "";
var barlis = $(".menu_sub").find(".menu_sub_item");
barTotal = barlis.length;
if(barTotal == 0){
barTotal = 1;
}
for (var page = 1; page <= barTotal; page++) {
if(barTotal >= 2){
$("li[data-tab-index='"+ page +"']").click();
}
$(".j-list-wrap").find("li").each(function () {
var a = $(this).find("a");
var markText = $(this).find(".tips_yu");
if (markText.length == 0 && !!a ) {
var name = $(this).attr("data-order");
var href = a.attr("href");
var title = a.attr("data-title");
if (!!name && !!href) {
href = "https" + href;
episodeList.push({
"name": name,
"href": href,
"description": title
});
//console.log({"name":name, "href":href, "description":title});
}
}
});
}
selectedList(episodeList);
}
}
}
//屏蔽网站广告 或 广告插件屏蔽广告后的优化
switch (host) {
case 'www.iqiyi.com':
method3(); //视频广告加速
setInterval(() => {
if (document.getElementsByClassName("cupid-public-time")[0] != null) {
$(".skippable-after").css("display", "block");
document.getElementsByClassName("skippable-after")[0].click(); //屏蔽广告
}
$(".qy-player-vippay-popup").css("display", "none"); //移除会员登录提示
}, 500);
break
case 'v.qq.com':
qq(); //视频广告加速
setInterval(() => {
var txp_btn_volume = $(".txp_btn_volume"); //打开声音
if (txp_btn_volume.attr("data-status") === "mute") {
$(".txp_popup_volume").css("display", "block");
txp_btn_volume.click();
$(".txp_popup_volume").css("display", "none");
}
$("txpdiv[data-role='hd-ad-adapter-adlayer']").attr("class", "txp_none"); //屏蔽广告
$(".mod_vip_popup").css("display", "none"); //移除会员登录提示
$(".tvip_layer").css("display", "none"); //遮罩层
$("#mask_layer").css("display", "none"); //遮罩层
}, 500);
break
case 'v.youku.com':
youku(); //视频广告加速
setInterval(() => {
var H5 = $(".h5-ext-layer").find("div")
if(H5.length != 0){
$(".h5-ext-layer div").remove(); //屏蔽广告
var control_btn_play = $(".control-left-grid .control-play-icon"); //自动播放
if (control_btn_play.attr("data-tip") === "播放") {
$(".h5player-dashboard").css("display", "block"); //显示控制层
control_btn_play.click();
$(".h5player-dashboard").css("display", "none"); //隐藏控制层
}
}
$(".information-tips").css("display", "none"); //信息提示
}, 500);
break
case 'www.mgtv.com':
break
case 'tv.sohu.com':
setInterval(() => {
$(".x-video-adv").css("display", "none");//屏蔽广告
$(".x-player-mask").css("display", "none");//广告提示
$("#player_vipTips").css("display", "none");//移除会员登录提示
}, 500);
break
case 'film.sohu.com':
break
case 'www.le.com':
break
case 'video.tudou.com':
break
case 'v.pptv.com':
break
case 'vip.pptv.com':
break
case 'www.wasu.cn':
break
case 'www.fun.tv':
setInterval(() => {
var control_btn_play = $(".fxp-controlbar .btn-toggle"); //自动播放
if (control_btn_play.is('.btn-play')) {
control_btn_play.click();
}
}, 500);
break
case 'www.acfun.cn':
break
case 'www.bilibili.com':
break
case 'vip.1905.com':
break
case 'www.56.com':
break
default:
break
}
})();