Greasy Fork is available in English.
【❤️ 视频自动解析,体会拥有VIP的感觉❤️,适配PC+移动 】功能有:1、支持B站大会员番剧,全网独创自由选择自动解析接口;2、#奇艺、腾讯、优#、#果等全网VIP视频免费解析去广告(免跳出观影特方便);3.B站多P下载(因B站举报投诉,暂时停用);抖音、西瓜视频、快手无水印下载;4.淘宝、天猫、#东优惠券查询5.新增喜马拉雅有声书批量下载,6.教育盘论坛免费下载,7.百度文库、原创力文档、道客巴巴、智库文库、豆丁网免费下载7.百度网盘文件高速下载8.解除CSDN博客登陆后复制限制,解除阅读全文限制,解除外链重定向限制百度文库
ของเมื่อวันที่
- // ==UserScript==// @name 文库下载器|百度网盘直链下载|全网VIP视频解析无广告播放,全网独创自由选择自动解析接口|短视频无水印下载|更多功能持续更新中// @namespace http://www.zhihupe.com/// @version 1.71// @author zhihu// @description 【❤️ 视频自动解析,体会拥有VIP的感觉❤️,适配PC+移动 】功能有:1、支持B站大会员番剧,全网独创自由选择自动解析接口;2、#奇艺、腾讯、优#、#果等全网VIP视频免费解析去广告(免跳出观影特方便);3.B站多P下载(因B站举报投诉,暂时停用);抖音、西瓜视频、快手无水印下载;4.淘宝、天猫、#东优惠券查询5.新增喜马拉雅有声书批量下载,6.教育盘论坛免费下载,7.百度文库、原创力文档、道客巴巴、智库文库、豆丁网免费下载7.百度网盘文件高速下载8.解除CSDN博客登陆后复制限制,解除阅读全文限制,解除外链重定向限制百度文库// @icon https://www.zhihupe.com/favicon.ico// @require https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/crypto-js/4.1.1/crypto-js.min.js// @require https://lib.baomitu.com/echarts/4.6.0/echarts.min.js// @match *://laisoyiba.com/*// @match *://*.youku.com/v_*// @match *://*.iqiyi.com/v_*// @match *://*.iqiyi.com/w_*// @match *://*.iqiyi.com/a_*// @match *://v.qq.com/x/cover/*// @match *://v.qq.com/x/page/*// @match *://v.qq.com/tv/*// @match *://*.mgtv.com/b/*// @match *://*.bilibili.com/video/*// @match *://*.bilibili.com/bangumi/play/*// @match *://www.acfun.cn/bangumi/*// @match *://www.le.com/ptv/vplay/*// @match *://www.wasu.cn/Play/show/*// @match *://vip.1905.com/play/*// @match *://tv.sohu.com/v/*// @match *://film.sohu.com/album/*// @match *://v.pptv.com/show/*// @match *://m.v.qq.com/*// @match *://m.iqiyi.com/v_*// @match *://m.iqiyi.com/w_*// @match *://m.iqiyi.com/a_*// @match *://m.youku.com/alipay_video/*// @match *://m.youku.com/video/*// @match *://m.mgtv.com/b/*// @match *://m.bilibili.com/video/*// @match *://m.bilibili.com/anime/*// @match *://m.bilibili.com/bangumi/play/*// @match *://m.le.com/vplay_*// @match *://vip.1905.com/m/play/*// @match *://www.wasu.cn/wap/*/show/*// @match *://m.tv.sohu.com/v.*// @match *://m.pptv.com/show/*// @match *://*jiaoyupan.com/forum.php?mod=viewthread&tid=*// @match *://*.book118.com/html/*// @match *://view-cache.book118.com/*// @match *://*.book118.com/?readpage*// @match *://*.doc88.com/p*// @match *://*.mbalib.com/view*// @match *://*.docin.com/p-*// @match *://wenku.baidu.com/*view/*// @match *://wk.baidu.com/*view/*// @match *://www.ximalaya.com/*// @match *://blog.csdn.net/*// @match *://*.douyin.com/video/*// @match *.kuaishou.com/short-video/*// @match *.kuaishou.com/video/*// @match *.kuaishou.com/new-reco*// @match *.ixigua.com/*// @match *.baidu.com/*// @connect tool.zhihupe.com// @connect tool.wezhicms.com// @connect 47.99.158.118// @connect api.bilibili.com// @connect mobile.ximalaya.com// @connect v2.api.haodanku.com// @connect www.iesdouyin.com// @connect bijiatool-v2.manmanbuy.com// @connect view-cache.book118.com// @connect pcweb.api.mgtv.com// @connect docimg1.docin.com// @connect www.360fandu.cn// @connect api.shop.xuelg.com// @connect pan.10zv.net// @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_addStyle// @grant GM_deleteValue// @grant GM_setClipboard// @grant GM_download// @grant GM_registerMenuCommand// @grant GM_unregisterMenuCommand// @grant unsafeWindow// @run-at document-end// @license End-User License Agreement// @antifeature membership 为防止接口被盗!该脚本需要输入验证码之后才能使用完整功能,感谢理解// @antifeature referral-link 【此提示为GreasyFork代码规范要求含有查券功能的脚本必须添加,实际使用无任何强制跳转,代码可查,请知悉】// ==/UserScript==(function() {'use strict';//最终用户许可协议 End-User License Agreement// * Copyright (c) 2021-2022 zhihu. All Rights Reserved.// * Proprietary and Confidential.// * 该项目介绍、说明书、脚本代码、思路及其他相关// 内容版权归作者所有,未经作者本人书面授权,禁// 止任何单位或个人以任何形式、任何手段或通过任// 何方式(净室工程、手工、图片、电子、机械、磁// 性、化学、光学、声学或其它方式)抄袭、摘编、// 编辑、修改、结集、出版、再版、转录、转载、爬// 虫爬取、重制、仿制、复制、复写、复印、影印、// 拷贝、刻录、建立镜像、粘贴、张贴、派发、录音、// 用来创建派生作品、与其它任何资料进行合并、翻// 译成任何电脑语言或以其他任何方式用于商业或公// 共目的。// * 该项目仅仅准许您善意的使用,其他任何行为都是// 禁止的。// * zhihu从未授权任何组织或个人使用本项目脚本// 部分或全部代码创建作品。const config ={"playhref":window.location.href,"host":window.location.host,"UA":navigator.userAgent,"scriptInfo":GM_info.script,"hdapikey":"FF9529914C44",}const playList=[{"name":"M3U8.TV","category":1,"url":"https://jx.m3u8.tv/jiexi/?url=", "showType":3},{"name":"纯净/B站","category":1,"url":"https://z1.m1907.top/?eps=0&jx=", "showType":3},{"name":"高速接口","category":1,"url":"https://jx.jsonplayer.com/player/?url=", "showType":3},{"name":"综合/B站","category":1,"url":"https://jx.bozrc.com:4433/player/?url=", "showType":3},{"name":"OK解析","category":1,"url":"https://okjx.cc/?url=", "showType":3},{"name":"OKJX","category":1,"url":"https://api.okjx.cc:3389/jx.php?url=", "showType":3},{"name":"夜幕","category":1,"url":"https://www.yemu.xyz/?url=", "showType":3},{"name":"NNXV","category":1,"url":"https://jx.nnxv.cn/tv.php?url=", "showType":3},{"name":"听乐","category":1,"url":"https://jx.dj6u.com/?url=", "showType":3},{"name":"RDHK","category":1,"url":"https://jx.rdhk.net/?v=", "showType":3},{"name":"铭人云","category":1,"url":"https://parse.123mingren.com/?url=", "showType":3},{"name":"#豆","category":1,"url":"https://jx.aidouer.net/?url=", "showType":1},{"name":"七哥","category":1,"url":"https://jx.mmkv.cn/tv.php?url=", "showType":3},{"name":"CK","category":1,"url":"https://www.ckplayer.vip/jiexi/?url=", "showType":1},{"name":"ckmov","category":1,"url":"https://www.ckmov.vip/api.php?url=", "showType":1},{"name":"playerjy/B站","category":1,"url":"https://jx.playerjy.com/?ads=0&url=", "showType":3},{"name":"1717解析","category":1,"url":"https://ckmov.ccyjjd.com/ckmov/?url=", "showType":1},{"name":"H8","category":1,"url":"https://www.h8jx.com/jiexi.php?url=", "showType":1},{"name":"猪蹄","category":1,"url":"https://jx.iztyy.com/Bei/?url=", "showType":1},{"name":"解析la","category":1,"url":"https://api.jiexi.la/?url=", "showType":1},// {"name":"老板","category":1,"url":"https://vip.laobandq.com/jiexi.php?url=", "showType":1},// {"name":"盘古","category":1,"url":"https://www.pangujiexi.cc/jiexi.php?url=", "showType":1},// {"name":"盖世","category":1,"url":"https://www.gai4.com/?url=", "showType":1},// {"name":"0523","category":1,"url":"https://go.yh0523.cn/y.cy?url=", "showType":1},{"name":"17云","category":1,"url":"https://www.1717yun.com/jx/ty.php?url=", "showType":1},{"name":"云析","category":1,"url":"https://jx.yparse.com/index.php?url=", "showType":1},{"name":"8090","category":1,"url":"https://www.8090g.cn/?url=", "showType":1},{"name":"PM","category":1,"url":"https://www.playm3u8.cn/jiexi.php?url=", "showType":1},// {"name":"无名","category":1,"url":"https://www.administratorw.com/video.php?url=", "showType":1},{"name":"综合线路","category":2,"url":"https://zhihuweb.com/player.html?url=", "showType":1},{"name":"纯净/B站","category":2,"url":"https://z1.m1907.cn/?jx=", "showType":1},{"name":"高速接口","category":2,"url":"https://jsap.attakids.com/?url=", "showType":1},{"name":"综合/B站1","category":2,"url":"https://jx.bozrc.com:4433/player/?url=", "showType":1},{"name":"OK解析","category":2,"url":"https://okjx.cc/?url=", "showType":1},{"name":"夜幕","category":2,"url":"https://www.yemu.xyz/?url=", "showType":1},{"name":"虾米","category":2,"url":"https://jx.xmflv.com/?url=", "showType":1},{"name":"M3U8.TV","category":2,"url":"https://jx.m3u8.tv/jiexi/?url=", "showType":1},];const author = config.scriptInfo.author;const ZHwindow = unsafeWindow||window;const commonFunction = {Toast:function(msg, duration = 3000){var m = document.createElement('div');m.innerHTML = msg;m.setAttribute('id','msg');m.style.cssText = "max-width:60%;min-width: 150px;padding:0 14px;min-height: 40px;color: rgb(255, 255, 255);line-height: 40px;text-align: center;border-radius: 4px;position: fixed;top: 50%;left: 50%;transform: translate(-50%, -50%);z-index: 9999999999;background: rgba(0, 0, 0,.7);font-size: 16px;";document.body.appendChild(m);setTimeout(() => {var d = 0.5;m.style.webkitTransition = '-webkit-transform ' + d + 's ease-in, opacity ' + d + 's ease-in';m.style.opacity = '0';setTimeout(() => { document.body.removeChild(document.querySelector("#msg")) }, d * 1000);}, duration);},//兼容 Tampermonkey | Violentmonkey | Greasymonkey 4.0+GMopenInTab:function(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+GMgetValue:function(name, value) {if (typeof GM_getValue === "function") {return GM_getValue(name, value);} else {return GM.getValue(name, value);}},//兼容 Tampermonkey | Violentmonkey | Greasymonkey 4.0+GMsetValue:function(name, value) {if (typeof GM_setValue === "function") {GM_setValue(name, value);} else {GM.setValue(name, value);}},//兼容 Tampermonkey | Violentmonkey | Greasymonkey 4.0+GMxmlhttpRequest:function(obj) {if (typeof GM_xmlhttpRequest === "function") {GM_xmlhttpRequest(obj);} else {GM.xmlhttpRequest(obj);}},setItem:function(name, Value) {localStorage.setItem(name, Value);},getItem:function(name) {let StorageValue = localStorage.getItem(name);return StorageValue;},removeItem:function(name) {localStorage.removeItem(name);},GMaddStyle:function(data,id=null) {var addStyle = document.createElement('style');addStyle.textContent = data;addStyle.type = 'text/css';addStyle.id = id;var doc = document.head || document.documentElement;doc.appendChild(addStyle);},GMaddScript:function(data) {let script = document.createElement('script');script.src = data;var docu = document.head || document.documentElement;docu.appendChild(script);},GMaddlink:function(data) {let mylink = document.createElement('link');mylink.href = data;mylink.rel = 'stylesheet';var docl = document.head || document.documentElement;docl.appendChild(mylink);},GMopenInTab:function(url, open_in_background) {if (typeof GM_openInTab === "function") {GM_openInTab(url, open_in_background);} else {GM.openInTab(url, open_in_background);}},sleep:function(time) {return new Promise(resolve => setTimeout(resolve, time));},Commonsetinterval:function(data){var Count;var num ="";return new Promise(function(resolve, reject){Count = setInterval(function() {data.forEach((item)=>{var node = document.querySelector(item);if(node !==null){resolve(node);clearInterval(Count);}if(num ==100){clearInterval(Count);}})num++;},200);});},Videosetinterval:function(data){var Count;var num ="";return new Promise(function(resolve, reject){Count = setInterval(function() {for(let i=0;i < data.length;i++ ){var node = document.querySelector(data[i])?.children??"";if(node !==""){resolve(data[i]);clearInterval(Count);}if(num ==20){clearInterval(Count);}}num++;},500);});},menusetting:function(){//初始化脚本设置let setting = ["videosetting","couponsetting","historysetting","Shortvideosetting","Bilibilisetting","Ximalayasetting","Jiaoyupansetting","Docssetting","Csdnsetting"]setting.forEach((item)=>{if(commonFunction.GMgetValue(item)==null){commonFunction.GMsetValue(item,1);}})},setIntervalhost:function() {let playhref = window.location.hrefsetInterval(function() {var workurl = window.location.href;if (playhref != workurl) {console.log(workurl);playhref = workurl;window.location.reload();}},500);},IsPC:function() {var userAgentInfo = config.UA;var Agents = ["Android", "iPhone","SymbianOS", "Windows Phone", "iPad", "iPod"];var flag = true;for (let i = 0; i < Agents.length; i++) {if (userAgentInfo.indexOf(Agents[i]) > 0) {flag = false;break;}}return flag;},IsWap:function(){var com = null;if(config.host.indexOf('item.') > -1) {com = "pc";}else if (config.host.indexOf('m.') > -1||config.playhref.indexOf('/m/') > -1||config.playhref.indexOf('/wap/') > -1) {com = "wap";}else {com = "pc";}return com},Getgoodid:function(data){var reg = new RegExp("(^|&)" + data + "=([^&]*)(&|$)");var s = window.location.search.substr(1).match(reg);if (s != null) {return s[2];}return "";},geturlid:function(url) {var id ="";if (url.indexOf("?") != -1) {url = url.split("?")[0]}if (url.indexOf("#") != -1) {url = url.split("#")[0]}var text = url.split("/");id = text[text.length - 1];id = id.replace(".html", "");return id},request:function(method,url,headers,data=null){return new Promise(function(resolve, reject){commonFunction.GMxmlhttpRequest({url: url,method: method,data:data,headers:headers,onload: function(res) {var status = res.status;var responseText = res.responseText;if(status==200||status=='200'){resolve({"r###lt":"success", "data":responseText});}else{reject({"r###lt":"error", "data":null});}}});})},open:function(data){var main = document.createElement('div');var width = data.area[0];var height = data.area[1];var margintop = height/2;var marginleft = width/2;var style = "z-index: 999999998;width: "+width+"px;height:"+height+"px;position: fixed;top: 50%;left: 50%;margin-left:-"+marginleft+"px;margin-top:-"+margintop+"px;"var btnHTML = '<a class="zhihu-layer-btn0">'+data.btn[0]+'</a><a class="zhihu-layer-btn1">'+data.btn[1]+'</a>';main.innerHTML = '<div class="zhihu-layer-title" style="cursor: move;">'+data.title+'</div><div class="zhihu-layer-content" >'+data.content+'</div><span class="zhihu-layer-setwin"><a class="zhihu-layer-ico zhihu-layer-close1" href="javascript:;"></a></span><div class="zhihu-layer-btn zhihu-layer-btn-c">'+btnHTML+'</div>';main.setAttribute('id',data.id);main.setAttribute('style',style);main.setAttribute('class',"zhihu-layer-page");document.body.appendChild(main);var shade = document.createElement('div');shade.setAttribute('style',"z-index: 999999997;background-color: rgb(0, 0, 0);opacity: 0.3;");shade.setAttribute('class',"zhihu-layer-shade");shade.setAttribute('id',"zhihu-layer-shade");shade.innerHTML =''document.body.appendChild(shade);var css = `::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{width:6px;background:transparent}::-webkit-scrollbar-thumb{width:6px;border-radius:4px;background-color:#54be99;-webkit-transition:all 1s;transition:all 1s}::-webkit-scrollbar-corner{background-color:#54be99}li{list-style:none}.zhihu-form-label,.zhihu-form-select,.zhihu-input-block,.zhihu-input-inline{position:relative}.zhihu-layer-shade{position:fixed;top:0;left:0;box-sizing:border-box;width:100%;height:100%;outline:0;border-radius:2px;-webkit-transition:all .3s;transition:all .3s;_height:expression(document.body.offsetHeight+"px")}.zhihu-layer-page{margin:0;padding:0;background-color:#fff;border-radius:10px;box-shadow:1px 1px 50px rgba(0,0,0,.4);font-family:PingFang SC,HarmonyOS_Regular,Helvetica Neue,Microsoft YaHei,sans-serif}.zhihu-layer-title{padding:0 80px 0 20px;height:50px;line-height:50px;border-bottom:1px solid #f0f0f0;border-radius:2px 2px 0 0;font-size:14px;color:#333;overflow:visible;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.zhihu-layer-setwin{position:absolute;right:15px;top:17px;font-size:0;line-height:normal}.zhihu-layer-setwin .zhihu-layer-close1{background-position:1px -40px;cursor:pointer}.zhihu-layer-setwin a{position:relative;width:16px;height:16px;margin-left:10px;font-size:12px;_overflow:hidden}.zhihu-layer-btn a,.zhihu-layer-setwin a{display:inline-block;vertical-align:top}.zhihu-layer-ico{background:url(https://www.layuicdn.com/layui/css/modules/layer/default/icon.png) no-repeat}.zhihu-layer-btn{text-align:right;padding:10px 15px 12px;pointer-events:auto;user-select:none;-webkit-user-select:none}.zhihu-layer-btn-c{text-align:center}.zhihu-layer-btn a{height:28px;line-height:28px;margin:5px 5px 0;padding:0 15px;border:1px solid #dedede;background-color:#fff;color:#333;border-radius:4px;font-weight:400;cursor:pointer;text-decoration:none}.zhihu-layer-btn1{border-color:#54be99!important;background-color:#54be99!important;color:#fff!important}.zhihu-form-item{margin-bottom:5px;clear:both}.zhihu-form-label{float:left;display:block;padding:9px 15px;width:80px;font-weight:400;line-height:20px;text-align:right;box-sizing:content-box}.zhihu-input-inline{display:inline-block;vertical-align:middle;width:190px;margin-right:10px}.zhihu-input,.zhihu-select,.zhihu-textarea{height:38px;line-height:1.3;border:1px solid #eee;display:block;width:100%;padding-left:10px;background-color:#fff;color:rgba(0,0,0,.85);-webkit-appearance:none;box-sizing: border-box;border-radius: 2px!important;}.zhihu-input-block{margin-left:110px;min-height:auto}.zhihu-input-block p{font-size:12px;line-height:22px}.zhihu-form{display:flex;margin-top:20px}`;commonFunction.GMaddStyle(css,"open");// await commonFunction.sleep(1000);//获取表单对象var zhihuform = document.querySelector('.zhihu-form');//保存按钮点击事件document.querySelector('.zhihu-layer-btn1').addEventListener('click',function() {data.btn1(zhihuform);document.body.removeChild(document.querySelector(".zhihu-layer-page"));document.body.removeChild(document.querySelector("#zhihu-layer-shade"));document.getElementsByTagName("head").item(0).removeChild(document.getElementById("open"));})//取消钮点击事件document.querySelector(".zhihu-layer-btn0").addEventListener('click',function() {document.body.removeChild(document.querySelector(".zhihu-layer-page"));document.body.removeChild(document.querySelector("#zhihu-layer-shade"));document.getElementsByTagName("head").item(0).removeChild(document.getElementById("open"));})//关闭钮点击事件document.querySelector(".zhihu-layer-close1").addEventListener('click',function() {document.body.removeChild(document.querySelector(".zhihu-layer-page"));document.body.removeChild(document.querySelector("#zhihu-layer-shade"));document.getElementsByTagName("head").item(0).removeChild(document.getElementById("open"));})},tab:async function(data){var main = document.createElement('div');var width = data.area[0];var height = data.area[1];var margintop = height/2;var marginleft = width/2;var style = "z-index: 999999998;width: "+width+"px;height:"+height+"px;position: fixed;top: 50%;left: 50%;margin-left:-"+marginleft+"px;margin-top:-"+margintop+"px;"var titleHTML ="";var contentHTML = "";var btnHTML = '<a class="zhihu-layer-btn0">'+data.btn[0]+'</a><a class="zhihu-layer-btn1">'+data.btn[1]+'</a>'for (let i = 0; i < data.tab.length; i++) {if(i === 0 ){titleHTML +='<span class="tab-title zhihu-this">'+data.tab[i].title+'</span>';contentHTML += '<li class="zhihu-layer-tabli zhihu-this">'+data.tab[i].content+'</li>';}else{titleHTML +='<span class="tab-title">'+data.tab[i].title+'</span>';contentHTML += '<li class="zhihu-layer-tabli ">'+data.tab[i].content+'</li>';}}main.innerHTML = '<div class="zhihu-layer-title" style="cursor: move;">'+titleHTML+'</div><div class="zhihu-layer-content" ><ul class="zhihu-layer-tabmain">'+contentHTML+'</ul></div><span class="zhihu-layer-setwin"><a class="zhihu-layer-ico zhihu-layer-close1" href="javascript:;"></a></span><div class="zhihu-layer-btn zhihu-layer-btn-c">'+btnHTML+'</div>';main.setAttribute('id',data.id);main.setAttribute('style',style);main.setAttribute('class',"zhihu-layer-tab");document.body.appendChild(main);var tabtitle = document.getElementsByClassName('tab-title');for (let i = 0; i < tabtitle.length; i++) {let tabli = document.getElementsByClassName('zhihu-layer-tabli')[i];tabtitle[i].addEventListener('click',function() {document.querySelector(".zhihu-layer-title>.zhihu-this").classList.remove("zhihu-this");this.classList.add("zhihu-this");document.querySelector(".zhihu-layer-tabmain>.zhihu-this").classList.remove("zhihu-this");tabli.classList.add("zhihu-this");});}var shade = document.createElement('div');shade.setAttribute('style',"z-index: 999999997;background-color: rgb(0, 0, 0);opacity: 0.3;");shade.setAttribute('class',"zhihu-layer-shade");shade.setAttribute('id',"");shade.innerHTML =''document.body.appendChild(shade);var css = `::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{width:6px;background:transparent}::-webkit-scrollbar-thumb{width:6px;border-radius:4px;background-color:#54be99;-webkit-transition:all 1s;transition:all 1s}::-webkit-scrollbar-corner{background-color:#54be99}li{list-style:none}.zhihu-form-label,.zhihu-form-select,.zhihu-input-block,.zhihu-input-inline{position:relative}.zhihu-layer-shade{position:fixed;top:0;left:0;width:100%;height:100%;_height:expression(document.body.offsetHeight+"px")}.zhihu-layer-tab{margin:0;padding:0;background-color:#fff;border-radius:10px;box-shadow:1px 1px 50px rgba(0,0,0,.4);font-family:PingFang SC,HarmonyOS_Regular,Helvetica Neue,Microsoft YaHei,sans-serif}.zhihu-layer-tab *{box-sizing:content-box}.zhihu-layer-title{height:50px;line-height:50px;border-bottom:1px solid #f0f0f0;border-radius:2px 2px 0 0;font-size:14px;color:#333;padding:0 80px 0 0;overflow:visible;text-overflow:ellipsis;white-space:nowrap}.zhihu-layer-title span{position:relative;float:left;min-width:80px;max-width:300px;padding:0 20px;text-align:center;overflow:hidden;cursor:pointer;font-weight:700;color:#000}.zhihu-layer-title span:first-child{border-left:none}.zhihu-layer-title span.zhihu-this{height:51px;border-left:1px solid #eee;border-right:1px solid #eee;background-color:#fff;z-index:10}.zhihu-layer-title span:first-child.zhihu-this{border-radius:10px 0 0 0}.zhihu-layer-content{position:relative;overflow:hidden;height:290px}.zhihu-layer-tabmain{line-height:24px;clear:both;padding:0;margin:0}.zhihu-layer-tabli{display:none;height:100%}.zhihu-layer-tabmain .zhihu-this{display:block}.zhihu-layer-setwin{position:absolute;right:15px;top:17px;font-size:0;line-height:normal}.zhihu-layer-setwin .zhihu-layer-close1{background-position:1px -40px;cursor:pointer}.zhihu-layer-setwin a{position:relative;width:16px;height:16px;margin-left:10px;font-size:12px;_overflow:hidden}.zhihu-layer-btn a,.zhihu-layer-setwin a{display:inline-block;vertical-align:top}.zhihu-layer-ico{background:url(https://www.layuicdn.com/layui/css/modules/layer/default/icon.png) no-repeat}.zhihu-layer-btn{text-align:right;padding:10px 15px 12px;pointer-events:auto;user-select:none;-webkit-user-select:none}.zhihu-layer-btn-c{text-align:center}.zhihu-layer-btn a{height:28px;line-height:28px;margin:5px 5px 0;padding:0 15px;border:1px solid #dedede;background-color:#fff;color:#333;border-radius:4px;font-weight:400;cursor:pointer;text-decoration:none}.zhihu-layer-btn1{border-color:#54be99!important;background-color:#54be99!important;color:#fff!important}.zhihu-form-item{margin-bottom:15px;clear:both}.zhihu-form-label{float:left;display:block;padding:9px 15px;width:80px;font-weight:400;line-height:20px;text-align:right}.zhihu-input-block{margin-left:110px;min-height:36px;width:190px}.zhihu-form input[type=checkbox],.zhihu-form input[type=radio],.zhihu-form select{display:none}.zhihu-form-switch{position:relative;height:22px;line-height:22px;min-width:35px;padding:0 5px;margin-top:8px;border:1px solid #d2d2d2;border-radius:20px;cursor:pointer;background-color:#fff;-webkit-transition:.1s linear;transition:.1s linear}.zhihu-form-checkbox,.zhihu-form-checkbox *,.zhihu-form-switch{display:inline-block;vertical-align:middle}.zhihu-unselect{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.zhihu-form-switch em{position:relative;top:0;width:25px;margin-left:21px;padding:0!important;text-align:center!important;color:#999!important;font-style:normal!important;font-size:12px}.zhihu-form-switch i{position:absolute;left:5px;top:3px;width:16px;height:16px;border-radius:20px;background-color:#d2d2d2;-webkit-transition:.1s linear;transition:.1s linear}.zhihu-form-onswitch{border-color:#54be99;background-color:#54be99}.zhihu-form-onswitch em{margin-left:5px;margin-right:21px;color:#fff!important}.zhihu-form-onswitch i{left:100%;margin-left:-21px;background-color:#fff}.zhihu-form-select .zhihu-input{padding-right:30px;cursor:pointer}.zhihu-input,.zhihu-textarea{display:block;width:100%;padding-left:10px}.zhihu-input,.zhihu-select,.zhihu-textarea{height:38px;line-height:1.3;border-width:1px!important;border-style:solid!important;background-color:#fff;color:rgba(0,0,0,.85);border-radius:2px!important}.zhihu-btn,.zhihu-input,.zhihu-select,.zhihu-textarea,.zhihu-upload-button{outline:0;-webkit-appearance:none;transition:all .3s;-webkit-transition:all .3s;box-sizing:border-box;border-color:#eee!important}.zhihu-form-select .zhihu-edge{position:absolute;right:10px;top:50%;margin-top:-3px;cursor:pointer;border-top:solid #c2c2c2;border-width:6px;transition:all .3s;-webkit-transition:all .3s}.zhihu-edge{width:0;border:6px dashed transparent;display:inline-block}.zhihu-form-selected .zhihu-edge{margin-top:-9px;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.zhihu-anim{-webkit-animation-duration:.3s;-webkit-animation-fill-mode:both;animation-duration:.3s;animation-fill-mode:both}.zhihu-form-select dl,.zhihu-panel{box-shadow:1px 1px 4px rgb(0 0 0/8%)}.zhihu-form-select dl{position:absolute;top:42px;left:0;z-index:899;display:none;overflow-y:auto;box-sizing:border-box;margin:0;padding:5px 0;max-height:300px;min-width:100%;border:1px solid #eee;border-radius:2px;background-color:#fff}.zhihu-form-selected dl{display:block}.zhihu-form-select dl dd,.zhihu-form-select dl dt{overflow:hidden;margin:0;padding:0 10px;text-overflow:ellipsis;white-space:nowrap;line-height:36px}.zhihu-form-select dl dd{cursor:pointer}.zhihu-form-select dl dd.zhihu-select-tips{padding-left:10px!important;color:#999}.zhihu-form-select dl dd.zhihu-this{background-color:#5fb878;color:#fff}`;commonFunction.GMaddStyle(css,"tab");await commonFunction.sleep(1000);//获取表单对象var zhihuform = document.querySelector('.zhihu-form');//保存按钮点击事件document.querySelector('.zhihu-layer-btn1').addEventListener('click',function() {data.btn1(zhihuform);document.body.removeChild(document.querySelector(".zhihu-layer-tab"));document.body.removeChild(document.querySelector(".zhihu-layer-shade"));document.getElementsByTagName("head").item(0).removeChild(document.getElementById("tab"));})//取消钮点击事件document.querySelector(".zhihu-layer-btn0").addEventListener('click',function() {document.body.removeChild(document.querySelector(".zhihu-layer-tab"));document.body.removeChild(document.querySelector(".zhihu-layer-shade"));document.getElementsByTagName("head").item(0).removeChild(document.getElementById("tab"));})//关闭钮点击事件document.querySelector(".zhihu-layer-close1").addEventListener('click',function() {document.body.removeChild(document.querySelector(".zhihu-layer-tab"));document.body.removeChild(document.querySelector(".zhihu-layer-shade"));document.getElementsByTagName("head").item(0).removeChild(document.getElementById("tab"));})//开关添加开始var zhihuinput = zhihuform.getElementsByClassName('checkbox');for (let i = 0; i < zhihuinput.length; i++) {let name = zhihuinput[i].getAttribute("name");if(name =="switch"){if(zhihuinput[i].checked){zhihuinput[i].insertAdjacentHTML('afterEnd', '<div class="zhihu-unselect zhihu-form-switch zhihu-form-onswitch"><em>ON</em><i></i></div>');}else{zhihuinput[i].insertAdjacentHTML('afterEnd', '<div class="zhihu-unselect zhihu-form-switch "><em>OFF</em><i></i></div>');}}}//开关添加结束//开关点击事件开始var zhihuswitch = document.getElementsByClassName('zhihu-form-switch');for (let i = 0; i < zhihuinput.length; i++) {zhihuswitch[i].addEventListener('click',function() {let onswitch = this.getAttribute("class");if(onswitch.indexOf("zhihu-form-onswitch")!=-1){this.parentNode.querySelector('input').removeAttribute("checked");this.classList.remove("zhihu-form-onswitch");this.innerHTML ="<em>OFF</em><i></i>"}else{this.parentNode.querySelector('input').setAttribute("checked",true);this.classList.add("zhihu-form-onswitch");this.innerHTML ="<em>ON</em><i></i>"}})}//开关点击事件结束//下拉框添加开始var zhihuselect = zhihuform.getElementsByTagName('select');for (let i = 0; i < zhihuselect.length; i++) {let optionHtml ='';let zhihuoption = zhihuselect[i].getElementsByTagName('option');if(zhihuselect[i].selectedIndex < 0){var Index = 0}else{Index = zhihuselect[i].selectedIndex;}let selecttext = zhihuselect[i].options[Index].text;var selectvalue = zhihuselect[i].options[Index].value;for (let l = 0; l < zhihuoption.length; l++) {let optionText = zhihuoption[l].innerText;let optionvalue = zhihuoption[l].value;if(optionvalue == selectvalue){optionHtml += '<dd zhihu-value="'+optionvalue+'" class="zhihu-select-tips zhihu-this">'+optionText+'</dd>'}else{optionHtml += '<dd zhihu-value="'+optionvalue+'" class="">'+optionText+'</dd>'}}var selectHtml = '<div class="zhihu-unselect zhihu-form-select"><div class="zhihu-select-title"><input type="text" placeholder="直接选择或搜索选择" value="'+selecttext+'" readonly="" class="zhihu-input zhihu-unselect"><i class="zhihu-edge"></i></div><dl class="zhihu-anim" style="">'+optionHtml+'</dl></div>';zhihuselect[i].insertAdjacentHTML('afterEnd',selectHtml);}//下拉框添加结束//下拉框操作事件开始var zhihuunselect = document.getElementsByClassName("zhihu-form-select");for (let i = 0; i < zhihuunselect.length; i++) {//下拉框点击事件zhihuunselect[i].addEventListener('click',function() {var selected = this.getAttribute("class");if(selected.indexOf("zhihu-form-selected")!=-1){this.classList.remove("zhihu-form-selected");}else{this.classList.add("zhihu-form-selected");};},false);//下拉框选择事件var zhihudd = zhihuunselect[i].getElementsByTagName('dd');for (let l = 0; l < zhihudd.length; l++) {zhihudd[l].addEventListener('click',function() {var a = zhihuunselect[i].querySelector('.zhihu-this');if(a){a.classList.remove("zhihu-this");a.classList.remove("zhihu-select-tips");}this.classList.add("zhihu-this");this.classList.add("zhihu-select-tips");console.log(this.getAttribute("zhihu-value"));console.log(zhihuunselect[i].parentNode.querySelector('select'))zhihuunselect[i].parentNode.querySelector('select').value = this.getAttribute("zhihu-value");zhihuunselect[i].parentNode.querySelector('input').setAttribute("value",this.innerText);});};}//下拉框操作事件结束},}//--------------------------------------------------------------const ControllerVideo = {//播放节点Playid:function(){var PlayidList = [{ url:"v.qq.com", node:["#mod_player","#player-container"],adnode:["#mask_layer",".mod_vip_popup",".panel-tip-pay"],playwork:true},{ url:"www.iqiyi.com", node:["#flashbox"],playwork:true},{ url:"v.youku.com", node:["#player"],playwork:""},{ url:"w.mgtv.com", node:["#mgtv-player-wrap"],playwork:true},{ url:"www.mgtv.com", node:["#mgtv-player-wrap"],playwork:true},{ url:"tv.sohu.com", node:["#player"],playwork:true},{ url:"film.sohu.com", node:["#playerWrap"],playwork:true},{ url:"www.le.com", node:["#le_playbox"],playwork:true},{ url:"v.pptv.com", node:["#pptv_playpage_box"],playwork:""},{ url:"vip.pptv.com", node:[".w-video"],playwork:""},{ url:"www.wasu.cn", node:["#flashContent","#player"],playwork:""},{ url:"www.bilibili.com", node:["#player_module"],playwork:true},{ url:"vip.1905.com", node:["#player"],playwork:""},{ url:"m.v.qq.com", node:["#player"],adnode:["#vipPosterContent",".at-app-banner"],playwork:true},{ url:"m.youku.com", node:["#player"],adnode:[".callEnd_box"],playwork:""},{ url:"m.iqiyi.com", node:[".m-video-player-wrap"],playwork:true},{ url:"m.mgtv.com", node:[".video-area"],adnode:[".mg-down-btn",".ad-fixed-bar"],playwork:true},{ url:"m.bilibili.com", node:["#bofqi"],playwork:true},{ url:"m.le.com", node:["#j-player"],adnode:["#j-vipLook",".daoliu1","#j-player"],playwork:true},{ url:"m.tv.sohu.com", node:[".player"],adnode:[".player_film_cover"],playwork:true},{ url:"m.pptv.com", node:[".pp-details-video"],playwork:""},];for(let i in PlayidList) { //获得窗口IDif (PlayidList[i].url == config.host) {let Playid = ZHwindow.zhihu.playnode = PlayidList[i].node??null;let playwork = ZHwindow.zhihu.playwork = PlayidList[i].playwork;let adnode = PlayidList[i].adnodeif(adnode){adnode.forEach((item)=>{if(PlayidList[i].url == "m.le.com"&&item == "#j-player"){var player = commonFunction.Commonsetinterval(["#j-player"]);player.then(function(playernode){playernode.style.display="block";});return;}var itemnode = commonFunction.Commonsetinterval([item]);itemnode.then(function(e){e.parentNode.removeChild(e);});})}break;}}},//----------------------------------------------------------------------//接口列表Videolist:function(f){let ListHtml={"Insidehtml":"","selecthtml":"","mobhtml":"","Outsidehtml":"",};//-----------------------------let v = commonFunction.GMgetValue("userplayurl");if(v){var e = v.concat(f);}else{e = f;}for (let i = 0; i < e.length; i++) {if (e[i].category == 1) {ListHtml.Insidehtml += "<span class='jiexi inside' id='Inside_" + i + "' title='" + e[i].name + "' data-index='" + i + "' data-url='" + e[i].url + "'>" + e[i].name + "</span>";ListHtml.selecthtml += "<option value='" +i + "' name='select' data-url='" + e[i].url + "'>" + e[i].name + "</option>"if (e[i].showType == 3) {ListHtml.mobhtml += "<span class='mob-jiexi' id='mob_" + i + "' title='" + e[i].name + "' data-index='" + i + "' data-url='" + e[i].url + "'>" + e[i].name + "</span>";}} else {ListHtml.Outsidehtml += "<span class='jiexi outside 'title='" + e[i].name + "' data-index='" + i + "' data-url='" + e[i].url + "'>" + e[i].name + "</span>";}}//-----------------------------return ListHtml},//增加接口列表Videoaddlist:function(){var addListHtml="";//-----------------------------let e = commonFunction.GMgetValue("userplayurl");console.log(e);if(e != null&&e != ""&&e != undefined){for (let i = 0; i < e.length; i++) {if(e[i].category == 1){addListHtml += '<li><span>'+e[i].name+'</span><span>内部播放</span><span class="urllist">'+e[i].url+'</span><span class="delurl" data-id='+i+'>删除</span></li>';}else if(e[i].category == 2){addListHtml += '<li><span>'+e[i].name+'</span><span>跳转播放</span><span class="urllist">'+e[i].url+'</span><span class="delurl" data-id='+i+'>删除</span></li>';}else{continue;}}}else{addListHtml = '<p style="text-align: center;margin: 20px 0;">暂无数据</p>'}//-----------------------------return addListHtml},//----------------------------------------------------------------------//电脑端addbtn:async function(){console.log(this)const _this = this// await commonFunction.sleep(3000);await _this.Delay();await _this.Playid();_this.CheckAutoplay();var css = `body,html{height:100%;color:#1c1f21;font:14px/1.5 PingFang SC,微软雅黑,Microsoft YaHei,Helvetica,Helvetica Neue,Tahoma,Arial,sans-serif}.elevator{position:fixed;top:55%;left:0;z-index:999999996;margin-top:-140px;padding:0 16px;border-radius:0 8px 8px 0;background:rgb(134 134 134/40%);box-shadow:1px 1px 8px 1px rgb(98 99 99/34%)}.elevator a{position:relative;display:block;box-sizing:border-box;width:26px;height:56px;color:#b5b9bc;text-align:center;font-size:22px;line-height:20px}.elevator a+a:after{position:absolute;top:0;left:50%;margin-left:-12px;width:24px;border:1px solid #f3f5f7;content:""}.elevator a:hover{color:#14191e}.elevator svg{margin:14px 0;width:28px;height:28px;color:#199b6d;font-size:24px;line-height:56px}.elevator svg:hover{color:#14191e}.elevator a span{display:none;padding:14px 0;color:#fff;font-size:12px;line-height:14px}.elevator a:hover svg{display:none}.elevator a:hover span,.jiexi{display:inline-block}.jiexi{margin:0 8px 10px;padding:8px 10px;width:80px;border-radius:4px;background:hsla(0,0%,89.8%,.64);color:#505050;text-align:center;font-size:12px}.jiexiselect{background:#54be99;color:#fff}.zhihu-scan{display:inline-block;margin-left:8px;width:144px;text-align:center}.zhihu-scan img{margin:0 5px 10px;width:140px}.zhihu-scan h1{margin:0 0 20px;font-weight:700;font-size:18px}.zhihu-scan p{margin:0;color:#666;font-size:12px;line-height:26px}.addlist{margin:15px 0 0;padding:0}.addlist li{height:36px;color:#333;font-size:14px;line-height:36px}.addlist li span{display:inline-block;overflow:hidden;width:100px;color:#333;text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.addlist li .urllist{width:214px}::-webkit-input-placeholder{color:#999;font-size:12px;line-height:16px}:-moz-placeholder,::-moz-placeholder{color:#999;font-size:12px;line-height:16px}:-ms-input-placeholder{color:#999;font-size:12px;line-height:16px}#zhihuplay:hover .zhihuepisode{display:inline-block}`;commonFunction.GMaddStyle(css);var btnhtml = '<div class="elevator" id=""><a href="javascript:;" class="elevator-msg" id="PlayMain"><svg t="1651763850342" class="icon" viewBox="0 0 #### ####" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2320" width="200" height="200"><path d="M661.333333 665.6l51.2 12.8 42.666667-72.533333-34.133333-38.4c4.266667-21.333333 4.266667-38.4 4.266666-55.466667s0-34.133333-4.266666-51.2l34.133333-38.4-42.666667-72.533333-51.2 12.8c-25.6-21.333333-55.466667-42.666667-89.6-51.2L554.666667 256h-85.333334l-17.066666 51.2c-34.133333 8.533333-64 25.6-89.6 51.2l-51.2-12.8-42.666667 72.533333 34.133333 38.4c-4.266667 21.333333-4.266667 38.4-4.266666 55.466667s0 34.133333 4.266666 51.2l-34.133333 38.4 42.666667 72.533333 51.2-12.8c25.6 21.333333 55.466667 42.666667 89.6 51.2L469.333333 768h85.333334l17.066666-51.2c34.133333-8.533333 64-25.6 89.6-51.2z m38.4 81.066667c-21.333333 17.066667-51.2 34.133333-76.8 42.666666L597.333333 853.333333h-170.666666l-25.6-64c-29.866667-12.8-55.466667-25.6-76.8-42.666666l-68.266667 12.8-85.333333-149.333334 42.666666-51.2V512c0-17.066667 0-29.866667 4.266667-42.666667l-42.666667-51.2 85.333334-149.333333 68.266666 12.8c21.333333-17.066667 51.2-34.133333 76.8-42.666667L426.666667 170.666667h170.666666l25.6 64c29.866667 12.8 55.466667 25.6 76.8 42.666666l68.266667-12.8 85.333333 149.333334-42.666666 51.2c4.266667 12.8 4.266667 29.866667 4.266666 42.666666s0 29.866667-4.266666 42.666667l42.666666 51.2-85.333333 149.333333-68.266667-4.266666zM512 554.666667c25.6 0 42.666667-17.066667 42.666667-42.666667s-17.066667-42.666667-42.666667-42.666667-42.666667 17.066667-42.666667 42.666667 17.066667 42.666667 42.666667 42.666667z m0 85.333333c-72.533333 0-128-55.466667-128-128s55.466667-128 128-128 128 55.466667 128 128-55.466667 128-128 128z" fill="#ffffff" p-id="2321"></path></svg><span class="">解析设置</span></a><a href="javascript:;" id="addjiexi" class="elevator-faq" ><svg t="1656638904518" class="icon" viewBox="0 0 #### ####" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7918" width="200" height="200"><path d="M469.333333 469.333333V341.333333h85.333334v128h128v85.333334h-128v128h-85.333334v-128H341.333333v-85.333334h128z m42.666667 384c-187.733333 0-341.333333-153.6-341.333333-341.333333s153.6-341.333333 341.333333-341.333333 341.333333 153.6 341.333333 341.333333-153.6 341.333333-341.333333 341.333333z m0-85.333333c140.8 0 256-115.2 256-256s-115.2-256-256-256-256 115.2-256 256 115.2 256 256 256z" fill="#ffffff" p-id="7919"></path></svg><span class="">添加接口</span></a><a href="javascript:;" id="playing" class="elevator-faq" ><svg t="1651762741797" class="icon" viewBox="0 0 #### ####" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1235" width="200" height="200"><path d="M512 853.333333c-187.733333 0-341.333333-153.6-341.333333-341.333333s153.6-341.333333 341.333333-341.333333 341.333333 153.6 341.333333 341.333333-153.6 341.333333-341.333333 341.333333z m0-85.333333c140.8 0 256-115.2 256-256s-115.2-256-256-256-256 115.2-256 256 115.2 256 256 256z m128-256l-213.333333 128V384l213.333333 128z" fill="#ffffff" p-id="1236"></path></svg><span class="">解析播放</span></a></div>';document.body.insertAdjacentHTML('afterbegin', btnhtml);document.querySelector('#playing').onclick = function() {_this.autoplay();commonFunction.Toast(`${ZHwindow?.zhihu?.Delaytime??3}秒后自动解析视频`,`${ZHwindow?.zhihu?.Delaytime??3}`*1000);};//弹窗开始-------------------------------------------------document.querySelector('#PlayMain').addEventListener('click',function() {console.log("点击成功");var ListHtml = _this.Videolist(playList);// console.log(ListHtml);var jiexi = commonFunction.getItem('AutoPlay') == 1 ? "checked": "";commonFunction.tab({area: ['560', '400'],id: "",btn: ['取消', '保存设置'],btnAlign: 'c',tab: [{title: '内嵌播放',content: '<div style="margin:10px 30px 0 30px;display:flex"><div style="width:356px;display:inline-block;margin-left: -8px;height: 280px;overflow-y: scroll;" id="jiexilist">' +ListHtml.Insidehtml + '</div><div class="zhihu-scan" ><img src="http://tool.wezhicms.com/img/1-21121500044Q94.jpg"><h1>智狐百宝箱</h1><p>微信扫描上方二维码</p><p>关注我</p><p>从此不迷路</p></div></div>'},{title: '跳转播放',content: `<div style="margin:10px 30px 0 30px;display:flex"><div style="width:356px;display:inline-block;margin-left: -8px;height: 280px;overflow-y: scroll;" id="jiexilist">${ ListHtml.Outsidehtml}</div><div class="zhihu-scan" ><img src="http://tool.wezhicms.com/img/1-21121500044Q94.jpg"><h1>智狐百宝箱</h1><p>微信扫描上方二维码</p><p>关注我</p><p>从此不迷路</p></div></div>`},{title: '解析设置',content: `<div style="margin:10px 30px 0 30px;display:flex"><div style="width:356px;display:inline-block;padding-right: 15px;height: 280px;overflow-y: scroll;" id="jiexilist"><form class="zhihu-form" ><div class="zhihu-form-item"><label class="zhihu-form-label">解析接口</label><div class="zhihu-input-block"><select name="selectjiexi" lay-verify="required" id ="selectjiexi"><option value="">直接选择或搜索选择</option>${ ListHtml.selecthtml}</select></div></div><div class="zhihu-form-item"><label class="zhihu-form-label">延迟时间</label><div class="zhihu-input-block"><input type="number" placeholder="${ZHwindow.zhihu.Delaytime??3}" name="jiexitime" class="zhihu-input" style="display: inline-block;width: 100px;padding: 2px;margin-right: 10px;text-align: center;"><span style="font-size: 14px;color: #333;">秒</span></div></div><div class="zhihu-form-item"><label class="zhihu-form-label">自动解析</label><div class="zhihu-input-block"><input class="checkbox" type="checkbox" ${ jiexi} name="switch" id="autoplay" ></div></div></form></div><div class="zhihu-scan" style="width:144px;"><img src="http://tool.wezhicms.com/img/1-21121500044Q94.jpg"><h1>智狐百宝箱</h1><p>微信扫描上方二维码</p><p>关注我</p><p>从此不迷路</p></div></div>`}],btn1: function(data) {var s = data.getElementsByTagName('select');for(let i= 0; i < s.length; i++ ){let Index = s[i].selectedIndex;let selectedid = s[i].options[Index].value;let selecturl = s[i].options[Index].getAttribute("data-url");commonFunction.setItem('selectedid', selectedid);commonFunction.setItem('selecturl', selecturl);}var n = data.getElementsByTagName('input');for(let i= 0; i <n.length; i++ ){if(n[i].getAttribute("name") == "switch"){let onswitch = document.querySelector("#autoplay+div").getAttribute("class");if (onswitch.indexOf("zhihu-form-onswitch") != -1) {commonFunction.setItem('AutoPlay', '1');_this.autoplay();commonFunction.Toast(`${ZHwindow.zhihu.Delaytime}秒后自动解析视频`,`${ZHwindow.zhihu.Delaytime}`*1000);} else {commonFunction.setItem('AutoPlay', '0');}}else if(n[i].getAttribute("name") == "jiexitime"){let time = n[i].value;if(time){commonFunction.setItem("Delaytime", time);ZHwindow.zhihu.Delaytime = time;}}}}});if (ZHwindow.zhihu.selectid != "") {document.querySelector('#' + ZHwindow.zhihu.selectid).className += " jiexiselect";}if (commonFunction.getItem('selectedid') != null) {document.querySelector('#selectjiexi').value = commonFunction.getItem('selectedid');}var inList = document.getElementsByClassName('inside');for (let i = 0; i < inList.length; i++) {inList[i].addEventListener('click',function() {if (commonFunction.getItem('selectid') != null) {document.querySelector('#' + commonFunction.getItem('selectid')).classList.remove("jiexiselect");}commonFunction.Toast('开始解析视频',2000);var playObjecturl = ZHwindow.zhihu.selecturl = this.getAttribute("data-url");var playid = ZHwindow.zhihu.selectid = this.getAttribute("id");console.log(playid);this.className = "jiexi inside jiexiselect";document.body.removeChild(document.querySelector(".zhihu-layer-tab"));document.body.removeChild(document.querySelector(".zhihu-layer-shade"));document.getElementsByTagName("head").item(0).removeChild(document.getElementById("tab"));let url;if(ZHwindow.zhihu.decide == true){url = playObjecturl + ZHwindow.zhihu.currently_episode.playurl;}else{url = playObjecturl + window.location.href;}console.log(url);_this.GoPlay(url);});}var outList = document.getElementsByClassName('outside');for (let i = 0; i < outList.length; i++) {outList[i].addEventListener('click',function() {let playObjecturl = this.getAttribute("data-url");let Outsideurl = playObjecturl + window.location.href;document.body.removeChild(document.querySelector(".zhihu-layer-tab"));document.body.removeChild(document.querySelector(".zhihu-layer-shade"));document.getElementsByTagName("head").item(0).removeChild(document.getElementById("tab"));console.log(Outsideurl);window.open(Outsideurl);});}});//弹窗结束-----------------------------------------//自定义接口弹窗document.querySelector('#addjiexi').addEventListener('click',function() {let e = commonFunction.GMgetValue("userplayurl");console.log(e);if(e == null||e == ""||e == undefined){let arr =[];commonFunction.GMsetValue("userplayurl",arr);}let addListHtml = _this.Videoaddlist();let addjiexihtml ="";addjiexihtml +='<form class="zhihu-form" style="height: 325px;margin: 10px 30px 0 30px;"><div style="width:520px;display:inline-block;height:280px;overflow-y: scroll;">'addjiexihtml +='<div class="zhihu-form-item"><textarea placeholder="B站,1,https://jx.m3u8.tv/jiexi/?url= B站,2,https://jx.m3u8.tv/jiexi/?url= 分隔符使用英文逗号,解析名字:B站;1为内部播放,2为跳转播放,解析接口:https://jx.m3u8.tv/jiexi/?url= 如需添加多个解析接口,每行设置一个" class="zhihu-input zhihu-unselect" style="min-height:100px;max-height:160px;max-width:512px;min-width:512px;padding: 10px;"></textarea>'addjiexihtml +='<ul class="addlist"><li><span>解析名称</span><span>播放类型</span><span class="urllist">接口地址</span><span>操作</span></li>'+addListHtml+'</ul></div></div>'addjiexihtml +='</form>'commonFunction.open({area: ['580', '450'],title: "添加解析接口",shade: 0,id:"",btn: ['取消', '添加接口'],content:addjiexihtml,btn1: function(data) {var s= data.getElementsByTagName('textarea');for (var i = 0; i < s.length; i++) {let jiexitext = s[i].value;if(jiexitext){let Alljiexitext = jiexitext.split(/[(\r\n)\r\n]+/); // 根据换行或者回车进行识别Alljiexitext.forEach((item, index) => { // 删除空项if (!item) {Alljiexitext.splice(index, 1);}})Alljiexitext = Array.from(new Set(Alljiexitext)); // 去重if(Alljiexitext){Alljiexitext.forEach((item, index) => {if (item) {let jiexiitem = item.split(/,/);let num = index+1if(jiexiitem.length == 3){if(jiexiitem[1]==1||jiexiitem[1]==2){let j = {name:jiexiitem[0],category:jiexiitem[1],url:jiexiitem[2],showType:"1"};let v= commonFunction.GMgetValue("userplayurl");let l = v.push(j);commonFunction.GMsetValue("userplayurl",v);commonFunction.Toast("添加成功,请重新设置自动解析接口",1500)console.log(v)}else{commonFunction.Toast("第"+num+"行格式错误,请按照示例格式重新添加")}}else{commonFunction.Toast("第"+num+"行格式错误,请按照示例格式重新添加")}}})}}}}});var addurlList = document.getElementsByClassName('delurl');for (var u = 0; u < addurlList.length; u++) {addurlList[u].addEventListener('click', function() {let urlid = this.getAttribute("data-id");let v= commonFunction.GMgetValue("userplayurl");v.forEach((item, index) => {if (index == urlid) {v.splice(index, 1);}});commonFunction.GMsetValue("userplayurl",v);console.log(commonFunction.GMgetValue("userplayurl"));commonFunction.Toast("删除成功,请重新设置自动解析接口",1500)document.body.removeChild(document.querySelector(".zhihu-layer-page"));document.body.removeChild(document.querySelector(".zhihu-layer-shade"));document.getElementsByTagName("head").item(0).removeChild(document.getElementById("open"));document.querySelector('#addjiexi').click();});}});//自定义弹窗结束},//---------------------------------------------------------------------//手机端addmobbtn:async function() {const _this =thisawait commonFunction.sleep(1000);await _this.Delay();await _this.Playid();var ListHtml = _this.Videolist(playList);var offautohtml = '<span id="off">关闭自动解析</span><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAPoUlEQVR4Xu2debSvUxnHP4iSMVPdzGkRFWq1sAqlDMmsiQwVyhSLSqmssNIoscwqlVCazJGhCa2wWhWtiFxjyJSMKcNtffPe7rncc87v9zv72e+79/t9/jzn3c/wffb39w57P8+eC4sRMALjIjCXsTECRmB8BEwQzw4jMAECJoinhxEwQTwHjMBoCPgOMhpuHtUTBEyQniTaYY6GgAkyGm4e1RMETJCeJNphjoaACTIabh7VEwRMkJ4k2mGOhoAJMhpuo45aF1gHWB1YCVgcWARYEHgR8IJG8VPAE8CjwEPAA8B04FrgSuCKUR3wuOEQMEGGw2vQq+cDdgS2ANZuiKC/pZT/NMS5CjgPOA3Q3ywJETBB0oH5LmBvYFVgKSA3tjOAe4HrgeOAH6cLrb+aciexNqSXBQ4BNgNe2rHg7gF+2vh3R8d8K8YdE2S0VH0Q2B9YDZhnNBXZRj0NXAccCXw7m9VKDJkgwyVSpNgHWHG4YZ25+hbgmIYsnXGqy46YIINl51BgN+Dlg13e+avuAr4JHNx5T1t20ASZOAEbACcAq7ScpyjzNwB7Ar+MMlC6XhNk/AyeCWwFzF16kifx/xngHGDbyuMcKTwT5PmwfQj4ErDYSIiWO+gfwIHAN8oNIb3nJsjsmJ4C7NTCGkb6zI6mUWsppwLvH214faNMkGdzqlVurUivWV+KR4roj80OgN6vzJsgsDVwcg8fqSZjjh65dgXOnuzCmv/fd4LsBxw+ZpNgzbkeJTZtmjwAOGqUwTWM6TNBRA6tLlsmR0ALpL0kSV8JYnJMTornXtFLkvSRIHs0i3/DTxGP0KLiiX2CoW8EUX3GuX1KcECsWzb1JwGqu6eyTwQxOdLNv96QpC8EETm0dWRmSWu6qdJPTfq6pa0pqmSsWvpAENV/axFQNd+WdAioZl7lxKqTr1b6QBDVQKxQbQbbDezWgmtjBkKudoJcDGw0EBL5L1Kl32PAP4G7gduBGxs3VgaWA6YBiwILdLhy8RJg4/zw5bFYM0G+AHwqD4wDWflX8zhyFvDlgUY8/6JPAts0bYPmH1FHxLAvAp+OUNy2zloJomfjy4F5WwZYd4XLgO8C+qVNKboz7gys39xtUuoeVteTwHrNu96wYzt9fa0E+T3wuhaR1yOTakqOzuTDvk0thx7J2pI/AK9vy3iU3RoJslfTFyoKs4n06p1CnUPU2KENUUMGdVzRO0sbor5gx7dhOMpmjQS5s4XmCnrhVg+qdwJaI2hTtNbzk6ZXV+6WRGoGsXSbwae2XRtB9Oul/UI55UFgO0BfzLok+rJ0BvCSzE6pyYXu4lVITQRRVaAm64szZkZrLK/IaG8UUzdnXqt4vCFlFdWINRHkR4D64+aSXwFqC1SCqK3PWzI6qr7A785oL8xULQTR1xut6qbuoD4e8CpF/VZYVmIU79KUFsdon12r7h7avaCveUVLLQS5ANg0UybUpFpd1###dZ1XU+scciHwjhyGIm3UQBBtRtS6R44vNiXeOZ47f3LdSfRlT+siRW9mrIEgud491DPrA5G/Vhl1fydT76vi30VqIIged5YMnlw1rhLn2G1wX3OYUHB64tSXTpC3AZfGwfM/zeoPpfeOthcAU4epBUW9j0S3WN0Q+Hlq53PpK50gOR6v1IpU5//VKDpHUa1GI6Xox6zSCRL9eKUXzDUiZ08HdF/TbJ+PcqXox6ySCaJt3r+Oymqjtw/NCXI0s3hzs+0/OF3p1ZdMEH1VUj1ElFzd1FxH6e+SXtXsrxXokOphiuwYXzJBtHK+fFBSdaiMtpGo2KkPoruxtqNEHRZ0W6l9AUomiBaiohKqakRNmj6JfgxUFRgh+sHJsZCb3PdSCbJ7cAvMTTq4fT158p+jUNvjLwo0opavJwXqD1FdKkEid6eqy0juGoqQ5I6gVOUC6qISISXtfv5//KUSZHpgHYYWHrvaKihi4o7VqcYSWtiLENWlrBShOFJnqQR5GFgoCJg+fNodD7rIT76PAAsH5SxMbakEiXpBV++qnBWJYYmdgmJVBEb03CryRb1Egmhf1N+nMAEmGlrkc3JiLCLf716WsR4lCSwlEkRltdqDFSG9OyBmDiBGHjCkMlztzSpGSiSI2m+qKVuEqCrxZxGKC9L5dkDVgBFy4BTarkb4M6nOEgmiPrACOkJWGdNAOkJ/CTrVOPuGIEf1w9alfsmThlkiQSJ7X5WIx6RJHuGCGSOMGWRIcT2zSpwQqs3YYZBsDHlNkV9Zhoxx0MujvhKeDqgGpRgpkSDnAFqrSC1qVfPC1EoL1ffvoBZKOkB1q5IwKZEgKt98awDIWnxcJEBviSofClrU+wWgMulipESCRH2n15l7EQtkxUyGMY5qwTTiTEf1L9usJEBMkFnZ0otp1Pb5kuaEfNX7WMTcUDPt7UsCIwKE6Pij7iDyu0Q8IvCO+or1dUClCsVIiRMikiDq1K6O7X2WFQHtvI2QI4CPRyiO0mmCzI7s5s1BOFF4l6BX7wjnBzl6CHBokO4QtSbILFhVKKXkHRWCdDlK9wt2tSh8TZDZCdLXSsJgTpSr3gQxQcqdvRk8N0FMkAzTrFwTJogJUu7szeC5CWKCZJhm5ZowQUyQcmdvBs9NEBMkwzQr14QJYoKUO3szeG6CmCAZplm5JkwQE6Tc2ZvBcxPEBMkwzco1YYKYIOXO3gyemyAmSIZpVq4JE8QEKXf2ZvDcBDFBMkyzck2YICZIubM3g+dtEGRZ4ADgtcArAXVrnzdDrDZRHgJPNt3gbwL+BBwO3JEzjNwEUcXeJ4JayuTEzbbaQUCtmb4CHJzLfE6CRJ/FnQsz22kfgWxn2OciyN2ADk+xGIFUCOgQpWmplI2nJwdBDgM+Ex2I9fcSgc8DB0VGHk2QyMNYInGx7nIQCD30KJog9wFLlIO1PS0QgfuBJaP8jiRI5JHCUXhYb5kIhB3dHUmQrwH7l4m3vS4MgSOBj0b4HEmQyB66EVhYZ7kIhB3fHUkQrXguUy7m9rwgBP4GaIdGcokkyIPAosk9tkIj8HwE1Fc5pG2sCeLpVgMCJkgNWXQMYQiYIGHQWnENCJggNWTRMYQhYIKEQWvFNSBggtSQRccQhoAJEgatFdeAgAlSQxYdQxgCJkgYtFZcAwImSA1ZdAxhCJggYdBacQ0ImCA1ZNExhCFggoRBa8U1IGCC1JBFxxCGgAkSBq0V14CACVJDFh1DGAImSBi0VlwDAiZIDVl0DGEImCBh0FpxDQiYIDVk0TGEIWCChEGbT/GtwIXAEcD0xuzCwJrAa4APA6sDkX0C8kWb11KRBHHb0WcnyUMNKT43wJxZG3gv8CpgheZwocUGGNf3S8Laj0b+Wt0ArNzzzN0IrDJFDNShchdgkSnqqXl4CpzniE8kQfreWfG3wBsTzspTgJ0T6qtJVZGdFa9pnqlrSsSgseixKqJp3snN3WRQP/py3bXAGhHBRt5BbgOWi3C6AJ1fbQ4qjXD1HEDdzC2zELgdWD4CkEiC6MVp8QinO67zgQxnovwlwbtNx2Ecyr0wzCMJ0tfevCcBewyV3uEv3gs4bvhh1Y4o8jNvXwkS+a###oa7e/4sNEyQQn77ngLmzeSrzpz/bCZbXTdjgnQ9Q41/jwBaHc8h7wNOz2GoABsmSAFJkotPAPNn8nVd4PJMtrpuxgTpeoYa/2YAc2fydWlAJytZwAQpaBZoa4m2PkTLNOCuaCOF6DdBCkmU3Dw105aQjwFakLT4DlLUHNAu5qUyeHwBsGkGOyWY8B2khCyN8fFYYJ9gn70OMgtgEyR4sqVW/yiwUGqlY/SdCOweqL801SZIaRlrvjCFnN0NPJ3xa1kJ0JsgJWRpDj7qM+z2wBUJ/b8JWCmhvhpUmSAFZ1HbT1TstFuCGFTXHrKtO4FvbaowQdpEP5HtxwEV9qjo6a/AzYBetAcRvW8cDcw3yMU9vMYEqTDpevwa9B3FX6wmngAmSIUEGaaOuu/1/ZOl3wSZDKEC/2+CpEuaCZIOy85oMkHSpcIESYdlZzSZIOlSYYKkw7IzmkyQdKkwQdJh2RlNJki6VJgg6bDsjCYTJF0qTJB0WHZGkwmSLhUmSDosO6PJBEmXChMkHZad0WSCpEuFCZIOy85oMkHSpcIESYdlZzSZIOlSUSRBtBlPrWksc0bgemC1AcG5Dlh1wGv7eNmdwDIRgUf2kf3zEBMgIrau67y3OWJtED/vydQIYhBfuniNfkBeHeFYJEFURfemCKcr0vl9QC1EJ5LvNVWJFYWdPJTfAOo0mVwiCXI2sFVyj+tTqEcnnfcxJ9FhnnoUs0yMgA4V2joCpEiCuPPG4Bn7AXAWcGUzZB1gm+bE28G19PfKsDNZIglyMHBIf3PmyDMioHmm4yCSSyRB/HiQPF1WOA4CEz2mTgm0SILIsb6eMjWlpHjwUAiErYHIi2iCnOHn6KGS7YuHR0Dvb9sNP2ywEdEE2Ri4aDBXfJURGAmBTYCLRxo5wKBogvgxa4Ak+JKREQh9vMrxiCUblwAbjgyBBxqB8RG4FNgoEqAcd5Adm0NlIuOw7n4isBNwWmToOQgi/68BVo8MxLp7h4DauK4RHXUugmwBnBsdjPX3CoEtgfOiI85FEMVxFbBWdEDW3wsErgbWzhFpToKsD6jHbK5jknPgZxv5EXgG2AC4LIfpnARRPApqvRyB2Ua1CFwO6Mc2i+QmyBLAdGDhLNHZSG0IPNycrnV/rsByE0Rx6Uiy0zNsc8mFoe3kQWAGsAOgIrNs0gZBFJxOS4o+JjkbiDaUBYFjgH2zWBpjpC2CyAUfCpM72+XaG6YDTNIo2ySIArkNWC5pRFZWGwK3t3lwadsEUTJvAVaoLauOJwkCOtV3xSSaRlTSBYLI9eOBPUeMwcPqROAEYK+2Q+sKQYSDwDjWX7fanhKt29fXqo80P5qtO9MlgggMLQCdCSzeOjJ2oA0EHgC2zbVKPkiAXSOIfNYi4vlN0zlvSxkki+Vfo+0jav62OaDFwM5IFwkyExzdTQ73BsfOzJUoR7Tx8IAu3TXGBtplgsz0U1vlD3M9SdT8bE2v6jkOyrFlfSoRlkCQmfGpMnFX4A3AglMJ2mNbQ+BR4HfAydGVgKkiLIkgY2NWH9a9AbXoNFlSzYYYPSKFWqoeB6hfc1FSKkHGgqxS3vcAKzer8tOARYEFgHmKyka5zj4NPAaoy8jdgFa/bwR+COhRqlipgSDFgm/Hu4+ACdL9HNnDFhEwQVoE36a7j4AJ0v0c2cMWETBBWgTfpruPgAnS/RzZwxYRMEFaBN+mu4+ACdL9HNnDFhEwQVoE36a7j4AJ0v0c2cMWETBBWgTfpruPwH8BNepT5xvwC+0AAAAASUVORK5CYII=">'var onautohtml = '<span id="on">开启自动解析</span><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAPoUlEQVR4Xu2debSvUxnHP4iSMVPdzGkRFWq1sAqlDMmsiQwVyhSLSqmssNIoscwqlVCazJGhCa2wWhWtiFxjyJSMKcNtffPe7rncc87v9zv72e+79/t9/jzn3c/wffb39w57P8+eC4sRMALjIjCXsTECRmB8BEwQzw4jMAECJoinhxEwQTwHjMBoCPgOMhpuHtUTBEyQniTaYY6GgAkyGm4e1RMETJCeJNphjoaACTIabh7VEwRMkJ4k2mGOhoAJMhpuo45aF1gHWB1YCVgcWARYEHgR8IJG8VPAE8CjwEPAA8B04FrgSuCKUR3wuOEQMEGGw2vQq+cDdgS2ANZuiKC/pZT/NMS5CjgPOA3Q3ywJETBB0oH5LmBvYFVgKSA3tjOAe4HrgeOAH6cLrb+aciexNqSXBQ4BNgNe2rHg7gF+2vh3R8d8K8YdE2S0VH0Q2B9YDZhnNBXZRj0NXAccCXw7m9VKDJkgwyVSpNgHWHG4YZ25+hbgmIYsnXGqy46YIINl51BgN+Dlg13e+avuAr4JHNx5T1t20ASZOAEbACcAq7ScpyjzNwB7Ar+MMlC6XhNk/AyeCWwFzF16kifx/xngHGDbyuMcKTwT5PmwfQj4ErDYSIiWO+gfwIHAN8oNIb3nJsjsmJ4C7NTCGkb6zI6mUWsppwLvH214faNMkGdzqlVurUivWV+KR4roj80OgN6vzJsgsDVwcg8fqSZjjh65dgXOnuzCmv/fd4LsBxw+ZpNgzbkeJTZtmjwAOGqUwTWM6TNBRA6tLlsmR0ALpL0kSV8JYnJMTornXtFLkvSRIHs0i3/DTxGP0KLiiX2CoW8EUX3GuX1KcECsWzb1JwGqu6eyTwQxOdLNv96QpC8EETm0dWRmSWu6qdJPTfq6pa0pqmSsWvpAENV/axFQNd+WdAioZl7lxKqTr1b6QBDVQKxQbQbbDezWgmtjBkKudoJcDGw0EBL5L1Kl32PAP4G7gduBGxs3VgaWA6YBiwILdLhy8RJg4/zw5bFYM0G+AHwqD4wDWflX8zhyFvDlgUY8/6JPAts0bYPmH1FHxLAvAp+OUNy2zloJomfjy4F5WwZYd4XLgO8C+qVNKboz7gys39xtUuoeVteTwHrNu96wYzt9fa0E+T3wuhaR1yOTakqOzuTDvk0thx7J2pI/AK9vy3iU3RoJslfTFyoKs4n06p1CnUPU2KENUUMGdVzRO0sbor5gx7dhOMpmjQS5s4XmCnrhVg+qdwJaI2hTtNbzk6ZXV+6WRGoGsXSbwae2XRtB9Oul/UI55UFgO0BfzLok+rJ0BvCSzE6pyYXu4lVITQRRVaAm64szZkZrLK/IaG8UUzdnXqt4vCFlFdWINRHkR4D64+aSXwFqC1SCqK3PWzI6qr7A785oL8xULQTR1xut6qbuoD4e8CpF/VZYVmIU79KUFsdon12r7h7avaCveUVLLQS5ANg0UybUpFpd1###dZ1XU+scciHwjhyGIm3UQBBtRtS6R44vNiXeOZ47f3LdSfRlT+siRW9mrIEgud491DPrA5G/Vhl1fydT76vi30VqIIged5YMnlw1rhLn2G1wX3OYUHB64tSXTpC3AZfGwfM/zeoPpfeOthcAU4epBUW9j0S3WN0Q+Hlq53PpK50gOR6v1IpU5//VKDpHUa1GI6Xox6zSCRL9eKUXzDUiZ08HdF/TbJ+PcqXox6ySCaJt3r+Oymqjtw/NCXI0s3hzs+0/OF3p1ZdMEH1VUj1ElFzd1FxH6e+SXtXsrxXokOphiuwYXzJBtHK+fFBSdaiMtpGo2KkPoruxtqNEHRZ0W6l9AUomiBaiohKqakRNmj6JfgxUFRgh+sHJsZCb3PdSCbJ7cAvMTTq4fT158p+jUNvjLwo0opavJwXqD1FdKkEid6eqy0juGoqQ5I6gVOUC6qISISXtfv5//KUSZHpgHYYWHrvaKihi4o7VqcYSWtiLENWlrBShOFJnqQR5GFgoCJg+fNodD7rIT76PAAsH5SxMbakEiXpBV++qnBWJYYmdgmJVBEb03CryRb1Egmhf1N+nMAEmGlrkc3JiLCLf716WsR4lCSwlEkRltdqDFSG9OyBmDiBGHjCkMlztzSpGSiSI2m+qKVuEqCrxZxGKC9L5dkDVgBFy4BTarkb4M6nOEgmiPrACOkJWGdNAOkJ/CTrVOPuGIEf1w9alfsmThlkiQSJ7X5WIx6RJHuGCGSOMGWRIcT2zSpwQqs3YYZBsDHlNkV9Zhoxx0MujvhKeDqgGpRgpkSDnAFqrSC1qVfPC1EoL1ffvoBZKOkB1q5IwKZEgKt98awDIWnxcJEBviSofClrU+wWgMulipESCRH2n15l7EQtkxUyGMY5qwTTiTEf1L9usJEBMkFnZ0otp1Pb5kuaEfNX7WMTcUDPt7UsCIwKE6Pij7iDyu0Q8IvCO+or1dUClCsVIiRMikiDq1K6O7X2WFQHtvI2QI4CPRyiO0mmCzI7s5s1BOFF4l6BX7wjnBzl6CHBokO4QtSbILFhVKKXkHRWCdDlK9wt2tSh8TZDZCdLXSsJgTpSr3gQxQcqdvRk8N0FMkAzTrFwTJogJUu7szeC5CWKCZJhm5ZowQUyQcmdvBs9NEBMkwzQr14QJYoKUO3szeG6CmCAZplm5JkwQE6Tc2ZvBcxPEBMkwzco1YYKYIOXO3gyemyAmSIZpVq4JE8QEKXf2ZvDcBDFBMkyzck2YICZIubM3g+dtEGRZ4ADgtcArAXVrnzdDrDZRHgJPNt3gbwL+BBwO3JEzjNwEUcXeJ4JayuTEzbbaQUCtmb4CHJzLfE6CRJ/FnQsz22kfgWxn2OciyN2ADk+xGIFUCOgQpWmplI2nJwdBDgM+Ex2I9fcSgc8DB0VGHk2QyMNYInGx7nIQCD30KJog9wFLlIO1PS0QgfuBJaP8jiRI5JHCUXhYb5kIhB3dHUmQrwH7l4m3vS4MgSOBj0b4HEmQyB66EVhYZ7kIhB3fHUkQrXguUy7m9rwgBP4GaIdGcokkyIPAosk9tkIj8HwE1Fc5pG2sCeLpVgMCJkgNWXQMYQiYIGHQWnENCJggNWTRMYQhYIKEQWvFNSBggtSQRccQhoAJEgatFdeAgAlSQxYdQxgCJkgYtFZcAwImSA1ZdAxhCJggYdBacQ0ImCA1ZNExhCFggoRBa8U1IGCC1JBFxxCGgAkSBq0V14CACVJDFh1DGAImSBi0VlwDAiZIDVl0DGEImCBh0FpxDQiYIDVk0TGEIWCChEGbT/GtwIXAEcD0xuzCwJrAa4APA6sDkX0C8kWb11KRBHHb0WcnyUMNKT43wJxZG3gv8CpgheZwocUGGNf3S8Laj0b+Wt0ArNzzzN0IrDJFDNShchdgkSnqqXl4CpzniE8kQfreWfG3wBsTzspTgJ0T6qtJVZGdFa9pnqlrSsSgseixKqJp3snN3WRQP/py3bXAGhHBRt5BbgOWi3C6AJ1fbQ4qjXD1HEDdzC2zELgdWD4CkEiC6MVp8QinO67zgQxnovwlwbtNx2Ecyr0wzCMJ0tfevCcBewyV3uEv3gs4bvhh1Y4o8jNvXwkS+a###oa7e/4sNEyQQn77ngLmzeSrzpz/bCZbXTdjgnQ9Q41/jwBaHc8h7wNOz2GoABsmSAFJkotPAPNn8nVd4PJMtrpuxgTpeoYa/2YAc2fydWlAJytZwAQpaBZoa4m2PkTLNOCuaCOF6DdBCkmU3Dw105aQjwFakLT4DlLUHNAu5qUyeHwBsGkGOyWY8B2khCyN8fFYYJ9gn70OMgtgEyR4sqVW/yiwUGqlY/SdCOweqL801SZIaRlrvjCFnN0NPJ3xa1kJ0JsgJWRpDj7qM+z2wBUJ/b8JWCmhvhpUmSAFZ1HbT1TstFuCGFTXHrKtO4FvbaowQdpEP5HtxwEV9qjo6a/AzYBetAcRvW8cDcw3yMU9vMYEqTDpevwa9B3FX6wmngAmSIUEGaaOuu/1/ZOl3wSZDKEC/2+CpEuaCZIOy85oMkHSpcIESYdlZzSZIOlSYYKkw7IzmkyQdKkwQdJh2RlNJki6VJgg6bDsjCYTJF0qTJB0WHZGkwmSLhUmSDosO6PJBEmXChMkHZad0WSCpEuFCZIOy85oMkHSpcIESYdlZzSZIOlSUSRBtBlPrWksc0bgemC1AcG5Dlh1wGv7eNmdwDIRgUf2kf3zEBMgIrau67y3OWJtED/vydQIYhBfuniNfkBeHeFYJEFURfemCKcr0vl9QC1EJ5LvNVWJFYWdPJTfAOo0mVwiCXI2sFVyj+tTqEcnnfcxJ9FhnnoUs0yMgA4V2joCpEiCuPPG4Bn7AXAWcGUzZB1gm+bE28G19PfKsDNZIglyMHBIf3PmyDMioHmm4yCSSyRB/HiQPF1WOA4CEz2mTgm0SILIsb6eMjWlpHjwUAiErYHIi2iCnOHn6KGS7YuHR0Dvb9sNP2ywEdEE2Ri4aDBXfJURGAmBTYCLRxo5wKBogvgxa4Ak+JKREQh9vMrxiCUblwAbjgyBBxqB8RG4FNgoEqAcd5Adm0NlIuOw7n4isBNwWmToOQgi/68BVo8MxLp7h4DauK4RHXUugmwBnBsdjPX3CoEtgfOiI85FEMVxFbBWdEDW3wsErgbWzhFpToKsD6jHbK5jknPgZxv5EXgG2AC4LIfpnARRPApqvRyB2Ua1CFwO6Mc2i+QmyBLAdGDhLNHZSG0IPNycrnV/rsByE0Rx6Uiy0zNsc8mFoe3kQWAGsAOgIrNs0gZBFJxOS4o+JjkbiDaUBYFjgH2zWBpjpC2CyAUfCpM72+XaG6YDTNIo2ySIArkNWC5pRFZWGwK3t3lwadsEUTJvAVaoLauOJwkCOtV3xSSaRlTSBYLI9eOBPUeMwcPqROAEYK+2Q+sKQYSDwDjWX7fanhKt29fXqo80P5qtO9MlgggMLQCdCSzeOjJ2oA0EHgC2zbVKPkiAXSOIfNYi4vlN0zlvSxkki+Vfo+0jav62OaDFwM5IFwkyExzdTQ73BsfOzJUoR7Tx8IAu3TXGBtplgsz0U1vlD3M9SdT8bE2v6jkOyrFlfSoRlkCQmfGpMnFX4A3AglMJ2mNbQ+BR4HfAydGVgKkiLIkgY2NWH9a9AbXoNFlSzYYYPSKFWqoeB6hfc1FSKkHGgqxS3vcAKzer8tOARYEFgHmKyka5zj4NPAaoy8jdgFa/bwR+COhRqlipgSDFgm/Hu4+ACdL9HNnDFhEwQVoE36a7j4AJ0v0c2cMWETBBWgTfpruPgAnS/RzZwxYRMEFaBN+mu4+ACdL9HNnDFhEwQVoE36a7j4AJ0v0c2cMWETBBWgTfpruPwH8BNepT5xvwC+0AAAAASUVORK5CYII=">'var autohtml;if (commonFunction.getItem("AutoPlay") == 1) {autohtml = offautohtml} else {autohtml = onautohtml}var mainhtml = '<div class="mob-main"><div class="shaw"></div><div class="listmian"><div class="listmian-tit"><p>解析接口列表</p><div class="title_right" id="autobtn">' + autohtml + '</div></div><div class="list">' + ListHtml.mobhtml + '</div><p class="tips"><span class="ico">*</span><span>开启自动解析后,最后一次选择的接口即自动解析默认接口</span></p><p class="tips"><span class="ico">*</span><span>本脚本仅学习使用,解析接口收集于网络,版权问题联系接口制作者,请勿相信解析接口显示的任何广告</span></p></div></div>'var btnhtml = '<div><div class="elevator"><a class="elevator-msg" id="Showmain"><svg t="1651763850342" class="icon" viewBox="0 0 #### ####" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2320" width="200" height="200"><path d="M661.333333 665.6l51.2 12.8 42.666667-72.533333-34.133333-38.4c4.266667-21.333333 4.266667-38.4 4.266666-55.466667s0-34.133333-4.266666-51.2l34.133333-38.4-42.666667-72.533333-51.2 12.8c-25.6-21.333333-55.466667-42.666667-89.6-51.2L554.666667 256h-85.333334l-17.066666 51.2c-34.133333 8.533333-64 25.6-89.6 51.2l-51.2-12.8-42.666667 72.533333 34.133333 38.4c-4.266667 21.333333-4.266667 38.4-4.266666 55.466667s0 34.133333 4.266666 51.2l-34.133333 38.4 42.666667 72.533333 51.2-12.8c25.6 21.333333 55.466667 42.666667 89.6 51.2L469.333333 768h85.333334l17.066666-51.2c34.133333-8.533333 64-25.6 89.6-51.2z m38.4 81.066667c-21.333333 17.066667-51.2 34.133333-76.8 42.666666L597.333333 853.333333h-170.666666l-25.6-64c-29.866667-12.8-55.466667-25.6-76.8-42.666666l-68.266667 12.8-85.333333-149.333334 42.666666-51.2V512c0-17.066667 0-29.866667 4.266667-42.666667l-42.666667-51.2 85.333334-149.333333 68.266666 12.8c21.333333-17.066667 51.2-34.133333 76.8-42.666667L426.666667 170.666667h170.666666l25.6 64c29.866667 12.8 55.466667 25.6 76.8 42.666666l68.266667-12.8 85.333333 149.333334-42.666666 51.2c4.266667 12.8 4.266667 29.866667 4.266666 42.666666s0 29.866667-4.266666 42.666667l42.666666 51.2-85.333333 149.333333-68.266667-4.266666zM512 554.666667c25.6 0 42.666667-17.066667 42.666667-42.666667s-17.066667-42.666667-42.666667-42.666667-42.666667 17.066667-42.666667 42.666667 17.066667 42.666667 42.666667 42.666667z m0 85.333333c-72.533333 0-128-55.466667-128-128s55.466667-128 128-128 128 55.466667 128 128-55.466667 128-128 128z" fill="#ffffff" p-id="2321"></path></svg><span class="">解析设置</span></a><a id="playing" class="elevator-faq" target="_blank"><svg t="1651762741797" class="icon" viewBox="0 0 #### ####" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1235" width="200" height="200"><path d="M512 853.333333c-187.733333 0-341.333333-153.6-341.333333-341.333333s153.6-341.333333 341.333333-341.333333 341.333333 153.6 341.333333 341.333333-153.6 341.333333-341.333333 341.333333z m0-85.333333c140.8 0 256-115.2 256-256s-115.2-256-256-256-256 115.2-256 256 115.2 256 256 256z m128-256l-213.333333 128V384l213.333333 128z" fill="#ffffff" p-id="1236"></path></svg><span class="">解析播放</span></a></div>' + mainhtml+'</div>';document.body.insertAdjacentHTML('afterbegin', btnhtml);var css = `body, html{font-family: PingFang SC, HarmonyOS_Regular, Helvetica Neue, Microsoft YaHei, sans-serif;}.elevator{position: fixed;padding: 0 10px;top: 80%;margin-top: -140px;right: 10px;z-index: 899;background: rgb(64 64 64 / 81%);box-shadow: 1px 1px 8px 1px rgb(98 99 99 / 34%);border-radius: 30px;}.elevator a{position: relative;display: block;width: 26px;height: 56px;font-size: 22px;line-height: 20px;color: #b5b9bc;box-sizing: border-box;text-align: center;}.elevator a+a:after{position: absolute;top: 0;left: 50%;margin-left: -12px;content: '';width: 24px;border: 1px solid #F3F5F7;}.elevator a:hover{color: #14191e;}.elevator .icon{font-size: 24px;line-height: 56px;color: #199b6d;width: 28px;height: 28px;margin: 14px 0;}.elevator .icon:hover{color: #14191e;}.elevator a span{display: none;padding: 14px 0;font-size: 12px;color: #fff;line-height: 14px;}.elevator .elevator-msg:hover .icon,.elevator .elevator-faq:hover .icon,{display: none;}.elevator .elevator-msg:hover span,.elevator .elevator-faq:hover span,{display: inline-block;}.mob-main{display: none;}.shaw{width: 100%;height: 100%;position: fixed;top: 0;left: 0;z-index: 99998;background: rgba(0,0,0,0.3);}.listmian{position: fixed;width:100%;height:400px;bottom: 0;z-index: 99999;border-radius: 14px 14px 0 0;background: #fff;box-shadow: 0 -8px 10px 0 rgba(0,0,0,.09);}.listmian-tit{background-color: #f5f5f5;height: 60px;position: relative;border-radius: 14px 14px 0 0;}.listmian-tit p{color: #222;font-size: 18px;font-weight: 600;margin-left: 20px;line-height: 60px;float: left;}.listmian-tit .title_right{float: right;margin-right: 20px;line-height: 60px;}.listmian-tit .title_right span{display: inline-block;color: #222;font-size: 14px;vertical-align: middle;font-weight: 900;}.title_right img{display: inline-block;width: 12px;height: 12px;margin-left: 3px;vertical-align: middle;}.list{margin: 10px 20px;display:flex;flex-direction: row;flex-wrap: wrap;justify-content: space-between;height: 240px;overflow-y: scroll;align-content: flex-start}.list span{display: inline-block;padding: 10px 5px;margin: 0 0 10px 0;background-color: #f6f8fa;border-radius: .07rem;min-width: 90px;text-align: center;font-size: 12px;line-height: 18px;}.jiexiselect{color: #fc5531;}.tips{margin: 5px 20px;}.tips span{font-size: 12px;font-weight: 700;color: #333;line-height: 14px;}.tips .ico{margin-right: 5px;color: #ff6022;}`;commonFunction.GMaddStyle(css);_this.CheckAutoplay();if (commonFunction.getItem('selectid') != null) {document.querySelector('#' + commonFunction.getItem('selectid')).classList.add("jiexiselect");}document.querySelector('#playing').addEventListener('click',function() {_this.autoplay();commonFunction.Toast('3秒后自动解析视频',3000);});document.querySelector('#Showmain').addEventListener('click',function() {document.querySelector(".mob-main").style.display = "block"});document.querySelector('.shaw').addEventListener('click',function() {document.querySelector(".mob-main").style.display = "none"})document.querySelector('#autobtn').addEventListener('click',function() {if (commonFunction.getItem('AutoPlay') == 1) {this.innerHTML = onautohtml;commonFunction.setItem('AutoPlay', '0');} else {this.innerHTML = offautohtml;commonFunction.setItem('AutoPlay', '1');commonFunction.Toast('请选择自动解析接口',2000);};});var list = document.getElementsByClassName('mob-jiexi');for (var i in list) {list[i].addEventListener('click',function() {commonFunction.Toast('开始解析视频',2000);if (commonFunction.getItem('selectid') != null) {document.querySelector('#' + commonFunction.getItem('selectid')).classList.remove("jiexiselect");}var playObjecturl = this.getAttribute("data-url");var playid = this.getAttribute("id");console.log(playid);commonFunction.setItem('selectid', playid);commonFunction.setItem('selecturl', playObjecturl);this.classList.add("jiexiselect");document.querySelector(".mob-main").style.display = "none";let url = playObjecturl + window.location.href;console.log(url);_this.GoPlay(url);});}},//---------------------------------------------------------------//检查自动播放CheckAutoplay:function(jiexitime) {const _this = thisif (commonFunction.getItem("AutoPlay") == 1) {_this.autoplay();commonFunction.Toast(`${ZHwindow?.zhihu?.Delaytime??3}秒后自动解析视频`,`${ZHwindow?.zhihu?.Delaytime??3}`*1000);}},//-----------------------------------------------------------------------//自动播放autoplay:async function(){const _this = thisawait commonFunction.sleep(`${ZHwindow?.zhihu?.Delaytime??3}`*1000);var f = "";var autoplayurl;if (commonFunction.getItem('selecturl') != null&&commonFunction.getItem('selecturl') != "null") {f = commonFunction.getItem('selecturl');}if (f != "") {ZHwindow.zhihu.selecturl = f;autoplayurl = f + config.playhref;} else {let defurl = playList[0].url;ZHwindow.zhihu.selecturl = defurl;autoplayurl = defurl + config.playhref;}_this.GoPlay(autoplayurl);},//延迟时间Delay:function(){var Delaytime = commonFunction.getItem('Delaytime') != null ? commonFunction.getItem('Delaytime'): 3;ZHwindow.zhihu = {"Delaytime":Delaytime,"episode":[],"currently_episode":"","pre_episode":"","next_episode":"","selecturl":"","selectid":"","decide":false,"mg":false,"playnode":"","playwork":"","ismonitor":false}},//本功能全网独创,抄袭必究Getepisode:async function(){const Pushiqiyiepisode =()=>{let data = ZHwindow?.__cachePlaylist_?.main;if(!data) return;let contentType = data[0]?.contentType;if(!contentType) return;let i = 0;data.forEach((item,index)=>{if(item.contentType ==1){let json ={"index":i,"title":item.shortTitle,"playurl":item.pageUrl,"order":item.order??"" };ZHwindow.zhihu.episode.push(json);i++;}});return ZHwindow.zhihu.episode;}const Pushqqepisode = ()=>{let data = ZHwindow?.__pinia?.episodeMain?.listData;console.log(data);let currentVid = ZHwindow?.__pinia?.global?.currentVid;console.log(currentVid);if(!data||!currentVid) return;let newdata=[];data.forEach((item)=>{newdata.push.apply(newdata,item);});let i = 0;for(let index = 0;index < newdata.length;index ++){if(newdata[index].item_params.is_trailer !=1){let playurl = config.playhref.replace(currentVid,newdata[index].item_params.vid);let json ={"index":i,"title":newdata[index].item_params.play_title??newdata[index].item_params.title,"playurl":playurl,"order":newdata[index].item_params.title??"" };ZHwindow.zhihu.episode.push(json);i++;}};return ZHwindow.zhihu.episode;}const Pushyoukuepisode = ()=>{let data = ZHwindow?.playerAnthology?.list;let currentVid = ZHwindow?.__INITIAL_DATA__?.videoId;if(!data||!currentVid) return;let showId = ZHwindow?.__INITIAL_DATA__?.showId;let i = 0;for(let index = 0;index < data.length;index ++){let seq = data[index].seq;if(seq){let playurl = config.playhref.replace(currentVid,data[index].encodevid).replace(showId,data[index].showId);let json ={"index":i,"title":data[index].title,"playurl":playurl,"order":parseInt(seq)>1000?data[index].title:seq };ZHwindow.zhihu.episode.push(json);i++;}};return ZHwindow.zhihu.episode;}const Pushmgepisode = () =>{let currentVid = ZHwindow?.__NUXT__?.data[0]?.videoInfo.vid;if(!currentVid) return;let request = commonFunction.request("GET",'https://pcweb.api.mgtv.com/episode/list?abroad=0&_support=10000000&version=5.5.35&page=1&size=50&video_id='+currentVid,null,null);request.then(function(resdata){let obj = JSON.parse(resdata.data);let count = obj.data.count;if(count){// console.log(page,currentVid,arr1)if(count<=50){var page = 1}else{page =Math.ceil(count/50)}let arr1 =[];let QQPromise = new Promise(function(resolve, reject){recurTest(0, page,currentVid,arr1);function recurTest(j,p,currentVid,arr){setTimeout(function(){if(++j <= p){let request2 = commonFunction.request("GET",'https://pcweb.api.mgtv.com/episode/list?abroad=0&_support=10000000&version=5.5.35&size=50&video_id='+currentVid+'&page='+j,null,null);request2.then(function(resdata2){let obj=JSON.parse(resdata2.data);if(obj.code == 200){let list =obj.data.list;arr1 = arr.concat(list)recurTest(j, p,currentVid,arr1);if(j==p){resolve(arr1)};}else{commonFunction.Toast("获取下载列表失败");}});}}, Math.random() * 100);}});QQPromise.then((data) => {let i = 0;for(let index = 0;index < data.length;index ++){let isIntact = data[index].isIntact;if(isIntact != 3){let playurl = "https://"+window.location.host+data[index].urllet json ={"index":i,"title":data[index].t2,"playurl":playurl,"order":parseInt(data[index].t4)>2000?data[index].t2:data[index].t1};ZHwindow.zhihu.episode.push(json);i++;}};});}});}const Pushbiliepisode = ()=>{let data = ZHwindow?.__INITIAL_STATE__?.epList;if(!data) return;let i = 0;data.forEach((item,index)=>{if(item.badgeType != 1){let json ={"index":i,"title":item.longTitle!=""?item.longTitle:item.titleFormat,"playurl":item.share_url,"order":item.title??"" };ZHwindow.zhihu.episode.push(json);i++;}});return ZHwindow.zhihu.episode;}const episode = async (site,currentplayurl)=>{var episode;if(site == "qq"){ episode = await Pushqqepisode();}if(site == "iqiyi"){ episode = await Pushiqiyiepisode();}if(site == "youku"){ episode = await Pushyoukuepisode(currentplayurl);}if(site == "mg"){await Pushmgepisode();await commonFunction.sleep(2000);episode = ZHwindow.zhihu.episode}if(site == "bili"){ episode = await Pushbiliepisode();currentplayurl = ZHwindow?.__INITIAL_STATE__?.epInfo?.share_url}console.log(episode)if(!episode||episode==""||!currentplayurl) return;for( let index = 0;index <episode.length;index++ ){if(currentplayurl ==episode[index].playurl){let pre_index = index - 1;let next_index = index + 1;ZHwindow.zhihu.currently_episode = {"index":episode[index].index,"title":episode[index].title,"playurl":episode[index].playurl,"order":episode[index].order??"",};if(pre_index >= 0){ZHwindow.zhihu.pre_episode = {"index":episode[pre_index].index,"title":episode[pre_index].title,"playurl":episode[pre_index].playurl,"order":episode[pre_index].order??"",};}if(next_index<episode.length){ZHwindow.zhihu.next_episode = {"index":episode[next_index].index,"title":episode[next_index].title,"playurl":episode[next_index].playurl,"order":episode[next_index].order??"",};}}};ZHwindow.zhihu.decide = true;}if(config.host.indexOf("www.iqiyi.com")!=-1){let pathname = "http://"+window.location.host+window.location.pathnameawait episode("iqiyi",pathname);return ZHwindow.zhihu.decide;}if(config.host.indexOf("v.qq.com")!=-1){await episode("qq",config.playhref);return ZHwindow.zhihu.decide;}if(config.host.indexOf("v.youku.com")!=-1){await episode("youku",config.playhref);return ZHwindow.zhihu.decide;}if(config.host.indexOf("www.mgtv.com")!=-1){let pathname = "https://"+window.location.host+window.location.pathnameawait episode("mg",pathname);return ZHwindow.zhihu.decide;}if(config.host.indexOf("www.bilibili.com")!=-1){await episode("bili","");return ZHwindow.zhihu.decide;}},episodeHtml:async function(){const _this = thislet css =`::-webkit-scrollbar {height: 6px;width: 6px;}::-webkit-scrollbar-track {background: transparent;width: 6px;}::-webkit-scrollbar-thumb {background-color: #191a20;border-radius: 4px;-webkit-transition: all 1s;transition: all 1s;width: 6px;}::-webkit-scrollbar-corner {background-color: #191a20;}.zhihuepisode{display: none;position: absolute;top: 0;left: 0;width: 100%;z-index: 9999999999;}.episode_main{min-height: 160px;max-height: 250px;display: flex;justify-content: space-between;padding: 20px 20px 0 20px;box-sizing: border-box;position: relative;background: linear-gradient(rgb(0 0 0 / 73%), rgb(0 0 0 / 32%), rgb(0 0 0 / 0%));}.episode_main .pre_btn{position: absolute;top: 50%;transform: translate(0,-50%);}.episode_main .next_btn{position: absolute;top: 50%;transform: translate(0,-50%);right: 20px;}.episode_main .btn{background: #5050507a;width: 45px;border-radius: 5px;position: relative;height: 80px;}.episode_main .icon{width: 30px;height: 30px;position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);}.episode_main .centent{width: 100%;padding: 0 20px;margin: 0 45px;}.centent .centent_header{height: 40px;line-height: 40px;}.centent .title{color: #fff;font-size: 22px;font-weight: 600;width: 45%;display: inline-block;white-space: nowrap;overflow: hidden;}.centent .title:first-child{margin-right:10%}.centent ul{margin-top: 15px;overflow-y: auto;min-height: 80px;max-height:150px;text-align: center;}.centent li{display: inline-block;margin: 0 10px 9px 0;padding: 10px 15px;background: #14161a;color: #fff;font-size: 14px;border-radius: 3px;}.centent li p{overflow: hidden;white-space: nowrap;max-width: 330px;min-width: 30px;}.centent li:hover p{color:#e6b673}#handle_btn{text-align: center;}#handle_btn .icon{height: 36px;}#handle_btn .active{transform:rotate(180deg);-ms-transform:rotate(180deg);-moz-transform:rotate(180deg);-webkit-transform:rotate(180deg);-o-transform:rotate(180deg); }`;var hasepisode = true;if(ZHwindow.zhihu.decide == false){hasepisode =await _this.Getepisode();commonFunction.GMaddStyle(css);};if(!hasepisode )return;let cententHtml ="",ListHtml="",nextHtml="",currentlyHtml="";let episode = ZHwindow.zhihu.episode;episode.forEach((item,index)=>{let title = item.order!=""?item.order:item.title;if(index == ZHwindow.zhihu.currently_episode.index){ListHtml +='<li data-index="'+item.index+'" data-playurl="'+item.playurl+'" style="color:#e6b673"><p>'+title+'</p></li>'}else{ListHtml +='<li data-index="'+item.index+'" data-playurl="'+item.playurl+'"><p>'+title+'</p></li>'};});let next_episode = ZHwindow.zhihu.next_episode;let currently_episode = ZHwindow.zhihu.currently_episode;if(next_episode) nextHtml = '<span class="title" style=" text-align: right;">下一集:'+ZHwindow.zhihu.next_episode.title+'</span>'if(currently_episode)currentlyHtml ='<span class="title">当前播放:'+ZHwindow.zhihu.currently_episode.title+'</span>'cententHtml = '<div class="centent_header">'+currentlyHtml+nextHtml+'</div><div><ul style="">'+ListHtml+'</ul></div></div>'let mainHtml = `<div class="zhihuepisode"><div class="episode_main"><div class ="pre_btn" title="上一集"><div class="btn" id="pre_btn"><svg t="1660144513194" viewBox="0 0 #### ####" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1042" width="200" height="200" class="icon"><path d="M803.342997 87.013896a47.908827 47.908827 0 0 0 0-70.993102A61.421574 61.421574 0 0 0 723.904429 13.256823l-3.173448 2.763971L241.23323 470.949915l-2.405678 1.842647c-1.637909 1.228431-3.173448 2.559232-4.606618 3.941218-20.013196 18.938319-20.985704 48.113566-2.86634 68.075577l2.815155 2.917525 484.820954 459.945216c22.521244 21.343997 60.090773 21.343997 82.612016 0 20.013196-18.938319 20.985704-48.113566 2.86634-68.075577l-2.86634-2.968709-446.893132-423.911227L803.342997 87.013896z" p-id="1043" fill="#ffffff"></path></svg></div></div><div class="centent">${cententHtml}<div class ="next_btn" title="下一集"><div class="btn" id="next_btn"><svg t="1660144717762" viewBox="0 0 #### ####" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1256" width="200" height="200" class="icon"><path d="M220.742316 86.988416a47.894798 47.894798 0 0 1 0-70.972314A61.403588 61.403588 0 0 1 300.157623 13.252941l3.172518 2.763161 479.459681 454.795906 2.353804 1.842108c1.637429 1.228072 3.172519 2.558483 4.605269 3.940064 20.058505 18.932773 20.979559 48.099477 2.91667 68.055643l-2.8655 2.91667-484.678986 459.810532a61.250079 61.250079 0 0 1-82.587825 0 47.741289 47.741289 0 0 1-2.865501-68.055643l2.865501-2.96784 446.76227-423.787094L220.742316 86.988416z" p-id="1257" fill="#ffffff"></path></svg></div></div></div><div id="handle_btn" title="隐藏剧集列表"><svg t="1661155380003" class="icon" viewBox="0 0 #### ####" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2380" width="200" height="200"><path d="M512 436.7L878 648c14.3 8.3 32.7 3.3 41-11 8.3-14.3 3.3-32.7-11-41L527.8 376.5c-0.7-0.4-1.3-0.8-2-1.1-0.1 0-0.2-0.1-0.3-0.1-0.3-0.1-0.5-0.3-0.8-0.4-0.2-0.1-0.5-0.2-0.7-0.3-0.1 0-0.2-0.1-0.2-0.1-3.6-1.5-7.3-2.3-11-2.4h-1.4c-3.7 0.1-7.5 0.9-11 2.4-0.1 0-0.2 0.1-0.3 0.1-0.2 0.1-0.5 0.2-0.7 0.3-0.3 0.1-0.5 0.3-0.8 0.4-0.1 0-0.2 0.1-0.2 0.1-0.7 0.4-1.4 0.7-2 1.1L116 596c-14.3 8.3-19.2 26.7-11 41 8.3 14.3 26.7 19.2 41 11l366-211.3z" fill="#ffffff" p-id="2381"></path></svg></div></div>`return mainHtml;},Changeepisode:function(index){let pre_index = index - 1;let next_index = index + 1;console.log(index,next_index)let episode = ZHwindow.zhihu.episode;ZHwindow.zhihu.currently_episode = {"index":episode[index].index,"title":episode[index].title,"playurl":episode[index].playurl,"order":episode[index].order??"",};if(pre_index >= 0){ZHwindow.zhihu.pre_episode = {"index":episode[pre_index].index,"title":episode[pre_index].title,"playurl":episode[pre_index].playurl,"order":episode[pre_index].order??"",};}else{ZHwindow.zhihu.pre_episode =""};if(next_index<episode.length){ZHwindow.zhihu.next_episode = {"index":episode[next_index].index,"title":episode[next_index].title,"playurl":episode[next_index].playurl,"order":episode[next_index].order??"",};}else{ZHwindow.zhihu.next_episode =""}},//本功能全网独创,抄袭必究//-------------------------------------------//执行播放GoPlay:async function(playurl){const _this =thisvar PlayID = ZHwindow.zhihu.playnode;if(PlayID ===null){return};if(ZHwindow.zhihu.playwork == true && ZHwindow.zhihu.ismonitor ==false){commonFunction.setIntervalhost();ZHwindow.zhihu.ismonitor = true};var iframeDivCss = "width:100%;height:100%;"if (config.host.indexOf("m.iqiyi.com") != -1) {iframeDivCss += "position: absolute;top: 0;right: 0;bottom: 0;left: 0;"}let getepisodeHtml =await _this.episodeHtml();console.log(getepisodeHtml)var episodeHtml ="";if(getepisodeHtml)episodeHtml = getepisodeHtml;var videoPlayer = "<div style='" + iframeDivCss + "' id='zhihuplay'>"+episodeHtml+"<iframe id='iframe-player-zhihu' src='" + playurl + "' frameborder='0' allowfullscreen='true' width='100%' height='100%'></iframe></div>";var b = commonFunction.Videosetinterval(PlayID);b.then(function(bnode){document.querySelector(bnode).innerHTML = "";document.querySelector(bnode).innerHTML = videoPlayer;let pre_btn = document.querySelector("#pre_btn");let next_btn = document.querySelector("#next_btn");let handle_btn = document.querySelector("#handle_btn");let episodelist = document.querySelectorAll(".episode_main ul li");if(!episodelist)return;if(pre_btn){pre_btn.onclick=async()=>{let preurl = ZHwindow.zhihu.pre_episode.playurl;let index = ZHwindow.zhihu.pre_episode.index;if(index >= 0){let Changeep = await _this.Changeepisode(index);_this.GoPlay(ZHwindow.zhihu.selecturl+preurl);}else{commonFunction.Toast(`已经是第一集啦!!!`,3000);}}}if(next_btn){next_btn.onclick=async()=>{let nexturl = ZHwindow.zhihu.next_episode.playurl;let index = ZHwindow.zhihu.next_episode.index;if(index){let Changeep = await _this.Changeepisode(index);_this.GoPlay(ZHwindow.zhihu.selecturl+nexturl);}else{commonFunction.Toast(`已经是最后一集啦!!!`,3000);}}}episodelist.forEach((item,index)=>{item.onclick=async()=>{let currentindex = parseInt(item.getAttribute("data-index"));let currentlyurl = item.getAttribute("data-playurl");let Changeep = await _this.Changeepisode(currentindex);_this.GoPlay(ZHwindow.zhihu.selecturl+currentlyurl);}})if(handle_btn){handle_btn.onclick=()=>{let active =handle_btn.querySelector(".icon").classList.contains("active");if(active ==false){handle_btn.querySelector(".icon").classList.add("active");handle_btn.setAttribute("titlt","展开剧集列表")document.querySelector(".episode_main").style.display = "none";}else{handle_btn.querySelector(".icon").classList.remove("active");handle_btn.setAttribute("titlt","隐藏剧集列表");document.querySelector(".episode_main").style.display = "flex";}}}});}}//视频解析结束//短视频下载开始const ControllerShortvideo ={ShortvideoidList:function(){var ShortvideoidList = [{ url:"www.douyin.com", videoid:commonFunction.geturlid(config.playhref),nodeid:[".xg-right-grid"]},{ url:"www.kuaishou.com", videoid:commonFunction.geturlid(config.playhref),nodeid:[".right"]},{ url:"www.ixigua.com", videoid:commonFunction.geturlid(config.playhref),nodeid:[".xg-right-grid"]},];var Shortvideoid = {};for(var i in ShortvideoidList) { //获得窗口IDif (ShortvideoidList[i].url == config.host) {Shortvideoid = {videoid :ShortvideoidList[i].videoid,nodeid :ShortvideoidList[i].nodeid}return Shortvideoidbreak;}}if(!Shortvideoid){return;}},ToastDwon:function(videourl,filename,mode) {var m = document.createElement('div');m.innerHTML ='<h3 style="text-align: center;margin: 15px 0;font-size: 18px;font-weight: bold;"> 下载视频 </h3><div style="word-break: break-all;padding: 10px;background: #f1f1f1; font-size: 12px; height: 100px;overflow-y: scroll;box-sizing: border-box;margin-bottom: 10px;border-radius: 5px;"><p>'+videourl+'</p> </div><div style="display: flex;float: right;font-size: 14px;"><div id="close" style="margin-right: 15px;">关闭</div> <div> <a id="videofile">下载</a></div></div><div style="float: left;font-size: 14px;"><div> <a href="'+videourl+'" target="_blank">浏览器打开</a></div></div>';m.setAttribute('id','dwon');m.style.cssText = "max-width: 480px;min-width: 150px;padding: 0 25px;height: 200px;color: #323442;line-height: 20px;border-radius: 4px;position: fixed;top: 50%;left: 50%;transform: translate(-50%, -50%);z-index: 999998;background: #fff;font-size: 16px;box-shadow: 1px 1px 50px rgb(0 0 0 / 40%);font-family: PingFang SC, HarmonyOS_Regular, Helvetica Neue, Microsoft YaHei, sans-serif;";document.body.appendChild(m);document.querySelector("#close").addEventListener('click',function() {document.body.removeChild(document.querySelector("#dwon"))})document.querySelector("#videofile").addEventListener('click',function() {commonFunction.Toast("创建下载需要时间,长时间未创建,点击浏览器打开,右键另存为",4000);if(mode ==1){GM_download({url:videourl+'.mp4',name: filename,saveAs: true, //布尔值,显示"保存为"对话框onerror: function (error) {commonFunction.Toast("下载出错,点击浏览器打开手动保存",3000)},onprogress: (pro) => {},ontimeout: () => {//如果此下载由于超时而失败,则要执行的回调commonFunction.Toast("下载超时,点击浏览器打开手动保存",3000)},onload: () => {commonFunction.Toast(filename+"下载完成",3000)}})}else{fetch(videourl+'.mp4').then(res => res.blob()).then(blob => {const a = document.createElement('a');document.body.appendChild(a)a.style.display = 'none'const url = window.URL.createObjectURL(blob);a.href = url;a.download = filename;a.click();document.body.removeChild(a)window.URL.revokeObjectURL(url);});}})},//公共下载弹窗结束//抖音下载开始douyinbtn:function() {var Shortvideoid = ControllerShortvideo.ShortvideoidList();let downhtml = '<div class="xgplayer-icon"><div class="xgplayer-setting-label"><span class="xgplayer-setting-title">下载</span></div></div>';var douyin= commonFunction.Commonsetinterval(Shortvideoid.nodeid);douyin.then(function(node){var b = document.createElement('xg-icon');b.innerHTML = downhtml;b.setAttribute("class","xgplayer-autoplay-setting automatic-continuous");b.setAttribute("id","downvideo");node.appendChild(b);ControllerShortvideo.getdouyinvideo(Shortvideoid.videoid);});},getdouyinvideo:function(d){document.querySelector('#downvideo').addEventListener('click',function() {commonFunction.Toast("正在获取视频文件",3000)if (d != "") {var request = commonFunction.request("GET","https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=" + d,null,null);request.then(function(resdata){if(resdata.r###lt == "success"){var json=JSON.parse(resdata.data);console.log(json)if(json.status_code==0){let vid = json.item_list[0].video.vid;if(vid){var filename = d+".mp4";var url = "https://aweme.snssdk.com/aweme/v1/play/?video_id="+vid+"&ratio=1080p&line=0";commonFunction.Toast("视频获取成功",3000)ControllerShortvideo.ToastDwon(url,filename,1);}else{commonFunction.Toast("视频文件获取失败",3000)}}}});} else {console.log('视频id为空!');}});},//抖音下载结束//快手下载开始kuaishoubtn:function() {var Shortvideoid = ControllerShortvideo.ShortvideoidList();var kuaishou= commonFunction.Commonsetinterval(Shortvideoid.nodeid);kuaishou.then(function(node){var b = document.createElement('div');b.innerHTML = '<div style="color:#fff">下载</div>';b.setAttribute("class","kwai-player-volume-container player-bar-volume show-volume-slide");b.setAttribute("data-v-0c78ed39","");b.setAttribute("data-v-5037d859","");b.setAttribute("data-v-2475c26c","");b.setAttribute("data-v-56544f8e","");b.setAttribute("id","downvideo");node.insertBefore(b,node.childNodes[0]);if(config.playhref.indexOf("short-video")!=-1){var e = document.querySelector(".total")e.style.right ="180px"var f = document.querySelector(".player-bar-progress")f.style.width ="calc(100% - 318px)";}ControllerShortvideo.getksvideo(Shortvideoid.videoid)});},getksvideo:function(d){document.querySelector('#downvideo').addEventListener('click',function() {commonFunction.Toast("正在获取视频文件",1000)let videonode = document.querySelector("video")let src =videonode.getAttribute("src")let pausebtn = document.querySelector(".pause-icon");if(pausebtn != null){pausebtn.click();}if(src.indexOf("blob:") != -1){let params ='{"operationName":"visionVideoDetail","variables":{"photoId":"'+d+'","page":"detail"},"query":"query visionVideoDetail($photoId: String, $type: String, $page: String, $webPageArea: String) {\\n visionVideoDetail(photoId: $photoId, type: $type, page: $page, webPageArea: $webPageArea) {\\n status\\n type\\n author {\\n id\\n name\\n following\\n headerUrl\\n __typename\\n }\\n photo {\\n id\\n duration\\n caption\\n likeCount\\n realLikeCount\\n coverUrl\\n photoUrl\\n liked\\n timestamp\\n expTag\\n llsid\\n viewCount\\n videoRatio\\n stereoType\\n croppedPhotoUrl\\n manifest {\\n mediaType\\n businessType\\n version\\n adaptationSet {\\n id\\n duration\\n representation {\\n id\\n defaultSelect\\n backupUrl\\n codecs\\n url\\n height\\n width\\n avgBitrate\\n maxBitrate\\n m3u8Slice\\n qualityType\\n qualityLabel\\n frameRate\\n featureP2sp\\n hidden\\n disableAdaptive\\n __typename\\n }\\n __typename\\n }\\n __typename\\n }\\n __typename\\n }\\n tags {\\n type\\n name\\n __typename\\n }\\n commentLimit {\\n canAddComment\\n __typename\\n }\\n llsid\\n danmakuSwitch\\n __typename\\n }\\n}\\n"}';let headers = {"Content-type": "application/json"};var request = commonFunction.request("POST","https://www.kuaishou.com/graphql",headers,params);request.then(function(resdata){if(resdata.r###lt == "success"){let obj=JSON.parse(resdata.data);let src=obj.data.visionVideoDetail.photo.photoUrl;commonFunction.Toast("视频获取成功",1000)ControllerShortvideo.ToastDwon(src,d,"")}})}else{commonFunction.Toast("视频获取成功",1000)ControllerShortvideo.ToastDwon(src,d,"")}})},//快手下载结束//西瓜视频下载开始xiguabtn:function() {setTimeout(function(){var Shortvideoid = ControllerShortvideo.ShortvideoidList();var xigua= document.querySelector(Shortvideoid.nodeid[0]);console.log(xigua)if(xigua){let btnHTML = '<div id="downvideo" class="playerControlsItemContainer" ><div class="xgplayer-control-item control_definition common-control-item"><div class="xgplayer-control-item__entry"><div class="xgpcPlayer_textEntry"><span>下载</span></div></div></div></div>';xigua.insertAdjacentHTML('afterbegin', btnHTML);ControllerShortvideo.getxgvideo(Shortvideoid.videoid)};},3000);},getxgvideo:function(d){document.querySelector('#downvideo').addEventListener('click',function() {commonFunction.Toast("正在获取视频文件",1000);let headers = {"Content-type": "application/json"};let request = commonFunction.request("POST","http://47.99.158.118/video-crack/v2/parse?content="+config.playhref,headers,null);request.then(function(resdata){if(resdata.r###lt == "success"){let obj=JSON.parse(resdata.data);if(obj.code == 0){commonFunction.Toast("视频获取成功",1000)ControllerShortvideo.ToastDwon(obj.data.url,d)}else {commonFunction.Toast("此视频不支持解析")}}})})}//西瓜视频下载结束}//短视频下载结束//aria2设置开始const Controlleraria2 = {aria2set:function(b){let css= `.layui-form{display: flex;margin-top: 20px;}.layui-form-label{box-sizing: content-box;}.layui-input-block p{font-size:12px}.layui-form-item{margin-bottom:5px}.layui-input-block{min-height:auto;}.main-left{width: 367px;}.zhihu-scan{width:180px;display:inline-block;text-align: center;margin-right: 40px;}.zhihu-scan img{width: 140px;margin: 0 5px 10px 5px;}.zhihu-scan h1{font-size: 18px;font-weight: bold;margin: 0px 0 20px 0;}.zhihu-scan p{margin: 0;color: #666;font-size: 14px;}`;commonFunction.GMaddStyle(css);document.querySelector("#aria2set") .addEventListener('click',function() {let rpc="ws://localhost:6800/jsonrpc";if(commonFunction.getItem("rpc")!=null){rpc= commonFunction.getItem("rpc")}let token="";if(commonFunction.getItem("token")!=null){token= commonFunction.getItem("token")}let mulu="D:/";if(commonFunction.getItem("mulu")!=null&&commonFunction.getItem("mulu")!=""){mulu= commonFunction.getItem("mulu")}let plcode="";if(commonFunction.getItem("plcode")!=null){plcode= commonFunction.getItem("plcode")}let contenthtml ="";contenthtml +='<form class="zhihu-form" style="height: 325px;"><div class="main-left">'contenthtml +='<div class="zhihu-form-item"> <label class="zhihu-form-label">RPC地址</label><div class="zhihu-input-inline"><input name="rpc" value="'+rpc+'" placeholder="" class="zhihu-input"></div></div>'contenthtml +='<div class="zhihu-form-item" style="color: #acaeb5;"><div class="zhihu-input-block"><p>Aria2配置:ws://localhost:6800/jsonrpc<br>Motrix配置:ws://localhost:16800/jsonrpc</p></div></div>'contenthtml +='<div class="zhihu-form-item"> <label class="zhihu-form-label">token</label><div class="zhihu-input-inline"><input name="token" value="'+token+'" placeholder="" class="zhihu-input"></div></div>'contenthtml +='<div class="zhihu-form-item" style="color: #acaeb5;"><div class="zhihu-input-block"><p>没有请留空</p></div></div>'contenthtml +='<div class="zhihu-form-item"> <label class="zhihu-form-label">保存地址</label><div class="zhihu-input-inline"><input name="mulu" value="'+mulu+'" placeholder="留空使用默认目录" class="zhihu-input"></div></div>'contenthtml +='<div class="zhihu-form-item" style="color: #acaeb5;"><div class="zhihu-input-block"><p>留空使用默认目录</p></div></div>'contenthtml +='<div class="zhihu-form-item"> <label class="zhihu-form-label">验证码</label><div class="zhihu-input-inline"><input name="plcode" value="'+plcode+'" placeholder="请输入验证码" class="zhihu-input"></div></div>'contenthtml +='<div class="zhihu-form-item" style="color: #acaeb5;"><div class="zhihu-input-block"><p>批量下载需要关注公众号</p></div></div>'contenthtml +='</div><div class="zhihu-scan"><img src="http://tool.wezhicms.com/img/1-21121500044Q94.jpg"><h1>验证码获取</h1>'contenthtml +='<div style="font-size: 12px;color: #000;margin-left:15px;text-align: left;"><div style="line-height: 3;">1.关注公众号【智狐百宝箱】</div><div style="line-height: 2;">2.回复大写字母‘B’获取验证码</div><div style="line-height: 3;">3.将验证码输入左边输入框中</div></div></div></form>'commonFunction.open({area: ['580', '450'],title: "批量下载设置",shade: 0,id:"biliset",btn: ['取消', '保存设置'],content:contenthtml,btn1: function(data) {var n = data.getElementsByTagName('input');for(let i= 0; i <n.length; i++ ){if (n[i].getAttribute("name") == "rpc") {commonFunction.setItem("rpc",n[i].value);}else if (n[i].getAttribute("name") == "token") {commonFunction.setItem("token",n[i].value);}else if (n[i].getAttribute("name") == "mulu") {commonFunction.setItem("mulu",n[i].value);}else if (n[i].getAttribute("name") == "plcode") {if(n[i].value != ""){commonFunction.setItem("plcode",n[i].value);}else{commonFunction.setItem("plcode","");commonFunction.Toast('请在脚本设置里输入验证码!');}}}}});});document.querySelector("#all") .addEventListener('click',function() {b.forEach(function(element) {element.checked = true;})commonFunction.Toast("已经全部选择",3000)});document.querySelector("#delall") .addEventListener('click',function() {b.forEach(function(element) {element.checked = false;});commonFunction.Toast("已经全部取消选择",3000)});},addUri:function(u,t) {//配置return new Promise(function(resolve, reject) {var wsurl = commonFunction.getItem("rpc");;var uris = [u];var token="";var filename = tif(commonFunction.getItem("mulu")!=null&&commonFunction.getItem("mulu")!=""){var mulu= commonFunction.getItem("mulu")}else{mulu ="D:/"}var options = {"dir":mulu,"max-connection-per-server": "16","header": [ `User-Agent: ${config.UA}`, `Referer:https://${config.playhref}`,`Cookie: ${document.cookie}` ]};if (filename != "") {options.out = filename;}var json = {"id": "zhihu","jsonrpc": '2.0',"method": 'aria2.addUri',"params": [uris, options],};console.log(json)if (token != "") {json.params.unshift("token:" + token); // 坑死了,必须要加在第一个}var ws = new WebSocket(wsurl);ws.onerror = event => {console.log(event);commonFunction.Toast('连接错误, Aria2 连接错误,请检查RPC设置!');};ws.onopen = () => { ws.send(JSON.stringify(json)); }ws.onmessage = event => {let received_msg = JSON.parse(event.data);console.log(received_msg);if (received_msg.error !== undefined) {if (received_msg.error.code === 1)commonFunction.Toast('通过RPC连接失败', '请打开控制台查看详细错误信息,返回信息:' + received_msg.error.message);}resolve();switch (received_msg.method) {case "aria2.onDownloadStart":commonFunction.Toast("Aria2 发送成功, "+filename+" 已经开始下载!",1000);ws.close();break;default:break;}};});},plaria2:function(i,arr){setTimeout(function(){if(++i < arr.length){Controlleraria2.addUri(arr[i].url,arr[i].title)Controlleraria2.plaria2(i,arr);console.log(i,arr.length)}}, Math.random() * 1000);}};//aria2设置结束//Bilibili下载开始const ControllerBilibili ={Addlist:async function(){const listHtml = ()=>{var Bilihtml="";var episodes = ZHwindow?.__INITIAL_STATE__?.sections[0]?.episodes;if(!episodes){let aid = ZHwindow?.__INITIAL_STATE__?.videoData?.aid;if(!aid)return;let videolist = ZHwindow?.__INITIAL_STATE__?.videoData?.pages;for (let i = 0; i < videolist.length; i++) {Bilihtml += '<li><a href="javascript:void(0)" class="router-link-active" ><div class="clickitem"><div class="link-content"><input data-aid="'+aid+'" data-cid="'+videolist[i].cid+'" title="'+videolist[i].part+'" type="checkbox" style="margin-right:5px"> <span class="page-num">P'+videolist[i].page+'</span><span class="part">'+videolist[i].part+'</span></div><div class="duration bilidown" data-aid="'+aid+'" data-cid="'+videolist[i].cid+'" title="'+videolist[i].part+'">下载</div></div></a></li>';}}else {for (let i = 0; i < episodes.length; i++) {Bilihtml += '<li><a href="javascript:void(0)" class="router-link-active" ><div class="clickitem"><div class="link-content"><input data-aid="'+episodes[i].aid+'" data-cid="'+episodes[i].cid+'" title="'+episodes[i].title+'" type="checkbox" style="margin-right:5px"><span class="part">'+episodes[i].title+'</span></div><div class="duration bilidown" data-aid="'+episodes[i].aid+'" data-cid="'+episodes[i].cid+'" title="'+episodes[i].title+'">下载</div></div></a></li>';}}return Bilihtml;}var AddBi= commonFunction.Commonsetinterval(["#danmukuBox"]);AddBi.then(async function(node){await commonFunction.sleep(3000);let Bilihtml = await listHtml();if(!Bilihtml){commonFunction.Toast("获取下载列表失败,刷新重试");return;}let dataV = node.attributes[2]?.name??"data-v";let downhtml = '<div id ="downBox" class="multi-page report-wrap-module report-scroll-module" '+dataV+' style="margin:0 0 10px 0;border-radius: 6px;background: #F1F2F3;"><div class="head-con"><div class="head-left"><h3>下载列表</h3></div><div class="head-right"><span class="next-button" id="sanlian"><span class="txt" style="color: #00a1d6;">一键三连</span></span></div></div><div class="cur-list"><ul class="list-box">'+Bilihtml+'</ul></div><div style="display: flex;justify-content: space-between;height: 42px;line-height: 42px;margin: 0px 15px;font-size: 14px;font-weight: bold;border-top: 1px solid #dadada;"><div><span style="margin-right: 20px;" id="all">全选</span><span id="delall">重置</span></div><div><span style="margin-right: 20px;" id="aria2set">设置</span><a id="pldown"><span>批量下载</span></a></div></div></div>';node.insertAdjacentHTML('afterEnd', downhtml);ControllerBilibili.bilibilidown();});},bilibilidown:function(){var inu = document.querySelector("#downBox");var b=inu.getElementsByTagName('input');Controlleraria2.aria2set(b);document.querySelector("#sanlian") .addEventListener('click',function() {console.log("一键三连");document.querySelector(".like").click();document.querySelector(".coin").click();});document.querySelector("#pldown") .addEventListener('click',function() {let passwordCode = commonFunction.getItem("plcode");if (passwordCode !=""&&passwordCode !=null) {let headers = {"Content-Type": "text/html; charset=utf-8"};let request = commonFunction.request("GET","http://tool.zhihupe.com/bdwpcs.php?m=BILIBILI&author="+author+"&PWD="+passwordCode,headers,null);request.then(function(resdata){let json=JSON.parse(resdata.data);if(json.error == 1){let arr =[];b.forEach(function(element) {if(element.checked == true){let aid = element.getAttribute("data-aid");let cid = element.getAttribute("data-cid");let title = element.getAttribute("title");let json ={"aid": aid,"cid": cid,"title": title,};arr.push(json);}})if(arr.length == 0){commonFunction.Toast("请选择需要下载的视频",3000)}else{ControllerBilibili.bipldown(arr);}}else if(json.error == -2){let msg =json.msgcommonFunction.Toast(msg);}else {commonFunction.Toast('服务器请求失败,请重试!');}})}else {commonFunction.Toast('请在脚本设置里输入验证码!');}});let biliList = document.getElementsByClassName('bilidown');console.log(biliList);for (var i = 0; i < biliList.length; i++) {biliList[i].addEventListener('click',function() {let aid = this.getAttribute("data-aid");let cid = this.getAttribute("data-cid");let title = this.getAttribute("title");let headers = {"Content-type": "application/json"};let request = commonFunction.request("GET","https://api.bilibili.com/x/player/playurl?avid="+aid+"&cid="+cid+"&qn=112",headers,null);request.then(function(resdata){let obj=JSON.parse(resdata.data);if(obj.code == 0){window.open(obj.data.durl[0].url,false);console.log(obj)}else{commonFunction.Toast("获取下载链接失败");}})});}},//批量下载相关代码bipldown:function(a){let pldownarr=[];for (var i = 0; i < a.length; i++) {let title = i+1+"、"+a[i].title;title =title.replace(/[\ |\~|\`|\=|\||\\|\;|\:|\"|\'|\,|\.|\>|\/]/g,"_");let headers = {"Content-type": "application/json"};let request = commonFunction.request("GET","https://api.bilibili.com/x/player/playurl?avid="+a[i].aid+"&cid="+a[i].cid+"&qn=112",headers,null);request.then(function(resdata){let obj=JSON.parse(resdata.data);if(obj.code == 0){let json ={"url": obj.data.durl[0].url,"title":title+".flv",};pldownarr.push(json);if(pldownarr.length==a.length){console.log(pldownarr);Controlleraria2.plaria2(-1,pldownarr);}}else{commonFunction.Toast("获取下载链接失败");}})}},};//Bilibili下载结束//喜马拉雅下载开始const Controllerximalaya = {addximalaya:async function(){// await commonFunction.sleep(3000);if(config.playhref.indexOf("www.ximalaya.com/album")!= -1){let albumId = commonFunction.geturlid(config.playhref);let headers = {"Content-type": "application/json"};let request = commonFunction.request("GET","https://www.ximalaya.com/revision/album/v1/getTracksList?albumId="+albumId+"&pageNum=1",headers,null);request.then(function(resdata){let obj=JSON.parse(resdata.data);if(obj.ret == 200){let trackTotalCount =obj.data.trackTotalCount;if(trackTotalCount<=100){var page = 1}else{page =Math.ceil(trackTotalCount/100)}let arr1 =[];return new Promise(function(resolve, reject){recurTest(0, page,albumId,arr1);function recurTest(j,length,albumId,arr){setTimeout(function(){if(++j <= length){let headers = {"Content-type": "application/json"};let request2 = commonFunction.request("GET","https://www.ximalaya.com/revision/album/v1/getTracksList?albumId="+albumId+"&pageSize=100&pageNum="+j+"&sort=0",headers,null);request2.then(function(resdata2){let obj=JSON.parse(resdata2.data);if(obj.ret == 200){let tracks =obj.data.tracks;arr1 = arr.concat(tracks)console.log(arr1)recurTest(j, length,albumId,arr1);if(j==length){resolve(arr1)};}else{commonFunction.Toast("获取下载列表失败");}});console.log(j, length,albumId)}}, Math.random() * 100);}}).then((listarr) => {let downhtml=""for (var i = 0; i < listarr.length; i++) {downhtml += '<li class="_nO"><input data-trackId="'+listarr[i].trackId+'" title="'+listarr[i].title+'" type="checkbox" style="margin-right:5px;position: relative;top: 1px;"><div class="text _nO" style="max-width: 160px;"><span style="font-size: 12px;" class="title _nO">'+listarr[i].index+'.'+listarr[i].title+'</span></div><div class="right _nO" style="margin: 0 5px;width: 35px;"><a class="ximadown" data-trackId="'+listarr[i].trackId+'" title="'+listarr[i].title+'" href="javascript:void(0)" ><span class="time _nO" style="font-size: 12px;">下载</span></a></div></li>';}var xm= commonFunction.Commonsetinterval([".xui-card"]);xm.then(function(node){let listHTML ='<div class="xui-card" id="ximadown" style="font-family: PingFang SC, HarmonyOS_Regular, Helvetica Neue, Microsoft YaHei, sans-serif;"><div class="xui-card" style="margin-bottom: 15px;"><div style="margin: 0;" class="xui-card-head border"><span class="xui-card-head-title" style="display: block;"><i style="color: #666;" class="xuicon xuicon-quanjubofangqi-xiazai font-icon-18"></i></i>下载列表<div class="xui-card-extra"><a rel="nofollow" style="font-weight: bold;" class="xui-card-extra-title Tj_" href="javascript:void(0)"><span id="aria2set">设置</span></a></div></span></div><div style="margin: 0;max-height: 300px;overflow-y: scroll;" class="xui-card-body"><div class="sound-list H_g"><ul id="downBox">'+downhtml+'</ul></div></div><div style="display: flex;justify-content: space-between;height: 42px;line-height: 42px;font-size: 14px;font-weight: bold;"><div><span style="margin-right: 20px;" id="all">全选</span><span id="delall">重置</span></div><div><a id="pldown"><span>批量下载</span></a></div></div></div></div>';node.insertAdjacentHTML('afterEnd',listHTML);Controllerximalaya.ximalayadown();});})}});}else{let list = document.getElementsByClassName('album-cover');if(list!=null){for (var i in list) {list[i].addEventListener('click',function() {let url =this.getAttribute("href");const a = document.createElement('a');document.body.appendChild(a)a.style.display = 'none'a.href = url;a.target="_blank"a.click();window.location.reload();})}}}},ximalayadown:function(){var inu = document.querySelector("#downBox");var b=inu.querySelectorAll('input');Controlleraria2.aria2set(b);document.querySelector("#pldown").addEventListener('click',function() {let passwordCode = commonFunction.getItem("plcode");if (passwordCode !=""&&passwordCode !=null) {let headers = {"Content-Type": "text/html; charset=utf-8"};let request = commonFunction.request("GET","http://tool.zhihupe.com/bdwpcs.php?m=BILIBILI&author="+author+"&PWD="+passwordCode,headers,null);request.then(function(resdata){var json=JSON.parse(resdata.data);if(json.error == 1){let arr =[];b.forEach(function(element) {if(element.checked == true){let trackId = element.getAttribute("data-trackId");let title = element.getAttribute("title");let json ={"trackId": trackId,"title": title,};arr.push(json);}})if(arr.length == 0){commonFunction.Toast("请选择需要下载的音频",3000)}else{console.log(arr)Controllerximalaya.ximapldown(arr);}}else if(json.error == -2){let msg =json.msgcommonFunction.Toast(msg);}else {commonFunction.Toast('服务器请求失败,请重试!');}});}else {commonFunction.Toast('请在脚本设置里输入验证码!');}});let ximaList = document.getElementsByClassName('ximadown');console.log(ximaList);for (var i = 0; i < ximaList.length; i++) {ximaList[i].addEventListener('click',function() {let trackId = this.getAttribute("data-trackId");let title = this.getAttribute("title");commonFunction.Toast('正在获取下载链接')let headers = {"Content-type": "application/json"};let request = commonFunction.request("GET",'https://mobile.ximalaya.com/mobile-playpage/track/v3/baseInfo/'+new Date().getTime()+'?device=web&trackId='+trackId,headers,null);request.then(function(resdata){let obj = JSON.parse(resdata.data);console.log(obj)if(obj.ret == 0){let playUrlList = obj.trackInfo?.playUrlList??"";if(playUrlList ==""){commonFunction.Toast('链接获取失败,普通用户无法获取部分VIP音频');return}let downUrl =playUrlList[0]?.url;let str1 = downUrl.replaceAll('-','+');let str2 = str1.replaceAll('_','/');let num = str2.length%4;if(num){str2 += '===='.substr(num);}let url = CryptoJS.AES.decrypt({ciphertext: CryptoJS.enc.Base64.parse(str2)}, CryptoJS.enc.Hex.parse("aaad3e4fd540b0f79dca95606e72bf93"), {mode: CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7}).toString(CryptoJS.enc.Utf8);console.log(url);if(url){GM_download(url,obj.trackInfo.title+'.mp3');}else{commonFunction.Toast('解密地址失败');}}else{commonFunction.Toast("获取下载链接失败");}});});}},ximapldown:function(arr){let pldownarr =[]for (var i = 0; i < arr.length; i++) {let title = i+1+"、"+arr[i].title;title =title.replace(/[\ |\~|\`|\=|\||\\|\;|\:|\"|\'|\,|\.|\>|\/]/g,"_")+".m4a";let headers = {"Content-type": "application/json"};let request = commonFunction.request("GET",'https://mobile.ximalaya.com/mobile-playpage/track/v3/baseInfo/'+new Date().getTime()+'?device=web&trackId='+arr[i].trackId,headers,null);request.then(function(resdata){let obj = JSON.parse(resdata.data);console.log(obj)if(obj.ret == 0){let playUrlList = obj.trackInfo?.playUrlList??"";if(playUrlList ==""){commonFunction.Toast('链接获取失败,普通用户无法获取部分VIP音频');return}let downUrl =playUrlList[0]?.url;let str1 = downUrl.replaceAll('-','+');let str2 = str1.replaceAll('_','/');let num = str2.length%4;if(num){str2 += '===='.substr(num);}let url = CryptoJS.AES.decrypt({ciphertext: CryptoJS.enc.Base64.parse(str2)}, CryptoJS.enc.Hex.parse("aaad3e4fd540b0f79dca95606e72bf93"), {mode: CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7}).toString(CryptoJS.enc.Utf8);console.log(url);urlif(url){// addUri(decrypted,title)let json ={"url": url,"title": title,};pldownarr.push(json)if(pldownarr.length==arr.length){console.log(pldownarr);Controlleraria2.plaria2(-1,pldownarr);}}else{commonFunction.Toast('解密地址失败');}}else{commonFunction.Toast("获取下载链接失败");}});}},}//喜马拉雅下载结束//-----------------------------------------------------------------------//教育盘论坛开始const Controllerforum = {jiaoyupan:function(){var jiaoyupannode= commonFunction.Commonsetinterval([".copy_pswd"]);jiaoyupannode.then(function(node){let v = node.getAttribute("onclick");let data = v.split(",");let aid = data[0].split("'")[1];let formhash = data[1].split("'")[1];let href = window.location.origin + "/plugin.php?id=threed_attach:downld&aid=" + aid + "&formhash=" + formhash;console.log(href)let btnhtml='<div style="position: fixed;bottom: 100px;right: 50px;z-index: 99999999;background: #54be99;padding: 10px 20px;font-size: 18px;font-weight: bold;border-radius: 8px;box-shadow: 0px 0px 8px 1px #919191;"><a href='+href+' style="color: #fff;">点击此处免费下载</a></div>';document.body.insertAdjacentHTML('afterEnd',btnhtml);});}}//教育盘论坛结束//------------------------------------------------------------------------//文库下载开始const Controllerdocs = {jsPDF: function(){if (unsafeWindow.jspdf) return unsafeWindow.jspdf;commonFunction.GMaddScript('https://cdn.staticfile.org/jspdf/2.5.1/jspdf.umd.min.js');return unsafeWindow.jspdf;},addStatus:function(){const statusOverlay = `<div class="s-top s-top-status"><div class="s-panel"><div class="s-progress-wrapper"><div class="s-progress"></div></div><div class="s-status" style=""><div class="s-text" style="">正在加载...</div><div class="s-progress-text">0%<div></div></div></div></div></div>`;const messageOverlay = `<div class="s-top s-top-message"><div class="s-message">testtest</div></div>`;document.body.insertAdjacentHTML('afterbegin', statusOverlay);document.body.insertAdjacentHTML('afterbegin', messageOverlay);document.head.appendChild(document.createElement('style')).innerHTML = `.s-top{position: fixed;top: 0;left: 0;bottom: 0;right: 0;z-index: 99999999;padding-top: 40vh;display: none;}.s-top.s-top-message{text-align: center;}.s-message{background-color: #000000aa;color: white;padding: 8px 14px;text-align: center;font-size: 18px;border-radius: 6px;display: inline-block;}.s-top.s-top-status{z-index: 99999998;cursor: wait;background-color: rgba(0, 0, 0, 0.4);backdrop-filter: blur(10px) saturate(1.8);}.s-top.show{display: block;}.s-panel{background: white;width: 90%;max-width: 480px;border-radius: 12px;padding: 14px 24px;margin: 0 auto;}.s-progress-wrapper{height: 24px;border-radius: 12px;width: 100%;background-color: #eeeff3;overflow: hidden;margin-bottom: 12px;}.s-progress{background-color: #54be99;height: 24px;width: 0;transition: width 0.2s ease;}.s-status{display: flex;font-size: 14px;}.s-text{flex-grow: 1;color: #5f5f5f;}.s-progress-text{color: #54be99;font-weight: bold;}.s-message{}.swal2-actions{margin: 20px auto 0;}.swal2-styled.swal2-cancel{border-radius: 5px;font-size: 16px;}.swal2-styled.swal2-confirm{border-radius: 5px;font-size: 16px;}.swal2-styled{margin: 5px;padding: 8px 16px;}.none{display:none}`;},showStatus:function(text='', progress=-1){document.querySelector('.s-top.s-top-status').classList.add('show');if(text) document.querySelector('.s-panel .s-text').innerHTML = text;if (progress >= 0) {progress = Math.min(progress, 100);document.querySelector('.s-panel .s-progress').style.width = `${Math.floor(progress)}%`;document.querySelector('.s-panel .s-progress-text').innerHTML = `${Math.floor(progress)}%`;}},hideStatus:function(){document.querySelector('.s-top.s-top-status').classList.remove('show');},imgtocanvas:async function (doc,pageSize,img){const canvas = document.createElement('canvas');const [w, h] = [canvas.width, canvas.height] = [pageSize[0],pageSize[1]];const ctx = canvas.getContext('2d');ctx.drawImage(img, 0,0);doc.addImage(canvas, 'PNG',0, 0, w, h);canvas.remove();},yuanchuangliPPT:async function(){await Controllerdocs.addStatus();const loadScript = url => new Promise((resolve, reject) => {const removeWrap = (func, ...args) => {if (script.parentNode) script.parentNode.removeChild(script);return func(...args)}const script = document.createElement('script');script.src = url;script.onload = removeWrap.bind(null, resolve);script.onerror = removeWrap.bind(null, reject);document.head.appendChild(script);})const loadJsPDF = async () => {if (unsafeWindow.jspdf) return unsafeWindow.jspdf;await loadScript('https://cdn.staticfile.org/jspdf/2.5.1/jspdf.umd.min.js');return unsafeWindow.jspdf;}const htmltocanvas = (view,w,h)=>new Promise(async (resolve, reject) => {html2canvas(view).then((canvas)=> {resolve(canvas);console.log(canvas)});})const downloadPDF = async ()=>{const jspdf = await loadJsPDF();await commonFunction.GMaddScript("https://cdn.staticfile.org/html2canvas/1.4.1/html2canvas.min.js");let PageCount = Page_Count();let doc;let docview = document.querySelector(`#view0`);var w = parseInt(docview.clientWidth);var h = parseInt(docview.clientHeight);var pageSize =[w,h]Controllerdocs.showStatus('正在加载', 0);for(let i = 0;i<PageCount; i++){await unsafeWindow.gosld(i);Controllerdocs.showStatus('正在准备', ((i + 1) /PageCount) * 100);await commonFunction.sleep(100);let doc_view = document.querySelector(`#view${i}`);console.log(doc_view);Controllerdocs.showStatus('正在合成图片');let canvas = await htmltocanvas(doc_view,w,h) ;console.log(canvas);if (!doc) {doc = new jspdf.jsPDF({orientation: pageSize[0] < pageSize[1] ? 'p' : 'l',unit: 'pt',format: pageSize,compress: true});} else {doc.addPage(pageSize);}var pageData = canvas.toDataURL('image/jpeg', 1.0);console.log(pageData)doc.addImage(pageData, 'JPEG', 0, 0, w, h);}doc.save(`原创力ppt.pdf`);Controllerdocs.hideStatus();}const current_page = ()=>{let currentpage = document.querySelector("#PageIndex").innerText;currentpage = parseInt(currentpage);return currentpage;}const Page_Count = ()=>{let PageCount = document.querySelector("#PageCount").innerText;PageCount = parseInt(PageCount);return PageCount;}const pagenum = ()=>{let currentpage = current_page();let PageCount = Page_Count();if(currentpage<PageCount){let page = PageCount - currentpage;previewNextpage(page,false);}else{previewNextpage(10,true);}}const previewNextpage = async (page,type)=>{for(let i = 0;i<page; i++){commonFunction.Toast("正在预览全文,请勿操作",600);document.querySelector(".btmRight").click();await commonFunction.sleep(500);}if(type == false){pagenum();}else{await unsafeWindow.gosld(0);await commonFunction.sleep(1000);downloadPDF();}}const btnhtml =`<div id="ycbox" style="box-shadow: 0 0 6px 3px #00000038;z-index: 99999997;top: 100px;position: fixed;right: 50px;background: #fff;padding: 0 20px;border-radius: 5px;"><div id="jxdown" style=" text-align: center;font-size: 14px;padding: 8px 15px;background: #54be99;color: #fff;margin: 10px 0;border-radius: 3px;">开始下载</div></div>`;document.body.insertAdjacentHTML('afterbegin', btnhtml);document.querySelector("#jxdown").onclick = ()=>{pagenum();}},yuanchuangli:async function(){await Controllerdocs.addStatus();const imgLoad = (url) => {var img = new Image();img.src = url;if (img.complete) {return [img.width, img.height];} else {img.onload = function () {return [img.width, img.height];img.onload = null;};};};const loadImage = (url) => new Promise(async (resolve, reject) => {if(url.startsWith("//")) url='https:'+url;if (!url) {resolve(null);return;}let img = await request('GET', url, null, 'blob');let imgEl = document.createElement('img');imgEl.onload = () => {resolve(imgEl);}imgEl.onabort = imgEl.onerror = reject;imgEl.src = URL.createObjectURL(img);})const request = (method, url, data, responseType = 'text') => new Promise((resolve, reject) => {GM.xmlHttpRequest({method,url,data,responseType,onerror: reject,ontimeout: reject,onload: (response) => {if (response.status >= 200 && response.status < 300) {resolve(responseType === 'text' ? response.responseText : response.response);} else {reject(new Error(response.statusText));}}});});const loadScript = url => new Promise((resolve, reject) => {const removeWrap = (func, ...args) => {if (script.parentNode) script.parentNode.removeChild(script);return func(...args)}const script = document.createElement('script');script.src = url;script.onload = removeWrap.bind(null, resolve);script.onerror = removeWrap.bind(null, reject);document.head.appendChild(script);})const loadJsPDF = async () => {if (unsafeWindow.jspdf) return unsafeWindow.jspdf;await loadScript('https://cdn.staticfile.org/jspdf/2.5.1/jspdf.umd.min.js');return unsafeWindow.jspdf;}const downloadPDF = async (WebPreview)=>{let titleText = unsafeWindow?.base.detail.title;let title;if(titleText){title = titleText.split(".")[0]}else{title = "原创力文档"}Controllerdocs.showStatus('正在加载', 0);const jspdf = await loadJsPDF();let doc;let previewImages = WebPreview.Data.images;const img = imgLoad(previewImages[1].src);let startnum = unsafeWindow.fenpi.startnum;let endnum = unsafeWindow.fenpi.endnum;for(let i = startnum;i <= endnum; i++){Controllerdocs.showStatus('正在准备', ((i + 1) / previewImages.length) * 100);const pageSize =[img[0],img[1]];console.log(img[1])if (!doc) {doc = new jspdf.jsPDF({orientation: pageSize[0] < pageSize[1] ? 'p' : 'l',unit: 'pt',format: pageSize,compress: true});} else {doc.addPage(pageSize);}Controllerdocs.showStatus('正在下载图片');const previewImg = await loadImage(previewImages[i].src);await Controllerdocs.imgtocanvas(doc,pageSize,previewImg);Controllerdocs.showStatus('正在绘制');if(previewImg?.src) URL.revokeObjectURL(previewImg.src);previewImg.remove();}doc.save(`${title}.pdf`);Controllerdocs.hideStatus();}const checkPreview = (WebPreview) =>{let previewImages = WebPreview.Data.images;let arr =[];for(let i = 1;i < previewImages.length; i++){if(previewImages[i].status == "init") arr.push(i);}return arr;}const Previewr###lt = (WebPreview)=>{let Previewfalse = checkPreview(WebPreview);var toasttext = "";if(Previewfalse != ""){for ( let key in Previewfalse){toasttext += "第"+Previewfalse[key]+"页;";document.querySelector("#jxdown").style.display = "block";document.querySelector("#downbox").style.display = "none";}commonFunction.Toast(toasttext+"预览失败,请手动预览上述页码",5000);}else{downloadPDF(WebPreview);}}const exportPDF = async(event,startnum,endnum,yulannum)=>{let WebPreview = unsafeWindow?.WebPreview;let previewmain =document.querySelector('.preview');if(yulannum == "") yulannum = 100;unsafeWindow.fenpi ={startnum:1,endnum:WebPreview.Data.preview_page}try {if(!WebPreview){commonFunction.Toast("文档下载失败,刷新页面重试一次",3000);return}if(previewmain){previewmain.style.display = "block"}else{commonFunction.Toast("预览失败",3000);return}if(startnum!=""&&endnum!=""){if(parseInt(startnum)<parseInt(endnum)){if(parseInt(endnum)>WebPreview.Data.preview_page||parseInt(startnum)<1){commonFunction.Toast('页码输入错误,结束页码大于可预览页数或者起始页码小于1');return}else{unsafeWindow.fenpi.startnum = startnum;unsafeWindow.fenpi.endnum = endnum;console.log(unsafeWindow.fenpi.startnum)}}else{commonFunction.Toast('页码输入错误,结束页码小于或等于开始页码');return}}await unsafeWindow.preview.jump(999);await commonFunction.sleep(1500);event.preventDefault();var currentLocation = document.documentElement.scrollTop;// 获取当前滚动条的位置var task = setInterval(function (){ // setInterval循环周期调用if (currentLocation>0){window.scrollTo(0,currentLocation);currentLocation -=yulannum // 相比上次位置减10,根据自己需要的速度修改commonFunction.Toast("正在预览全文,请勿操作",200);}else {window.scrollTo(0,0);Previewr###lt(WebPreview);clearInterval(task) //回到顶部后,清除已执行的的循环事件}},200)} catch (error) {commonFunction.Toast('导出失败:'+error?.message ?? error);} finally {Controllerdocs.hideStatus();}}const exportPPT = async()=>{try {unsafeWindow.preview.getSrc();var xm= commonFunction.Commonsetinterval(["iframe.preview-iframe"]);xm.then(function(node){window.open(node.src);unsafeWindow.preview.close();});} catch (error) {commonFunction.Toast('导出失败:'+error?.message ?? error);} finally {Controllerdocs.hideStatus();}}const btnhtml =`<div id="ycbox" style="box-shadow: 0 0 6px 3px #00000038;z-index: 99999997;top: 100px;position: fixed;right: 50px;background: #fff;padding: 0 20px;border-radius: 5px;"><div id="downbox"><div><p style="font-size: 14px;margin: 10px 0;">分批下载</p><div><input id="start" style="width: 35px;padding: 2px;"> <span style="margin: 0 5px;">-</span><input id="end" style="width: 35px;padding: 2px;"></div></div><div><p style="font-size: 14px;margin: 10px 0;">预览速度</p><div><input id="yulan" type= number placeholder="200" style="width: 60px;padding: 2px;"> <span style="margin: 0 5px;">像素</span></div></div><div id="ycdown" style="text-align: center;font-size: 14px;padding: 8px 15px;background: #54be99;color: #fff;margin: 10px 0;border-radius: 3px;">下载文档</div></div><div id="jxdown" style=" display:none; text-align: center;font-size: 14px;padding: 6px 13px;background: #fff;color: #54be99;margin: 10px 0;border-radius: 3px;border: 1px solid #54be99;">继续下载</div></div>`;document.body.insertAdjacentHTML('afterbegin', btnhtml);document.querySelector("#ycdown").onclick = (event)=>{let base = unsafeWindow?.base;console.log(base.detail.format);let startnum = document.querySelector('#start').value;let endnum = document.querySelector("#end").value;let yulannum = document.querySelector("#yulan").value;if(!base.detail.format){commonFunction.Toast("文档信息获取失败,刷新页面重试一次",3000);return}else if(base.detail.format == "ppt"||base.detail.format == "pptx"){if(startnum||endnum){commonFunction.Toast("PPT不支持分批下载",3000);}else{exportPPT();}}else{exportPDF(event,startnum,endnum,yulannum);}}document.querySelector("#jxdown").onclick = ()=>{let WebPreview = unsafeWindow?.WebPreview;Previewr###lt(WebPreview);}},daokebaba:async function(){await Controllerdocs.addStatus();const loadScript = url => new Promise((resolve, reject) => {const removeWrap = (func, ...args) => {if (script.parentNode) script.parentNode.removeChild(script);return func(...args)}const script = document.createElement('script');script.src = url;script.onload = removeWrap.bind(null, resolve);script.onerror = removeWrap.bind(null, reject);document.head.appendChild(script);})const loadJsPDF = async () => {if (unsafeWindow.jspdf) return unsafeWindow.jspdf;await loadScript('https://cdn.staticfile.org/jspdf/2.5.1/jspdf.umd.min.js');return unsafeWindow.jspdf;}const Previewr###lt = ()=>{let Previewfalse = document.getElementsByClassName("page_pb");console.log(Previewfalse)var toasttext = "";for ( let i=0; i < Previewfalse.length;i++){if(Previewfalse[i].innerHTML != ""){let falseid= Previewfalse[i].getAttribute("id");let falsenum =falseid.split("_");toasttext += "第"+falsenum[1]+"页;";document.querySelector("#jxdown").style.display = "block";document.querySelector("#downbox").style.display = "none";}}if(toasttext != ""){commonFunction.Toast(toasttext+"预览失败,请手动预览上述页码",5000);}else{downloadPDF();}}const downloadPDF = async ()=>{let title = document.querySelector('.doctopic h1').innerText;if( !title) title = "道客巴巴文档"const jspdf = await loadJsPDF();let doc;let canvas = unsafeWindow.daoke.canvas;var w = parseInt(canvas[0].clientWidth);var h = parseInt(canvas[0].clientHeight);var pageSize =[w,h]Controllerdocs.showStatus('正在加载', 0);let startnum = unsafeWindow.daoke.startnum - 1;let endnum = unsafeWindow.daoke.endnum;for(let i = startnum;i<endnum; i++){Controllerdocs.showStatus('正在准备', ((i + 1) /canvas.length) * 100);if (!doc) {doc = new jspdf.jsPDF({orientation: pageSize[0] < pageSize[1] ? 'p' : 'l',unit: 'pt',format: pageSize,compress: true});} else {doc.addPage(pageSize);}Controllerdocs.showStatus('正在合成图片');var pageData = canvas[i].toDataURL('image/jpeg', 1.0);console.log(canvas[i])doc.addImage(pageData, 'JPEG', 0, 0, w, h);await commonFunction.sleep(100);}doc.save(`${title}.pdf`);Controllerdocs.hideStatus();}const exportPDF = async(event,startnum,endnum,yulannum)=>{await unsafeWindow.buyContinueRead();unsafeWindow.daoke ={canvas:[],startnum:1,endnum:"",}if(yulannum == "") yulannum = 600;let bodyheight =document.body.scrollHeight;await window.scrollTo(0,bodyheight);let canvas = unsafeWindow.daoke.canvas = document.getElementsByClassName("inner_page");if(!canvas) {commonFunction.Toast("文档信息获取失败,刷新页面重试一次",3000);return;}unsafeWindow.daoke.endnum = canvas.length;console.log(unsafeWindow.daoke.endnum);try {if(startnum!=""&&endnum!=""){if(parseInt(startnum)<parseInt(endnum)){if(parseInt(endnum)>canvas.length||parseInt(startnum)<1){commonFunction.Toast('页码输入错误,结束页码大于可预览页数或者起始页码小于1');return}else{unsafeWindow.daoke.startnum = startnum;unsafeWindow.daoke.endnum = endnum;}}else{commonFunction.Toast('页码输入错误,结束页码小于或等于开始页码');return}}event.preventDefault();var currentLocation = document.documentElement.scrollTop;// 获取当前滚动条的位置var task = setInterval(function (){ // setInterval循环周期调用if (currentLocation>0){window.scrollTo(0,currentLocation);currentLocation -=yulannum // 相比上次位置减10,根据自己需要的速度修改commonFunction.Toast("正在预览全文,请勿操作",1000);}else {window.scrollTo(0,0);Previewr###lt();clearInterval(task) //回到顶部后,清除已执行的的循环事件}},1000)} catch (error) {commonFunction.Toast('导出失败:'+error?.message ?? error);} finally {Controllerdocs.hideStatus();}}const btnhtml =`<div id="dkbox" style="box-shadow: 0 0 6px 3px #00000038;z-index: 99999997;top: 100px;position: fixed;right: 50px;background: #fff;padding: 0 20px;border-radius: 5px;"><div id="downbox"><div><p style="font-size: 14px;margin: 10px 0;">分批下载</p><div><input type= number id="start" style="width: 35px;padding: 2px;"> <span style="margin: 0 5px;">-</span><input type= number id="end" style="width: 35px;padding: 2px;"></div></div><div><p style="font-size: 14px;margin: 10px 0;">预览速度</p><div><input id="yulan" type= number placeholder="600" style="width: 60px;padding: 2px;"> <span style="margin: 0 5px;">像素</span></div></div><div id="dkdown" style="text-align: center;font-size: 14px;padding: 8px 15px;background: #54be99;color: #fff;margin: 10px 0;border-radius: 3px;">下载文档</div></div><div id="jxdown" style=" display:none; text-align: center;font-size: 14px;padding: 6px 13px;background: #fff;color: #54be99;margin: 10px 0;border-radius: 3px;border: 1px solid #54be99;">继续下载</div></div>`;document.body.insertAdjacentHTML('afterbegin', btnhtml);document.querySelector("#dkdown").onclick = (event)=>{let startnum = document.querySelector('#start').value;let endnum = document.querySelector("#end").value;let yulannum = document.querySelector("#yulan").value;exportPDF(event,startnum,endnum,yulannum);}document.querySelector("#jxdown").onclick = ()=>{Previewr###lt();}},zhiku:async function(){await Controllerdocs.addStatus();const loadScript = url => new Promise((resolve, reject) => {const removeWrap = (func, ...args) => {if (script.parentNode) script.parentNode.removeChild(script);return func(...args)}const script = document.createElement('script');script.src = url;script.onload = removeWrap.bind(null, resolve);script.onerror = removeWrap.bind(null, reject);document.head.appendChild(script);})const loadJsPDF = async () => {if (unsafeWindow.jspdf) return unsafeWindow.jspdf;await loadScript('https://cdn.staticfile.org/jspdf/2.5.1/jspdf.umd.min.js');return unsafeWindow.jspdf;}const setIntervalPage = data => new Promise((resolve, reject) => {let num = 0;let Count = setInterval(function() {var node = document.querySelector(data);num++;if(node != null ){clearInterval(Count);commonFunction.Toast("正在预览全文,请勿操作",unsafeWindow.zhiku.yulannum);setTimeout(() => {let pageData = node.toDataURL('image/jpeg', 1.0);let canvas ={"src":pageData,"width":node.width,"height":node.height,}unsafeWindow.zhiku.canvas.push(canvas);resolve(node);},unsafeWindow.zhiku.yulannum);}console.log(num)if(num ==50){return false;clearInterval(Count);}console.log(node)},200);})const Preview = async (page)=>{for (let i = unsafeWindow.zhiku.startnum;i <=unsafeWindow.zhiku.endnum;i++){document.querySelector('#pageContainer'+i).scrollIntoView({behavior: "smooth"});let zk = await setIntervalPage("#page"+i);if(zk == false) return false;}return true;}const downloadPDF = async ()=>{const jspdf = await loadJsPDF();let doc;let canvas = unsafeWindow.zhiku.canvas;console.log(canvas);Controllerdocs.showStatus('正在加载', 0);let startnum = unsafeWindow.zhiku.startnum - 1;let endnum = unsafeWindow.zhiku.endnum;for(let i = 0;i<canvas.length; i++){var w = canvas[i].width;var h = canvas[i].height;var pageSize =[w,h]Controllerdocs.showStatus('正在准备', ((i + 1) /canvas.length) * 100);if (!doc) {doc = new jspdf.jsPDF({orientation: pageSize[0] < pageSize[1] ? 'p' : 'l',unit: 'pt',format: pageSize,compress: true});} else {doc.addPage(pageSize);}Controllerdocs.showStatus('正在合成图片');doc.addImage(canvas[i].src, 'JPEG', 0, 0, w, h);await commonFunction.sleep(100);}doc.save(`${unsafeWindow?.wgDocTitle ?? '智库文库文档'}.pdf`);Controllerdocs.hideStatus();}const exportPDF = async (startnum,endnum,yulannum)=>{let page = document.querySelectorAll('.page');if(!page){commonFunction.Toast("文档下载失败,刷新页面重试一次",3000);return}if(yulannum == "") yulannum = 1500;unsafeWindow.zhiku ={"startnum":1,"endnum":page.length,"yulannum":yulannum,"canvas":[]}try {if(startnum!=""&&endnum!=""){if(parseInt(startnum)<parseInt(endnum)){if(parseInt(endnum)>page.length||parseInt(startnum)<1){commonFunction.Toast('页码输入错误,结束页码大于可预览页数或者起始页码小于1');return}else{unsafeWindow.zhiku.startnum = startnum;unsafeWindow.zhiku.endnum = endnum;}}else{commonFunction.Toast('页码输入错误,结束页码小于或等于开始页码');return}}document.querySelector('#pageContainer'+unsafeWindow.zhiku.startnum).scrollIntoView({behavior: "smooth"});await commonFunction.sleep(1000)let Previewr###lt = await Preview(page);if(Previewr###lt) downloadPDF();} catch (error) {commonFunction.Toast('导出失败:'+error?.message ?? error);} finally {Controllerdocs.hideStatus();}}const btnhtml =`<div id="dkbox" style="box-shadow: 0 0 6px 3px #00000038;z-index: 99999997;top: 100px;position: fixed;right: 50px;background: #fff;padding: 0 20px;border-radius: 5px;"><div id="downbox"><div><p style="font-size: 14px;margin: 10px 0;">分批下载</p><div><input type= number id="start" style="width: 35px;padding: 2px;border: 1px solid #333;border-radius: 2px;"> <span style="margin: 0 5px;">-</span><input type= number id="end" style="width: 35px;padding: 2px;border: 1px solid #333;border-radius: 2px;"></div></div><div><p style="font-size: 14px;margin: 10px 0;">预览速度</p><div><input id="yulan" type= number placeholder="1500" style="width: 60px;padding: 2px;border: 1px solid #333;border-radius: 2px;"> <span style="margin: 0 5px;font-size:12px">毫秒</span></div></div><div id="dkdown" style="text-align: center;font-size: 14px;padding: 8px 15px;background: #54be99;color: #fff;margin: 10px 0;border-radius: 3px;">下载文档</div></div></div></div>`;document.body.insertAdjacentHTML('afterbegin', btnhtml);document.querySelector("#dkdown").onclick = (event)=>{let startnum = document.querySelector('#start').value;let endnum = document.querySelector("#end").value;let yulannum = document.querySelector("#yulan").value;exportPDF(startnum,endnum,yulannum);}},docin:async function(){await Controllerdocs.addStatus();const loadScript = url => new Promise((resolve, reject) => {const removeWrap = (func, ...args) => {if (script.parentNode) script.parentNode.removeChild(script);return func(...args)}const script = document.createElement('script');script.src = url;script.onload = removeWrap.bind(null, resolve);script.onerror = removeWrap.bind(null, reject);document.head.appendChild(script);})const loadJsPDF = async () => {if (unsafeWindow.jspdf) return unsafeWindow.jspdf;await loadScript('https://cdn.staticfile.org/jspdf/2.5.1/jspdf.umd.min.js');return unsafeWindow.jspdf;}const request = (method, url, data, responseType = 'text') => new Promise((resolve, reject) => {GM.xmlHttpRequest({method,url,data,responseType,onerror: reject,ontimeout: reject,onload: (response) => {if (response.status >= 200 && response.status < 300) {resolve(responseType === 'text' ? response.responseText : response.response);} else {reject(new Error(response.statusText));}}});});const loadImage = (url) => new Promise(async (resolve, reject) => {if (!url) {resolve(null);return;}let img = await request('GET', url, null, 'blob');let imgEl = document.createElement('img');imgEl.onload = () => {resolve(imgEl);}imgEl.onabort = imgEl.onerror = reject;imgEl.src = URL.createObjectURL(img);})const Previewr###lt = ()=>{let Previewfalse = document.getElementsByClassName("panel_inner");console.log(Previewfalse)var toasttext = "";for ( let i=0; i < Previewfalse.length;i++){let canvasfalse = Previewfalse[i].querySelector("canvas")||Previewfalse[i].querySelector("img");if(!canvasfalse){let falseid= Previewfalse[i].firstChild.getAttribute("id");let falsenum =falseid.split("_");toasttext += "第"+falsenum[1]+"页;";document.querySelector("#jxdown").style.display = "block";document.querySelector("#downbox").style.display = "none";}}if(toasttext != ""){commonFunction.Toast(toasttext+"预览失败,请手动预览上述页码",5000);}else{downloadPDF();}}const downloadPDF = async ()=>{let title = unsafeWindow?.readerConfig?.productName?unsafeWindow.readerConfig.productName:"豆丁文档";const jspdf = await loadJsPDF();let doc;let type = document.querySelector(".hkswf-content")?"canvas":"img"Controllerdocs.showStatus('正在加载', 0);let startnum = unsafeWindow.docin.startnum - 1;let endnum = unsafeWindow.docin.endnum;for(let i = startnum;i<endnum; i++){Controllerdocs.showStatus('正在准备', ((i + 1) /(endnum-startnum)) * 100);let w,h,pageSize,canvasif(type==="canvas"){canvas = document.getElementsByClassName("hkswf-content");pageSize =[w,h]=[parseInt(canvas[i].querySelector('canvas').clientWidth),parseInt(canvas[i].querySelector('canvas').clientHeight)]}else{canvas = document.querySelector("#img_"+(i+1));let imgNode = canvas.querySelector('img')||canvas.querySelector('canvas')pageSize =[w,h]=[parseInt(imgNode.clientWidth),parseInt(imgNode.clientHeight)]}if (!doc) {doc = new jspdf.jsPDF({orientation: pageSize[0] < pageSize[1] ? 'p' : 'l',unit: 'pt',format: pageSize,compress: true});} else {doc.addPage(pageSize, pageSize[0] < pageSize[1] ? 'p' : 'l')}Controllerdocs.showStatus('正在合成图片');let pageDataif(type==="canvas"){pageData = canvas[i].querySelector('canvas').toDataURL('image/jpeg', 1.0);console.log(canvas[i])}else{pageData = canvas?.querySelector('img')?.getAttribute("src")?await loadImage(canvas.querySelector('img').getAttribute("src")):canvas.querySelector('canvas').toDataURL('image/jpeg', 1.0);}doc.addImage(pageData, 'JPEG', 0, 0, w, h);await commonFunction.sleep(100);}doc.save(`${title}.pdf`);Controllerdocs.hideStatus();}const exportPDF = async(event,startnum,endnum,yulannum)=>{// await unsafeWindow.buyContinueRead();unsafeWindow.docin ={canvas:[],startnum:1,endnum:"",}if(yulannum == "") yulannum = 300;let bodyheight =document.body.scrollHeight;await window.scrollTo(0,bodyheight);let canvas = document.getElementsByClassName("panel_inner");if(!canvas) {commonFunction.Toast("文档信息获取失败,刷新页面重试一次",3000);return;}unsafeWindow.docin.endnum = canvas.length;console.log(unsafeWindow.docin.endnum);try {if(startnum!=""&&endnum!=""){if(parseInt(startnum)<parseInt(endnum)){if(parseInt(endnum)>canvas.length||parseInt(startnum)<1){commonFunction.Toast('页码输入错误,结束页码大于可预览页数或者起始页码小于1');return}else{unsafeWindow.docin.startnum = startnum;unsafeWindow.docin.endnum = endnum;}}else{commonFunction.Toast('页码输入错误,结束页码小于或等于开始页码');return}}event.preventDefault();var currentLocation = document.documentElement.scrollTop;// 获取当前滚动条的位置var task = setInterval(function (){ // setInterval循环周期调用if (currentLocation>0){window.scrollTo(0,currentLocation);currentLocation -=yulannum // 相比上次位置减10,根据自己需要的速度修改commonFunction.Toast("正在预览全文,请勿操作",1000);}else {window.scrollTo(0,0);setTimeout(function(){Previewr###lt();},3000)clearInterval(task) //回到顶部后,清除已执行的的循环事件}},1000)} catch (error) {commonFunction.Toast('导出失败:'+error?.message ?? error);} finally {Controllerdocs.hideStatus();}}const btnhtml =`<div id="dkbox" style="box-shadow: 0 0 6px 3px #00000038;z-index: 99999997;top: 100px;position: fixed;right: 50px;background: #fff;padding: 0 20px;border-radius: 5px;"><div id="downbox"><div><p style="font-size: 14px;margin: 10px 0;">分批下载</p><div><input type= number id="start" style="width: 35px;padding: 2px;border:1px solid #666666"> <span style="margin: 0 5px;">-</span><input type= number id="end" style="width: 35px;padding: 2px;border:1px solid #666666"></div></div><div><p style="font-size: 14px;margin: 10px 0;">预览速度</p><div><input id="yulan" type= number placeholder="300" style="width: 60px;padding: 2px;border:1px solid #666666"> <span style="margin: 0 5px;">像素</span></div></div><div id="dkdown" style="text-align: center;font-size: 14px;padding: 8px 15px;background: #54be99;color: #fff;margin: 10px 0;border-radius: 3px;">下载文档</div></div><div id="jxdown" style=" display:none; text-align: center;font-size: 14px;padding: 6px 13px;background: #fff;color: #54be99;margin: 10px 0;border-radius: 3px;border: 1px solid #54be99;">继续下载</div></div>`;document.body.insertAdjacentHTML('afterbegin', btnhtml);document.querySelector("#dkdown").onclick = (event)=>{let startnum = document.querySelector('#start').value;let endnum = document.querySelector("#end").value;let yulannum = document.querySelector("#yulan").value;exportPDF(event,startnum,endnum,yulannum);}document.querySelector("#jxdown").onclick = ()=>{Previewr###lt();}},bdwk:function(){const btnhtml =`<div id="bdbox" style="box-shadow: 0 0 6px 3px #00000038;z-index: 99999997;bottom: 100px;position: fixed;right: 50px;background: #fff;padding: 0 20px;border-radius: 5px;"><div id="bddown" style="text-align: center;font-size: 14px;padding: 8px 15px;background: #54be99;color: #fff;margin: 10px 0;border-radius: 3px;">下载文档</div></div>`;document.body.insertAdjacentHTML('afterbegin', btnhtml);document.querySelector("#bddown").onclick = (event)=>{let url = 'http://www.wezhicms.com/index/Tools/index?url='+ encodeURIComponent(config.playhref);window.open(url);}}};const Controllerdupan ={servers:["http://www.360fandu.cn/","http://pan.10zv.net/",],website:"",getPage(){let Page;if (config.playhref.indexOf(".baidu.com/disk/main") > 0) {Page = "main"return Page} else if (config.playhref.indexOf(".baidu.com/disk/home") > 0) {Page = "home"return Page}return null},addbtn:async function(){await commonFunction.sleep(1500)let Page = await this.getPage();if (Page === 'home'){let button = `<span class="g-dropdown-button" style="display: inline-block;" id="zhihuDown"><a class="g-button g-button-blue blue-upload upload-wrapper" title="智狐下载助手" ><span class="g-button-right"><em class="icon icon-download" title="智狐下载助手"></em><span class="text" style="width: 80px;">智狐下载助手</span></span></a></span>`;document.querySelector('[node-type=upload]').parentNode.insertAdjacentHTML('beforebegin',button);}if (Page === 'main'){let button = `<div class="wp-s-agile-tool-bar__h-group"><div class="u-button-group wp-s-agile-tool-bar__h-button-group is-main "><div class="wp-s-agile-tool-bar__h-action is-need-left-sep is-main"><a id="zhihuDown" class="nd-upload-button upload-wrapper"><button class="u-button nd-file-list-toolbar-action-item u-button--primary u-button--small is-round is-has-icon" data-v-6d80bc06><i class="u-icon u-icon-download"></i><span style="margin-left: 5px;">智狐下载助手</span></button></a></div></div></div>`;document.querySelector('.wp-s-agile-tool-bar__h-group').insertAdjacentHTML('beforebegin',button);}document.querySelector('#zhihuDown').onclick = async e => {let file = this.getSelectedfileList(),pwd = this.getPwd(4);if (!file) return;commonFunction.Toast('正在获取百度分享链接...');let surl = await this.getShortUrl(file.fs_id, pwd);if (!surl) {return commonFunction.Toast('百度分享链接获取失败');}this.showMain(surl, pwd, file.server_filename)};},showMain(surl, pwd,filename){let _this = thislet defaultpassword = "";if (localStorage.password && (Date.now() - localStorage.passwordTime) < 17280000) {defaultpassword = localStorage.password;} else {localStorage.password = "";}let html = `<div style="background-color: #fff;"><div style="background:#F5F6FA;padding: 15px 30px;display: flex;box-sizing: border-box;"><div style="width: 50%;margin-left: 5px;"><div style="font-size: 14px;color:#06A7FF;text-align: center;margin:5px 15px 25px 0;" id="tip"></div><div style="margin-bottom: 20px;text-align: left;"><span style="font-size: 12px;">方式一:IDM用户代理(UA)必须设置为:</span><span style="color:#FF0000;font-size: 12px;font-weight: bold;" id="ua"></span><div style="display: flex;height: 40px;line-height: 40px;margin-top: 20px;"><div id="copyIDM"></div><a href="https://www.zhihupe.com/html/w10/13168.html" style="color: #09AAFF;font-size: 14px;text-decoration: none;">软件下载及教程</a></div></div><div style="margin-bottom: 20px;text-align: left;"><span style="font-size: 12px;">方式二:Aria2/Motrix 无需配置,请看下方使用教程</span><div style="display: flex;height: 40px;line-height: 40px;margin-top: 20px;"><div id="sendAria"></div><a href="https://www.zhihupe.com/html/w10/13167.html" style="color: #09AAFF;font-size: 14px;text-decoration: none;"">软件下载及教程</a></div></div><div style="font-size: 14px;color: #FF0000;margin-bottom: 10px;text-align: left;">为防止接口被滥用,需要输入验证码</div><div style="display: flex;justify-content: space-between;height: 40px;line-height: 40px;"><input name="passwordCode" id="passwordCode"value="${defaultpassword}" placeholder="请输入验证码" style="box-sizing: border-box; width: 150px;height: 100%;padding:0 10px ; border: 1px solid #D4D7DE;border-radius: 8px;" /><button id="dowmBtn" style="margin-right: 15px; font-size: 14px;height: 100%;width: 125px;background: #09AAFF;border-radius: 20px;text-align: center;color: #fff;border: unset;">点击获取直链</button></div></div><div style="width: 50%;display: flex;flex-direction:column;"><img style="width: 130px;height: 130px;margin: 20px auto;border-radius: 5px;" src="http://cdn.wezhicms.com/uploads/allimg/20211215/1-21121500044Q94.jpg"><span style="font-size: 14px;color: #666;text-align: center;">微信扫描上方二维码获取验证码</span><h1 style="text-align: center; font-size: 18px;font-weight: bold;margin: 20px 0;">解析步骤</h1><div style="font-size: 14px;color: #000;margin-left:15px;text-align: left;"><div style="line-height: 3;">1.关注公众号【智狐百宝箱】</div><div style="line-height: 3;">2.回复‘解析’获取验证码</div><div style="line-height: 3;">3.将验证码输入左边输入框中,点击获取高速直链!</div></div></div></div></div>`;commonFunction.open({area: ['780', '526'],title: "正在获取"+filename+"的直链",shade: 0,id:"",btn: ['关闭','取消'],content:html,btn1: function(data) {}})document.querySelector('#dowmBtn').onclick = function () {document.querySelector('#dowmBtn').setAttribute('disabled','disabled')_this.website = _this.servers[Math.floor(Math.random()*_this.servers.length)];console.log(_this.website)let passwordCode = document.querySelector("#passwordCode").value;if (passwordCode) {GM_xmlhttpRequest({method: "GET",url: "http://tool.zhihupe.com/bdwpcs.php?m=WANPAN&author="+author+"&PWD="+passwordCode+"&website="+_this.website,headers: {"Content-Type": "text/html; charset=utf-8"},onload: function(res){console.log(res.responseText)var json=JSON.parse(res.responseText);if(json.error == 1){if (passwordCode != localStorage.password) {localStorage.password = passwordCode;localStorage.passwordTime = Date.now();}let password = json.code;_this.ua = json.ua;getLink(surl, pwd,filename,password);document.querySelector("#tip").innerText ="正在获取链接,请稍等!";}else if(json.error == -2){let msg =json.msgcommonFunction.Toast(msg);document.querySelector('#dowmBtn').removeAttribute('disabled')}else {commonFunction.Toast('服务器请求失败,请重试!');}},onerror: function(err){commonFunction.Toast(err);}});}else {commonFunction.Toast('请输入验证码!');}};function getLink(surl, pwd,filename,password){(async () => {let exception = null;try {let str = await _this.getFileInfo(surl, pwd, password, _this.website);console.log(surl, pwd, password, _this.website);return await _this.getLinkCommon(str, _this.website);} catch (e) {exception = e;}throw exception;})().then(link => {document.querySelector('#dowmBtn').removeAttribute('disabled')document.querySelector("#tip").innerText = "高速链接获取成功!!!";document.querySelector(".zhihu-layer-title").innerText =`获取 ${filename} 的高速直链成功`;document.querySelector("#ua").innerText =`${_this.ua}`;document.querySelector("#copyIDM").innerHTML = `<div style="margin-right: 15px; font-size: 14px;height: 100%;width: 175px;background: #09AAFF;border-radius: 20px;text-align: center;color: #fff;">复制IDM链接到剪贴板</div>`//document.querySelector("#copyIDM").insertAdjacentHTML('afterbegin', `<div style="margin-right: 15px; font-size: 14px;height: 100%;width: 175px;background: #09AAFF;border-radius: 20px;text-align: center;color: #fff;">复制IDM链接到剪贴板</div>`);document.querySelector('#copyIDM').onclick= e => {GM_setClipboard(link);commonFunction.Toast('已复制IDM链接到剪贴板');};document.querySelector("#sendAria").innerHTML = `<div style="margin-right: 15px; font-size: 14px;height: 100%;width: 175px;background: #09AAFF;border-radius: 20px;text-align: center;color: #fff;">发送到Aria2(motix)</div>`;document.querySelector('#sendAria').onclick = e =>{document.querySelector('.zhihu-layer-btn0').click()_this.showAria(link, filename);}}).catch(e => {document.querySelector('#dowmBtn').removeAttribute('disabled')document.querySelector(".zhihu-layer-title").innerText =`获取 ${filename} 的高速直链失败`document.querySelector("#tip").innerHTML =`获取高速链接<span style="font-weight:800;color:red">失败!!!,重试一次看看</span>`});};},getPwd(len) {len = len || 4;let $char = 'abcdefhijkmnprstwxyz123456789';let l = $char.length;let pwd = '';for (let i = 0; i < len; i++) {pwd += $char.charAt(Math.floor(Math.random() * l));}return pwd;},getList() {try {return require('system-core:context/context.js').instanceForSystem.list.getSelected();} catch (e) {let mainList = document.querySelector('.nd-main-list');if (!mainList) mainList = document.querySelector('.nd-new-main-list');//20220524 新版return mainList.__vue__.selectedList;}},getSelectedfileList() {let list = this.getList();if (list && list.length === 1) {if (list[0].isdir === 1) {return commonFunction.Toast('提示:请打开文件夹后勾选文件!');}return list[0];}else if(list.length > 1){return commonFunction.Toast('提示:不要同时勾选多个文件');}else{return commonFunction.Toast('提示:请先勾选要下载的文件!');}},getShortUrl(fs_id, pwd) {let bdstoken = '';return fetch(`https://pan.baidu.com/share/set?channel=chunlei&clienttype=0&web=1&channel=chunlei&web=1&app_id=250528&bdstoken=${bdstoken}&clienttype=0`, {"headers": {"accept": "*/*","accept-language": "zh-CN,zh;q=0.9","content-type": "text/plain;charset=UTF-8","sec-fetch-dest": "empty","sec-fetch-mode": "cors","sec-fetch-site": "none"},"referrerPolicy": "no-referrer-when-downgrade","body": `fid_list=[${fs_id}]&schannel=4&channel_list=[]&period=1&pwd=` + pwd,"method": "POST","mode": "cors","credentials": "include"}).then(r => r.json()).then(r => r.shorturl.replace(/^.+\//, '')).catch(e => null);},getFileInfo(surl, pwd, passwordCode, website) {return new Promise((resolve, reject) => {GM_xmlhttpRequest({method: 'POST',data: `surl=${surl}&pwd=${pwd}&Password=` + passwordCode,url: website,headers: {"content-type": "application/x-www-form-urlencoded",},onload: res => {if (res.status != 200)return reject(res);resolve(res.responseText);console.log(res.responseText)},onerror: err => reject(err)});}).then(r => {let m = r.match(/javascript:confirmdl\((.+)\);/);console.log(m);if (m) return m[1];return Promise.reject(`获取下载信息失败`);});},getParam(str) {let arr = str.replace(/'/g,'').split(',');return `fs_id=${arr[0]}&time=${arr[1]}&sign=${arr[2]}&randsk=${arr[3]}&share_id=${arr[4]}&uk=${arr[5]}`;// return urlEncode(['fs_id', 'time', 'sign', 'randsk', 'share_id', 'uk', 'bdstoken', 'filesize'].reduce((t, v, i) => (t[v] = arr[i]) && t, {}));},getLinkCommon(str, website) {const _this = thisreturn new Promise((resolve, reject) => {GM_xmlhttpRequest({method: 'POST',data: _this.getParam(str),url: website + "/?download",headers: {"content-type": "application/x-www-form-urlencoded",},onload: res => {if (res.status != 200) return reject(res);resolve(res.responseText);},onerror: err => reject(err)});}).then(r => {var reg = /id="https" data-qrcode-attr="href" data-qrcode-level="L" href="(.\S*)" target="_blank"/;let link = r.match(reg)if (link) return link[1];return Promise.reject('获取直链失败');});},showAria(url, filename) {let _this = thislet contenthtml ="";contenthtml +='<form class="zhihu-form" style="height: 255px;"><div class="main-left" style="width:100%;padding:0 30px">'contenthtml +=`<div class="zhihu-form-item"> <label class="zhihu-form-label">RPC地址</label><div class="zhihu-input-block"><input name="rpc" value="${commonFunction.getItem('rpc') || ''}" placeholder="" class="zhihu-input"></div></div>`contenthtml +=`<div class="zhihu-form-item" style="color: #acaeb5;"><div class="zhihu-input-block"><p>Aria2配置:ws://localhost:6800/jsonrpc<br>Motrix配置:ws://localhost:16800/jsonrpc</p></div></div>`contenthtml +=`<div class="zhihu-form-item"> <label class="zhihu-form-label">token</label><div class="zhihu-input-block"><input name="token" value="${commonFunction.getItem('token') || ''}" placeholder="" class="zhihu-input"></div></div>`contenthtml +='<div class="zhihu-form-item" style="color: #acaeb5;"><div class="zhihu-input-block"><p>没有请留空</p></div></div>'contenthtml +=`<div class="zhihu-form-item"> <label class="zhihu-form-label">保存地址</label><div class="zhihu-input-block"><input name="mulu" value="${commonFunction.getItem('mulu') || 'D:/Aria'}" placeholder="留空使用默认目录" class="zhihu-input"></div></div>`contenthtml +='<div class="zhihu-form-item" style="color: #acaeb5;"><div class="zhihu-input-block"><p>留空使用默认目录</p></div></div>'contenthtml +='</div>'contenthtml +='</div></form>'commonFunction.open({area: ['480', '380'],title: "发送到 Aria2 Json-RPC",shade: 0,id:"",btn: ['取消', '发送'],content:contenthtml,btn1: function(data) {var n = data.getElementsByTagName('input');for(let i= 0; i <n.length; i++ ){if (n[i].getAttribute("name") == "rpc") {commonFunction.setItem("rpc",n[i].value);}else if (n[i].getAttribute("name") == "token") {commonFunction.setItem("token",n[i].value);}else if (n[i].getAttribute("name") == "mulu") {commonFunction.setItem("mulu",n[i].value);}}if (!commonFunction.getItem("rpc")){return commonFunction.Toast('RPC地址必填');}_this.addUri(url, filename)}})},addUri(url, filename) {let _this = thisvar wsurl = commonFunction.getItem('rpc');var uris = [url.replace('https:', 'http:'), url];var token = commonFunction.getItem('token')?commonFunction.getItem('rpc'):'';var mulu = commonFunction.getItem('mulu')?commonFunction.getItem('mulu'):'D:/Aria'var options = {"max-connection-per-server": "16","user-agent": _this.ua,'dir':mulu,};if (filename != "") {options.out = filename;}let json = {"id": "baiduwp-php","jsonrpc": '2.0',"method": 'aria2.addUri',"params": [uris, options],};if (token != "") {json.params.unshift("token:" + token);}let patt = /^wss?\:\/\/(((([A-Za-z0-9]+[A-Za-z0-9\-]+[A-Za-z0-9]+)|([A-Za-z0-9]+))(\.(([A-Za-z0-9]+[A-Za-z0-9\-]+[A-Za-z0-9]+)|([A-Za-z0-9]+)))*(\.[A-Za-z0-9]{2,10}))|(localhost)|((([01]?\d?\d)|(2[0-4]\d)|(25[0-5]))(\.([01]?\d?\d)|(2[0-4]\d)|(25[0-5])){3})|((\[[A-Za-z0-9:]{2,39}\])|([A-Za-z0-9:]{2,39})))(\:\d{1,5})?(\/.*)?$/;if (!patt.test(wsurl)) {commonFunction.Toast('地址错误', 'WebSocket 地址不符合验证规则,请检查是否填写正确!', 'error');return;}var ws = new WebSocket(wsurl);ws.onerror = event => {console.log(event);commonFunction.Toast('连接错误', 'Aria2 连接错误,请打开控制台查看详情!', 'error');};ws.onopen = () => {ws.send(JSON.stringify(json));}ws.onmessage = event => {console.log(event);let received_msg = JSON.parse(event.data);if (received_msg.error !== undefined) {if (received_msg.error.code === 1) commonFunction.Toast('通过RPC连接失败', '请打开控制台查看详细错误信息,返回信息:' + received_msg.error.message, 'error');}switch (received_msg.method) {case "aria2.onDownloadStart":commonFunction.Toast('Aria2 发送成功', 'Aria2 已经开始下载!' + filename, 'success');localStorage.setItem('aria2wsurl', wsurl); // add aria2 config to SessionStorageif (token != "" && token != null) localStorage.setItem('aria2token', token);break;case "aria2.onDownloadError": ;commonFunction.Toast('下载错误', 'Aria2 下载错误!', 'error');break;case "aria2.onDownloadComplete":commonFunction.Toast('下载完成', 'Aria2 下载完成!', 'success');break;default:break;}};}};const Controllercsdn = {blog:async function(){const copy =()=>{let copynode = document.querySelectorAll("pre");copynode.forEach(function(item){item.style.cssText = "user-select: auto;";item.querySelector("code").style.cssText = "user-select: auto;";item.querySelector("code").setAttribute("onclick","mdcp.copyCode(event)");item.querySelector(".hljs-button").setAttribute("class","hljs-button {2}");item.querySelector(".hljs-button").setAttribute("data-title","复制");});let copybtn = document.querySelectorAll("code .hljs-button");copybtn.forEach(function(item){item.addEventListener('click',function() {setTimeout(function(){item.setAttribute("data-title","复制");console.log("复制")},3500);});});commonFunction.Toast("解除复制限制成功",500);};const quanwen =() =>{var hide = commonFunction.Commonsetinterval([".hide-article-box.text-center"]);hide.then(function(hidenode){hidenode.parentNode.removeChild(hidenode);document.getElementById("article_content").style="height: *px; ";commonFunction.Toast("解除阅读全文限制成功",500);});}const link =()=>{let linknode = document.getElementById("article_content").querySelectorAll("a");linknode.forEach(function(item){if(item.origin!= window.location.origin){item.onclick =(event)=> {if (event.stopPropagation) {event.stopPropagation();}item.setAttribute("target", "_blank");};commonFunction.Toast("解除外链重定向限制成功",500);}})}//去除复制小尾巴try {// 复制时保留原文格式,参考 https://gfork.dahi.icu/en/scripts/390502-csdnremovecopyright/codeObject.defineProperty(unsafeWindow, "articleType", {value: 0,writable: false,configurable: false});await commonFunction.sleep(1500);copy();quanwen();link();} catch (error) {console.log(error)}}};//-------------------------------------//脚本设置开始if(commonFunction.IsPC()===true){commonFunction.menusetting();// GM_deleteValue("videosetting");var Menu=GM_registerMenuCommand ("脚本设置", function(){var menulist = [{name:"VIP视频解析功能",value:"videosetting",set:commonFunction.GMgetValue("videosetting"),},{name:"电商优惠券查询功能",value:"couponsetting",set:commonFunction.GMgetValue("couponsetting"),},{name:"电商历史价格查询功能",value:"historysetting",set:commonFunction.GMgetValue("historysetting"),},{name:"短视频无水印下载功能",value:"Shortvideosetting",set:commonFunction.GMgetValue("Shortvideosetting"),},{name:"Bilibili无水印下载功能",value:"Bilibilisetting",set:commonFunction.GMgetValue("Bilibilisetting"),},{name:"喜马拉雅下载功能",value:"Ximalayasetting",set:commonFunction.GMgetValue("Ximalayasetting"),},{name:"教育盘论坛下载功能",value:"Jiaoyupansetting",set:commonFunction.GMgetValue("Jiaoyupansetting"),},{name:"文档下载功能",value:"Docssetting",set:commonFunction.GMgetValue("Docssetting"),},{name:"CSDN优化功能",value:"Csdnsetting",set:commonFunction.GMgetValue("Csdnsetting"),},]var mainHTML = ""for(i in menulist){let text = menulist[i].set===1?"关闭":"开启";let style =menulist[i].set===1?"border: 1px solid #cacaca;":"border: 1px solid #54be99;color: #54be99;";mainHTML += '<div style="display: flex;justify-content: space-between;font-size: 14px;height: 38px;line-height: 38px;"><div>'+menulist[i].name+'</div><button style="font-size: 14px;padding: 0px 10px;line-height: 18px;height: 28px;'+style+'border-radius: 5px;margin: 5px 0;background: #fff0;" class="s" data-name="'+menulist[i].name+'" data-value="'+menulist[i].value+'">'+text+'</button></div>'}let m = document.createElement('div');m.innerHTML = '<h2 style="font-size: 18px;font-weight: bold;margin: 0 0 10px 0;line-height: 40px;">脚本功能设置</h2>'+mainHTML+'<button style="font-size: 14px;padding: 0 10px;line-height: 28px;height: 38px;border: 0;border-radius: 5px;margin: 10px 0;background: #54be99;color: #fff;width: 80px;" id="CloseMenu">关闭</button>';console.log(m)m.setAttribute('id','Menu');m.style.cssText = "box-shadow: 0px 0px 8px 1px rgb(98 99 99 / 34%);max-width:60%;width: 280px;padding:10px 20px;min-height: 40px;line-height: 40px;text-align: center;border-radius: 10px;position: fixed;top: 50%;left: 50%;transform: translate(-50%, -50%);z-index: 99999999;background: #fff;font-size: 16px;font-family: PingFang SC, HarmonyOS_Regular, Helvetica Neue, Microsoft YaHei, sans-serif;";document.body.appendChild(m);let s = document.getElementsByClassName("s");for (var i = 0; i < s.length; i++) {s[i].addEventListener('click',function() {var name = this.getAttribute("data-value");if(commonFunction.GMgetValue(name)=== 1){commonFunction.GMsetValue(name,0);this.innerText = "开启";this.style="font-size: 14px;padding: 0px 10px;line-height: 18px;height: 28px;border: 1px solid #54be99;color: #54be99;border-radius: 5px;margin: 5px 0;background: #fff0;";commonFunction.Toast(this.getAttribute("data-name")+"已关闭",1500);}else{commonFunction.GMsetValue(name,1);this.innerText = "关闭";this.style="font-size: 14px;padding: 0px 10px;line-height: 18px;height: 28px;border: 1px solid #cacaca;border-radius: 5px;margin: 5px 0;background: #fff0;";commonFunction.Toast(this.getAttribute("data-name")+"已开启",1500);}});}document.querySelector("#CloseMenu").addEventListener('click',function() {document.body.removeChild(document.querySelector("#Menu"));window.location.reload();})}, "h");}//脚本设置结束//-------------------------------------------------------------------------//统一判断运行if(commonFunction.GMgetValue("isuser") == 1){switch (config.host) {case 'v.qq.com':case 'v.youku.com':case 'www.iqiyi.com':case 'www.mgtv.com':case 'w.mgtv.com':case 'www.le.com':case 'film.sohu.com':case 'tv.sohu.com':case 'v.pptv.com':if(commonFunction.GMgetValue("videosetting")===1){ControllerVideo.addbtn();}break;case 'www.bilibili.com':if(commonFunction.GMgetValue("videosetting")===1){if (config.playhref.indexOf("www.bilibili.com/bangumi/play") != -1) {ControllerVideo.addbtn();}}if(commonFunction.GMgetValue("Bilibilisetting")===1&&config.playhref.indexOf("/video/") != -1){ControllerBilibili.Addlist();}break;case 'www.wasu.cn':if(commonFunction.GMgetValue("videosetting")===1){if(config.playhref.indexOf("www.wasu.cn/Play/")!=-1){ControllerVideo.addbtn();}else{ControllerVideo.addmobbtn();}}console.log('已进入华数TV')break;case 'vip.1905.com':if(commonFunction.GMgetValue("videosetting")===1){if(config.playhref.indexOf("vip.1905.com/play/")!=-1){ControllerVideo.addbtn();}else{ControllerVideo.addmobbtn();}}console.log('已进入1905电影网')break;case 'm.v.qq.com':case 'm.youku.com':case 'm.iqiyi.com':case 'm.mgtv.com':case 'm.le.com':case 'm.tv.sohu.com':case 'm.pptv.com':ControllerVideo.addmobbtn();break;case 'm.bilibili.com':if (config.playhref.indexOf("m.bilibili.com/bangumi/play") != -1) {ControllerVideo.addmobbtn();}console.log('已进入手机bilibili');break;case 'www.douyin.com':console.log('已进入抖音') ;if(commonFunction.GMgetValue("Shortvideosetting")===1){ControllerShortvideo.douyinbtn();}break;case 'www.kuaishou.com':console.log('已进入快手') ;if(commonFunction.GMgetValue("Shortvideosetting")===1){ControllerShortvideo.kuaishoubtn();}break;case 'www.ixigua.com':console.log('已进入西瓜视频') ;if(commonFunction.GMgetValue("Shortvideosetting")===1){ControllerShortvideo.xiguabtn();commonFunction.setIntervalhost();}break;case 'www.ximalaya.com':console.log('已进入喜马拉雅') ;if(commonFunction.GMgetValue("Ximalayasetting")===1){Controllerximalaya.addximalaya();commonFunction.setIntervalhost();}break;case 'jiaoyupan.com':console.log('已进入教育盘论坛') ;if(commonFunction.GMgetValue("Jiaoyupansetting")===1){Controllerforum.jiaoyupan();}break;case 'max.book118.com':console.log('已进入原创力') ;if(commonFunction.GMgetValue("Docssetting")===1){Controllerdocs.yuanchuangli();}break;case 'view-cache.book118.com':case 'view43.book118.com':case 'view44.book118.com':case 'view81.book118.com':console.log('已进入原创力PPT预览') ;if(commonFunction.GMgetValue("Docssetting")===1){Controllerdocs.yuanchuangliPPT();}break;case 'www.doc88.com':console.log('已进入道客巴巴') ;if(commonFunction.GMgetValue("Docssetting")===1){Controllerdocs.daokebaba();}break;case 'doc.mbalib.com':console.log('已进入智库文库') ;if(commonFunction.GMgetValue("Docssetting")===1){Controllerdocs.zhiku();}break;case 'www.docin.com':console.log('已进入豆丁网') ;if(commonFunction.GMgetValue("Docssetting")===1){Controllerdocs.docin();}break;case 'wenku.baidu.com':case 'wk.baidu.com':console.log('已进入百度文库') ;if(commonFunction.GMgetValue("Docssetting")===1){Controllerdocs.bdwk();}break;case 'blog.csdn.net':console.log('已进入csdn') ;if(commonFunction.GMgetValue("Csdnsetting")===1){Controllercsdn.blog();}break;case 'pan.baidu.com':console.log('已进入百度网盘') ;Controllerdupan.addbtn();break;}//网站判断执行结束}else{let userhtml = '<div id="user" style="position: fixed;top: 50%;left: 50%;width: 480px;max-width: 80%;height: 468px;border-radius: 10px;background-image: url(https://static.hitv.com/pc/img/601d3ee.png),url(https://static.hitv.com/pc/img/21b00eb.png);background-position: 0 0,100% 280px;background-repeat: no-repeat;background-color: #fff;-webkit-box-shadow: 0 0 80px rgba(0,0,0,.25);box-shadow: 0 0 80px rgba(0,0,0,.25);opacity: 1;-webkit-transform: translate(-50%,-50%);-ms-transform: translate(-50%,-50%);transform: translate(-50%,-50%);z-index: 99999;">';if(commonFunction.IsWap() == "wap"){var btncss="margin: 0 20px;";var tybtncss="width: 130px;"}else{btncss="margin: 0 90px;";tybtncss="width: 180px;"}userhtml += '<div style="margin-top: 45px;color: #222;font-weight: 700;font-size: 28px;text-align: center;">脚本使用协议</div>'userhtml += '<div style="width: 100%;height: 220px;margin: 35px auto 40px;overflow-x: hidden;overflow-y: scroll;">'userhtml +='<p style="margin: 0 50px 5px;color: #777;font-weight: 400;font-size: 13px;line-height: 22px;word-break: break-all;text-align: justify;"> 感谢您对本脚本的信任,为了更好的使用本脚本,在此,我们郑重提醒您:</p>'userhtml +='<p style="margin: 0 50px 5px;color: #777;font-weight: 400;font-size: 13px;line-height: 22px;word-break: break-all;text-align: justify;">1.有能力的情况,请大家支持正版</p>'userhtml +='<p style="margin: 0 50px 5px;color: #777;font-weight: 400;font-size: 13px;line-height: 22px;word-break: break-all;text-align: justify;">2.本脚本仅用学习交流,请勿用于非法、商业用途,使用本脚本下载的内容请勿进行复制、传播等侵权行为</p>'userhtml +='<p style="margin: 0 50px 5px;color: #777;font-weight: 400;font-size: 13px;line-height: 22px;word-break: break-all;text-align: justify;">3.VIP视频解析中所用到的解析接口全部收集自互联网(源码可见),版权问题请联系相关解析接口所有者,脚本不承担相关责任</p>'userhtml +='<p style="margin: 0 50px 5px;color: #777;font-weight: 400;font-size: 13px;line-height: 22px;word-break: break-all;text-align: justify;">4.视频下载内容均来自##本身API接口,不存在破解情况,如果侵权请邮件(188872170@qq.com)联系删除。</p>'userhtml +='<p style="margin: 0 50px 5px;color: #777;font-weight: 400;font-size: 13px;line-height: 22px;word-break: break-all;text-align: justify;">5.点击我同意后,即已代表您已经充分了解相关问题,否则后果自负,特此声明!</p></div>'userhtml +='<div style="display: flex;'+btncss+'justify-content: space-between;"><button style="width: 100px;height: 45px;border: none;border-radius: 25px;outline: none;color: #fff;background: #ddd;font-weight: 700;font-size: 15px;line-height: 45px;" id="bty">不同意</button> <button style="'+tybtncss+'height: 45px;border: none;border-radius: 25px;outline: none;color: #fff;background: #ffa000;background: -webkit-gradient(linear,left top,right top,from(#ff5f00),to(#ffa000));background: -webkit-linear-gradient(left,#ff5f00,#ffa000);background: -o-linear-gradient(left,#ff5f00 0,#ffa000 100%);background: linear-gradient(90deg,#ff5f00,#ffa000);font-weight: 700;font-size: 15px;line-height: 45px;" id="ty">我同意</button></div></div>'console.log(userhtml)document.body.insertAdjacentHTML('afterbegin', userhtml);document.querySelector("#ty").addEventListener('click',function() {commonFunction.GMsetValue("isuser","1");window.location.reload();})document.querySelector("#bty").addEventListener('click',function() {commonFunction.GMsetValue("isuser","0");document.body.removeChild(document.querySelector("#user"));});}//用户协议//监听网址// Your code here...})()