// ==UserScript==
// @name 视频实时下载解析,支持抖音、快手
// @name:zh 视频实时下载解析,支持抖音、快手
// @name:zh-TW 视频实时下载解析,支持抖音、快手
// @namespace shipin_downspace_20240121
// @version 1.2.0
// @description 功能短视频去水印下载:支持抖音、快手【脚本长期维护更新,完全免费,无广告,仅限学习交流!!QQ:2394856795微信:ahonker999】
// @description:zh 功能短视频去水印下载:支持抖音、快手【脚本长期维护更新,完全免费,无广告,仅限学习交流!!QQ:2394856795微信:ahonker999】
// @description:zh-TW 功能短視頻去水印下載:支援抖音、快手【指令碼或直譯式程式長期維護更新,完全免費,無廣告,僅限學習交流!!QQ:2394856795微信:ahonker999】
// @author ahonker
// @antifeature membership
// @icon data:image/png;base64,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
// @include *://*.youku.com/v_*
// @include *://*.iqiyi.com/v_*
// @include *://*.iqiyi.com/w_*
// @include *://*.iqiyi.com/a_*
// @include *://*.iqiyi.com/resource/pcw/play/*
// @include *://*.le.com/ptv/vplay/*
// @include *://v.qq.com/x/cover/*
// @include *://v.qq.com/x/page/*
// @include *://v.qq.com/tv/*
// @include *://*.tudou.com/listplay/*
// @include *://*.tudou.com/albumplay/*
// @include *://*.tudou.com/programs/view/*
// @include *://*.mgtv.com/b/*
// @include *://film.sohu.com/album/*
// @include *://tv.sohu.com/v/*
// @include *://*.baofeng.com/play/*
// @include *://vip.pptv.com/show/*
// @include *://v.pptv.com/show/*
// @include *://www.le.com/ptv/vplay/*
// @include *://www.wasu.cn/Play/show/*
// @include *://*.1905.com/video/*
// @include *://*.1905.com/play/*
// @include *://*.1905.com/*/play/*
// @include *://www.miguvideo.com/mgs/*
// @include *://m.v.qq.com/x/cover/*
// @include *://m.v.qq.com/x/page/*
// @include *://m.v.qq.com/*
// @include *://m.iqiyi.com/v_*
// @include *://m.iqiyi.com/w_*
// @include *://m.iqiyi.com/a_*
// @include *://m.youku.com/alipay_video/*
// @include *://m.youku.com/video/id_*
// @include *://m.mgtv.com/b/*
// @include *://m.tv.sohu.com/v/*
// @include *://m.film.sohu.com/album/*
// @include *://m.le.com/ptv/vplay/*
// @include *://m.pptv.com/show/*
// @include *://m.acfun.cn/v/*
// @include *://m.wasu.cn/Play/show/*
// @include *://www.baidu.com/*
// @include *://www.so.com/s*
// @include *://www.sogou.com/web*
// @include *://www.sogou.com/sogou*
// @include *://cn.bing.com/search*
// @include *://www.bing.com/search*
// @include *://www4.bing.com/search*
// @include *://so.toutiao.com/search*
// @include *://www.google.com/search*
// @include *://www.google.com.hk/search*
// @include *://duckduckgo.com*
// @include *://www.bilibili.com/**
// @include *://search.bilibili.com/**
// @include *://space.bilibili.com/**
// @include *://www.bilibili.com/read/**
// @include *://*.zhihu.com/*
// @include *://www.douyin.com/*
// @include *://www.kuaishou.com/*
// @include *://www.youtube.com
// @include *://www.youtube.com/
// @include *://www.youtube.com/watch*
// @include *://www.facebook.com/*
// @include *://yt1s.com/facebook-downloader
// @include *://*.douyinvod.com/*
// @require https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/jquery/3.2.1/jquery.min.js
// @require https://greasyfork.org/scripts/454236-findandreplacedomtext-huahuacat/code/findAndReplaceDOMText-huahuacat.js?version=1112990
// @connect bilibili.com
// @connect sct.staticj.top
// @grant unsafeWindow
// @grant GM_openInTab
// @grant GM.openInTab
// @grant GM_getValue
// @grant GM.getValue
// @grant GM_setValue
// @grant GM.setValue
// @grant GM_download
// @grant GM_xmlhttpRequest
// @grant GM.xmlHttpRequest
// @grant GM_registerMenuCommand
// @license AGPL License
// @charset UTF-8
// @run-at document-idle
// ==/UserScript==
(function () {
'use strict';
/**
* 脚本遵循AGPL License开源协议;在协议允许的范围类,可以自由修改
* 开完万岁!!
*/
//共有方法,全局共享
function CommonFunction(){
this.GMgetValue = function (name, value=null) {
let storageValue = value;
if (typeof GM_getValue === "function") {
storageValue = GM_getValue(name, value);
} else if(typeof GM.setValue === "function"){
storageValue = GM.getValue(name, value);
}else{
var arr = window.localStorage.getItem(name);
if(arr != null){
storageValue = arr
}
}
return storageValue;
};
this.GMsetValue = function(name, value){
if (typeof GM_setValue === "function") {
GM_setValue(name, value);
} else if(typeof GM.setValue === "function"){
GM.setValue(name, value);
}else{
window.localStorage.setItem(name, value)
}
};
this.GMaddStyle = function(css){
var myStyle = document.createElement('style');
myStyle.textContent = css;
var doc = document.head || document.documentElement;
doc.appendChild(myStyle);
};
this.GMopenInTab = function(url, options={"active":true, "insert":true, "setParent":true}){
if (typeof GM_openInTab === "function") {
GM_openInTab(url, options);
} else {
GM.openInTab(url, options);
}
};
this.addScript = function(url){
var s = document.createElement('script');
s.setAttribute('src',url);
document.body.appendChild(s);
};
this.randomNumber = function(){
return Math.ceil(Math.random()*100000000);
};
this.request = function(mothed, url, param){ //网络请求
return new Promise(function(resolve, reject){
GM_xmlhttpRequest({
url: url,
method: mothed,
data:param,
onload: function(response) {
var status = response.status;
var playurl = "";
if(status==200||status=='200'){
var responseText = response.responseText;
resolve({"result":"success", "data":responseText});
}else{
reject({"result":"error", "data":null});
}
}
});
})
};
this.addCommonHtmlCss = function(){
var cssText =
`
@keyframes fadeIn {
0% {opacity: 0}
100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
0% {opacity: 0}
100% {opacity: 1}
}
@-moz-keyframes fadeIn {
0% {opacity: 0}
100% {opacity: 1}
}
@-o-keyframes fadeIn {
0% {opacity: 0}
100% {opacity: 1}
}
@-ms-keyframes fadeIn {
0% {opacity: 0}
100% {opacity: 1}
}
@keyframes fadeOut {
0% {opacity: 1}
100% {opacity: 0}
}
@-webkit-keyframes fadeOut {
0% {opacity: 1}
100% {opacity: 0}
}
@-moz-keyframes fadeOut {
0% {opacity: 1}
100% {opacity: 0}
}
@-o-keyframes fadeOut {
0% {opacity: 1}
100% {opacity: 0}
}
@-ms-keyframes fadeOut {
0% {opacity: 1}
100% {opacity: 0}
}
.web-toast-kkli9{
position: fixed;
background: rgba(0, 0, 0, 0.7);
color: #fff;
font-size: 14px;
line-height: 1;
padding:10px;
border-radius: 3px;
left: 50%;
transform: translateX(-50%);
-webkit-transform: translateX(-50%);
-moz-transform: translateX(-50%);
-o-transform: translateX(-50%);
-ms-transform: translateX(-50%);
z-index: 999999999999999999999999999;
white-space: nowrap;
}
.fadeOut{
animation: fadeOut .5s;
}
.fadeIn{
animation:fadeIn .5s;
}
`;
this.GMaddStyle(cssText);
};
this.webToast = function(params) { //小提示框
var time = params.time;
var background = params.background;
var color = params.color;
var position = params.position; //center-top, center-bottom
var defaultMarginValue = 50;
if(time == undefined || time == ''){
time = 1500;
}
var el = document.createElement("div");
el.setAttribute("class", "web-toast-kkli9");
el.innerHTML = params.message;
//背景颜色
if(background!=undefined && background!=''){
el.style.backgroundColor=background;
}
//字体颜色
if(color!=undefined && color!=''){
el.style.color=color;
}
//显示位置
if(position==undefined || position==''){
position = "center-bottom";
}
//设置显示位置,当前有种两种形式
if(position==="center-bottom"){
el.style.bottom = defaultMarginValue+"px";
}else{
el.style.top = defaultMarginValue+"px";
}
el.style.zIndex=999999;
document.body.appendChild(el);
el.classList.add("fadeIn");
setTimeout(function () {
el.classList.remove("fadeIn");
el.classList.add("fadeOut");
/*监听动画结束,移除提示信息元素*/
el.addEventListener("animationend", function () {
document.body.removeChild(el);
});
el.addEventListener("webkitAnimationEnd", function () {
document.body.removeChild(el);
});
}, time);
};
this.filterStr = function(str){
if(!str) return "";
str = str.replace(/\t/g,"");
str = str.replace(/\r/g,"");
return encodeURIComponent(str)
};
this.getParamterQueryUrl = function(text, tag) { //查询GET请求url中的参数
if(text.indexOf("?")!=-1){ //选取?后面的字符串,兼容window.location.search,前面的?不能去掉
var textArray = text.split("?");
text = "?"+textArray[textArray.length-1];
}
var t = new RegExp("(^|&)" + tag + "=([^&]*)(&|$)");
var a = text.substr(1).match(t);
if (a != null){
return a[2];
}
return "";
};
this.getEndHtmlIdByUrl = function(url) { //获得以html结束的ID
if(url.indexOf("?")!=-1){
url = url.split("?")[0]
}
if(url.indexOf("#")!=-1){
url = url.split("#")[0]
}
var splitText = url.split("/");
var idText = splitText[splitText.length-1];
idText = idText.replace(".html","");
return idText;
};
this.getEcommercePlatform=function(url = window.location.href){
let platform = "";
if(url.indexOf("detail.tmall")!=-1 || url.indexOf("tmall.hk")!=-1 || url.indexOf("pages.tmall.com")!=-1){
platform = "tmall";
}else if(url.indexOf("taobao.com")!=-1 || url.indexOf("maiyao.liangxinyao.com")!=-1){
platform = "taobao";
}else if(url.indexOf("jd.com")!=-1 || url.indexOf("npcitem.jd.hk")!=-1 || url.indexOf("yiyaojd.com")!=-1){
platform = "jd";
}else if(url.indexOf("detail.vip.com")!=-1 || url.indexOf("www.vipglobal.hk")!=-1){
platform = "vpinhui";
}
return platform;
}
this.isPC = function(){
var userAgentInfo = navigator.userAgent;
var Agents = ["Android", "iPhone","SymbianOS", "Windows Phone", "iPad", "iPod"];
var flag = true;
for (var v = 0; v < Agents.length; v++) {
if (userAgentInfo.indexOf(Agents[v]) > 0) {
flag = false;
break;
}
}
return flag;
};
this.getBilibiliBV=function(){
var pathname = window.location.pathname;
var bv = pathname.replace("/video/","").replace("/","");
return bv;
};
this.getSystemOS=function(){
var u = navigator.userAgent;
if (!!u.match(/compatible/i) || u.match(/Windows/i)) {
return 'windows';
} else if (!!u.match(/Macintosh/i) || u.match(/MacIntel/i)) {
return 'macOS';
} else if (!!u.match(/iphone/i) || u.match(/Ipad/i)) {
return 'ios';
} else if (!!u.match(/android/i)) {
return 'android';
} else {
return 'other';
}
};
this.RPCDownloadFile = function(fileName, url, savePath="D:/", RPCURL="ws://localhost:16800/jsonrpc", RPCToken="") {
const self = this;
if(!savePath){
savePath = "D:/";
}
if(!RPCURL){
RPCURL = "ws://localhost:16800/jsonrpc";
}
let options = { //下载配置文件
"dir":savePath,
"max-connection-per-server": "16",
"header":["User-Agent:"+navigator.userAgent+"", "Cookie:"+document.cookie+"", "Referer:"+window.location.href+""]
}
if(!!fileName) {
options.out = fileName;
}
let jsonRPC = {
"jsonrpc": "2.0",
"id": "huahuacat",
"method": "aria2.addUri",
"params": [[url], options],
}
if (!!RPCToken) {
jsonRPC.params.unshift("token:" + RPCToken); // 必须要加在第一个
}
return new Promise(function(resolve, reject) {
var webSocket = new WebSocket(RPCURL);
webSocket.onerror = function(event) {
console.log("webSocket.onerror", event);
reject("Aria2连接错误,请打开Aria2和检查RPC设置!");
}
webSocket.onopen = function(){
webSocket.send(JSON.stringify(jsonRPC));
}
webSocket.onmessage = function(event){
let result = JSON.parse(event.data);
switch (result.method) {
case "aria2.onDownloadStart":
resolve("Aria2 开始下载【"+fileName+"】");
webSocket.close();
break;
case "aria2.onDownloadComplete":
break;
default:
break;
}
}
});
};
this.getElementObject = function(selector, allowEmpty = true, delay=10, maxDelay=2000){
return new Promise((resolve,reject) =>{
let totalDelay = 0;
let element = document.querySelector(selector);
let result = allowEmpty ? !!element : (!!element && !!element.innerHTML);
if(result){
resolve(element);
}
let elementInterval = setInterval(()=>{
if(totalDelay >= maxDelay){ //总共检查2s,如果还是没找到,则返回
clearInterval(elementInterval);
resolve(null);
}
element = document.querySelector(selector);
result = allowEmpty ? !!element : (!!element && !!element.innerHTML);
if(result){
clearInterval(elementInterval);
resolve(element);
}else{
totalDelay += delay;
}
}, delay);
});
};
/**
* @param {Object} time
* @param {Object} format
* 时间格式化
* DateFormat(new Date(dateCreated), "yyyy-MM-dd hh:mm:ss")
*/
this.DateFormat = function(time, format) {
var o = {
"M+": time.getMonth() + 1, //月份
"d+": time.getDate(), //日
"h+": time.getHours(), //小时
"m+": time.getMinutes(), //分
"s+": time.getSeconds(), //秒
"q+": Math.floor((time.getMonth() + 3) / 3), //季度
"S": time.getMilliseconds() //毫秒
};
if(/(y+)/.test(format)){
format = format.replace(RegExp.$1, (time.getFullYear() + "").substr(4 - RegExp.$1.length));
}
for(var k in o){
if(new RegExp("(" + k + ")").test(format)){
format = format.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
}
}
return format;
}
}
//全局弹窗对象
const popup = (function(){
class Popup {
constructor() {
this.mask = document.createElement('div')
this.setStyle(this.mask, {
"width": '100%',
"height": '100%',
"backgroundColor": 'rgba(0, 0, 0, .6)',
"position": 'fixed',
"left": "0px",
"top": "0px",
"bottom":"0px",
"right":"0px",
"z-index":"99999"
})
// 创建中间显示内容的水平并垂直居中的div
this.content = document.createElement('div')
this.setStyle(this.content, {
"max-width": '450px',
"width":"100%",
"max-height": '600px',
"backgroundColor": '#fff',
"boxShadow": '0 0 2px #999',
"position": 'absolute',
"left": '50%',
"top": '50%',
"transform": 'translate(-50%,-50%)',
"borderRadius": '3px'
})
// 将这个小div放在遮罩中
this.mask.appendChild(this.content)
}
middleBox(param) {
// 先清空中间小div的内容 - 防止调用多次,出现混乱
this.content.innerHTML = ''
let title = '默认标题内容';
// 检测参数类型
if({}.toString.call(param) === '[object String]') {
title = param
} else if({}.toString.call(param) === '[object Object]') {
title = param.title
}
// 将遮罩放在body中显示
document.body.appendChild(this.mask)
// 给中间的小div设置默认的排版
// 上面标题部分
this.title = document.createElement('div')
// 设置样式
this.setStyle(this.title, {
"width": '100%',
"height": '40px',
"lineHeight": '40px',
"boxSizing": 'border-box',
"background-color":"#FF4D40",
"color": '#FFF',
"text-align": 'center',
"font-weight":"700",
"font-size":"16px"
})
// 设置默认标题内容
this.title.innerText = title
// 将标题部分放在中间div中
this.content.appendChild(this.title)
// 关闭按钮
this.closeBtn = document.createElement('div')
// 设置内容
this.closeBtn.innerText = '×'
// 设置样式
this.setStyle(this.closeBtn, {
"textDecoration": 'none',
"color": '#666',
"position": 'absolute',
"right": '10px',
"top": '0px',
"fontSize": '25px',
"color": '#FFF',
"display":"inline-block",
"cursor":"pointer"
})
// 将关闭按钮放在中间小div中
this.title.appendChild(this.closeBtn)
this.closeBtn.onclick = () => this.close()
}
// 弹出提示框
dialog(param) {
this.middleBox(param);
this.dialogContent = document.createElement('div')
this.setStyle(this.dialogContent,{
"padding":"15px",
"max-height":"400px"
})
this.dialogContent.innerHTML = param.content;
this.content.appendChild(this.dialogContent)
param.onContentReady(this);
}
close() {
document.body.removeChild(this.mask)
window.location.reload();
}
setStyle(ele, styleObj) { // 设置样式的函数
for(let attr in styleObj){
ele.style[attr] = styleObj[attr]
}
}
}
let popup = null;
return (function() {
if(!popup) {
popup = new Popup()
}
return popup;
})()
})();
//全局统一方法对象
const commonFunctionObject = new CommonFunction();
commonFunctionObject.addCommonHtmlCss(); //统一html、css元素添加
let functionController = null;
//相关功能关闭控制
functionController = commonFunctionObject.GMgetValue("setingData");
if(!functionController){
functionController={
"bilibiliHelper":true,"superVideoHelper":true,
"abroadVideoHelper":true,
"searchEnginesNavigation":true,"zhihuHelper":true,
"shortVideoDownload":true
}
}
//用户功能设置函数
function usersSeting(){
var bilibiliHelper=true, superVideoHelper=true, abroadVideoHelper=true,
searchEnginesNavigation=true, zhihuHelper=true, shortVideoDownload=true;
var isUpdateStorage = false;
if(!functionController.hasOwnProperty("bilibiliHelper")){
functionController.bilibiliHelper = true;
isUpdateStorage = true;
}else{
bilibiliHelper = functionController.bilibiliHelper;
}
if(!functionController.hasOwnProperty("superVideoHelper")){
functionController.superVideoHelper = true;
isUpdateStorage = true;
}else{
superVideoHelper = functionController.superVideoHelper;
}
if(!functionController.hasOwnProperty("abroadVideoHelper")){
functionController.abroadVideoHelper = true;
isUpdateStorage = true;
}else{
abroadVideoHelper = functionController.abroadVideoHelper;
}
if(!functionController.hasOwnProperty("searchEnginesNavigation")){
functionController.searchEnginesNavigation = true;
isUpdateStorage = true;
}else{
searchEnginesNavigation = functionController.searchEnginesNavigation;
}
if(!functionController.hasOwnProperty("zhihuHelper")){
functionController.zhihuHelper = true;
isUpdateStorage = true;
}else{
zhihuHelper = functionController.zhihuHelper;
}
if(!functionController.hasOwnProperty("shortVideoDownload")){
functionController.shortVideoDownload = true;
isUpdateStorage = true;
}else{
shortVideoDownload = functionController.shortVideoDownload;
}
if(isUpdateStorage){
commonFunctionObject.GMsetValue("setingData",functionController);
}
var setingData=[
{"tag":"bilibiliHelper", "name":"B站使用加强(视频下载支持批量、浏览记录、一键三连)", "checked":bilibiliHelper},
{"tag":"zhihuHelper", "name":"知乎使用加强(内容标识、问答显示优化、视频下载等)", "checked":zhihuHelper},
{"tag":"superVideoHelper", "name":"全网VIP视频解析(支持爱奇艺、腾讯视频、B站番剧等)", "checked":superVideoHelper},
{"tag":"searchEnginesNavigation", "name":"搜索引擎使用加强(适配百度、360、搜狗、必应、Google等)", "checked":searchEnginesNavigation},
{"tag":"shortVideoDownload", "name":"短视频去水印下载(支持抖音、快手等)", "checked":shortVideoDownload},
{"tag":"abroadVideoHelper", "name":"国外视频解析下载(支持油管、Facebook等)", "checked":abroadVideoHelper}
]
var content = "";
for(var i=0; i<setingData.length;i++){
var one = setingData[i];
content += `
<div style="padding: 5px 0px;">
<input style="display:inline-block;width: 15px;height: 15px;display: inline-block;vertical-align: middle; -webkit-appearance:checkbox;margin-bottom: 3px;cursor: pointer;" name="Checkbox" type="checkbox" data-tag="`+one.tag+`" `+(one.checked ? "checked" : "")+`>
<label style="display:inline-block;font-size: 14px;margin:3px 0;vertical-align: middle;font-weight:500;color:#000;">`+one.name+`</label>
</div>
`
}
popup.dialog({
"title":"功能开关",
"content":content,
"onContentReady":function($that){
$that.dialogContent.querySelectorAll("input[type='checkbox']").forEach(function(checkbox){
checkbox.addEventListener("click", function(e){
var tag = e.target.getAttribute("data-tag");
var checked = e.target.checked;
functionController[tag] = checked;
commonFunctionObject.GMsetValue("setingData",functionController);
commonFunctionObject.webToast({"message":"操作成功", "background":"#FF4D40"});
});
})
}
});
}
// 菜单按钮弹框
if(commonFunctionObject.isPC()){
GM_registerMenuCommand("功能开关",()=>usersSeting());
}else{
functionController.bilibiliHelper = false;
functionController.abroadVideoHelper = false;
functionController.searchEnginesNavigation = false;
functionController.zhihuHelper = false;
}
/**
* 超级解析助手功能
*/
//VIP视频解析接口可自定义;请严格按照格式添加
//showType=1(仅PC), showType=2(仅mobile), showType=3(同时显示)
const originalInterfaceList = [
];
function SuperVideoHelper(originalInterfaceList){
this.originalInterfaceList = originalInterfaceList;
this.elementId = Math.ceil(Math.random()*100000000)+"mmx";
this.customInterfaceKey = "custom_interface_key_dddsdxxa";
this.quicklyInterfaceKey = "custom_quickly_interface_key_dddsdxxa";
this.defaultQuicklyInterfaceIndex = 1;
this.isRun = function(){ //判断是否运行
const host = window.location.host;
const urls = ["www.iqiyi.com","v.qq.com","youku.com", "www.le.com","mgtv.com","sohu.com", "acfun.cn","bilibili.com",
"baofeng.com","pptv.com","1905.com","miguvideo.com","sports.iqiyi.com"];
var result = false;
if(!host.startsWith("m.")){ //不是移动端执行
for(var i=0; i<urls.length;i++){ //不是B站直接判断
if(window.location.host.indexOf("bilibili.com")==-1){
if(window.location.host.indexOf(urls[i])!=-1){
result = true;
break;
}
}else{
if(window.location.href.indexOf("www.bilibili.com/bangumi/play")!=-1){ //是B站只有番剧才开启VIP解析
result = true;
break;
}
}
}
}
return result;
};
this.showPlayerWindow = function(playObject){ //显示播放窗口
var url = playObject.url + window.location.href;
commonFunctionObject.GMopenInTab(url);
};
this.analysisCustomInterface = function(){ //自定义接口解析
var customInterface = commonFunctionObject.GMgetValue(this.customInterfaceKey,"");
if(!!customInterface){
try{
var customizeInterfaceList = new Array();
var analysisArray = customInterface.split("\n");
for(var i=0;i<analysisArray.length;i++){
var onePiece = analysisArray[i];
if(!!onePiece && onePiece.indexOf(",")!=-1){
var onePieceArray = onePiece.split(",");
if(onePieceArray.length==2 && !!onePieceArray[0] && /(http|https):\/\/\S*/.test(onePieceArray[1])){
customizeInterfaceList.push({"name":""+onePieceArray[0]+"","url":""+onePieceArray[1]+"", "showType":1});
}
}
}
this.originalInterfaceList = customizeInterfaceList.concat(this.originalInterfaceList);
}catch(e){}
}
};
this.getQuicklyInterfaceIndex = function(){
var quicklyInterfaceIndexString = commonFunctionObject.GMgetValue(this.quicklyInterfaceKey,"")+"";
var quicklyInterfaceIndex = this.defaultQuicklyInterfaceIndex;
if(!!quicklyInterfaceIndexString){
quicklyInterfaceIndex = parseInt(quicklyInterfaceIndexString);
}
if(this.originalInterfaceList.length-1<quicklyInterfaceIndex){
quicklyInterfaceIndex = this.defaultQuicklyInterfaceIndex;
}
return quicklyInterfaceIndex;
};
this.addHtmlElements = function(){ //添加HTML
const vipVideoImageBase64 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAC9klEQVRoQ+2ZPWgVQRDH/7/CWqOIYOFHFbRSjJhGMGDpByoIago70cqvUtQgdipWFqawMWghGIidhcHKQAJqEURBRfED1CCCjc3IPu4em31775J7d3m8cAtX3O7szP7nPzszx6EeH/T4+VUD6DaDTQbMbE+3D7MY+8Ckkw8BPFuMki7KDtUAuuh9Z3oZMtBljxY2X9eBwq4raWPNQEmOLKxm+TBgZqsknQ1dAVzNco+ZhWsm6ZakHZLC1mQyrZ5OX2RvzMxnSa8lzQJ/YwLzGDCze5JOeoI/gbVtAMxJ6vPW7wKnkr4qbEuaxccDcGWBsfNV0mjMmSGAg5LGA6XbgFehITPbLel5MN84ZAUAUjMPgWO+zZY7YGbvJW0OvRoB8EjSEW9+BhhIvOvCp0wGfPPbgZfpRAzATUnn56GEmJyLd39cBNxeF99FADTa42BskuQef4wDh9oB2CXpRbDpMPA4nTOz05LuBDLrgW+dAACGIkxfkHTDm/8DrMwEkBxgOskkqdwEcMAD4GLf3YF0PACOe+uFGMgA4Bj4EAAbAGbcXLQOmNklSdeCTRuBT2bWL+lNsLYfeFIRgH2SJgJ7GwCXYjMBrJb0K9jUiHEzG5F02VubA9b4skXvQMiAmW2VdFSSn24/As0kk1mJzeyppL3ewaaBnWY2K2mLNz8S5ueCAMLwz3q/DZxreweSe3BC0v1Ai7tkYXrsB96WwMBCAfQBv3MBJCD+SVrhaXaZ54z3PgUMhpYrZKCF7bbNnJk5BhwT6fghyW8thoGxigE4my6tXwemQlt5AGI1oamDSIFLmCuURiW5BOGPL8C7drGV206b2XdJ6yJKxoDhmPKCIeS61ZZClncxFgLAtcyxrnEwRmknDFQFIFYTWnJ/CVmoGgYSj7Z81OR86Lg7sOgPmnY6s0IpN4TyYrDb6zWAmoEOPVCHUIcO7Hh7/YemYxcWU7AMf3BkNGDF/FP9rkwGqjddkoWWv5Ql6V1yNXUdWHKXBwZ7noH/dP+HQNqheToAAAAASUVORK5CYII=";
const quicklyBase64 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAv1JREFUWEfFl02IVWUYx39/EDdKoCiCGYquxNw404QL+wA/wIUfA5luMotk0jGoiDQFv1oMqCCOFkYQtopczKxMGsUUF2bNKsWFKBroJtLI2qjwl+dy7uV47jnnnntnygcOF97nfd7/777nfZ7nPeIZm8Zb3/ZsYBEwE5gFzAGmAX8lz9/AA0l7QnvcAGwvBd4E1gOTK/yxvQExZgDbbwHvAq9UEE1POSzpwzEB2D4KbG1TuD79G0nvdAxg+2egp0PxCBuS1NsRgG2PQbgeelbS0rYBbJ8DXisAuAdcB2Ykp7+M8ztJGyoD2H4J+AxYU7DqoKQP6j7b24AjJQQDknaUAtieDvQmz/KSxUYkNfltx07FjuVZv6RjhQC21wIHgHkV3vc2SZERTWb7d+CFHFevpKFcANvvA19UEK5PWSnphwKAS8DLGd8/wIuSbjcB2I4SubsN8Zj6iaSDBQB/AlMzvq8lvRdjTwEk5XSkTfHadEl5fyYOYRzGrC2TdOYpANvdwC+diKditgNXkxRcBSzLWe+CpFfr4w1q21eABZmAx8DFkrzvhHejpG/zAPqSbhaCtUfSv7YHgE87UcqJOSapPz1eqRDZ/h54Y4wQlyVls6H6fcD2r0BXpxB5h7QpC1otbjtq/ZRW8zL+nyS9XhTTqhR3SRpNB9u+k1y3qnAMS4qKWmhFlXAlsC/Z8lvAifodLlayPQysrkDQI6k0tfOKx0TgGjA3I7BO0sn6mO1DwEclED9KWtEKMg/gOLA5J/CupOczryN2aUlBneiTFGuVWrYUR6pFyhVZd86ZeARMyATcABZL+qMygO043eeBhQVBo5KiXDfM9iQgOlvWaq22lXj406X4c2BnQdDNaCqSTmUA4h2fzsRskfRlFfEGgO35QPTt53ICv0rEH2Z9tvcDu1LjtY+NquJpgLh8xCUkbb8B+9MnPwcgfUFttNhOANILxbfbIHBI0v2yxWx/DGwC3pYUpbptq52B5BYUPTryP2638fu/WKVu+F+SPAG7l/wh4NsJOQAAAABJRU5ErkJggg==";
const currentHost = window.location.host;
const quicklyInterfaceIndex = this.getQuicklyInterfaceIndex();
var currentQuicklyInterfaceObject = null;
var category_1_html = "";
this.originalInterfaceList.forEach((item, index) => {
if(item.showType != 2){
var selected = ""
if(index==quicklyInterfaceIndex){
selected = "selected";
currentQuicklyInterfaceObject = item;
}
category_1_html += "<span title='"+item.name+"' data-index='"+index+"' class='"+selected+"'>" + item.name + "</span>";
}
});
//获得自定义位置
var left = 0;
var top = 120;
var Position = commonFunctionObject.GMgetValue("Position_" + currentHost);
if(!!Position){
left = Position.left;
top = Position.top;
}
var color = "#FF4D40";
var hoverColor = "#000000";
if(currentHost.indexOf("bilibili.com")!=-1){ //自定义主题
color = "#fb7299";
hoverColor = "#00B0E1";
}
var cssMould = `#vip_movie_box`+this.elementId+`{cursor:pointer; position:fixed; top:` + top + `px; left:` + left + `px; width:0px; z-index:99999999; font-size:16px; text-align:left;}
#vip_movie_box`+this.elementId+` .img_box`+this.elementId+`{width:24px; height:32px;line-height:32px;text-align:center;background-color:`+color+`;}
#vip_movie_box`+this.elementId+` .img_box`+this.elementId+`:hover{
background: linear-gradient(30deg, #2a66ff 40%, `+color+`);
}
#vip_movie_box`+this.elementId+` .img_box`+this.elementId+`>img {width:20px; display:inline-block; vertical-align:middle;}
#vip_movie_box`+this.elementId+` .showhide_box`+this.elementId+`{display:none;padding-left:5px;position: absolute;left: 24px;top: 0;}
#vip_movie_box`+this.elementId+` .vip_mod_box_action_687ii{width:380px; max-height:400px; overflow-y:auto;background-color:rgba(241,241,241);}
#vip_movie_box`+this.elementId+` .default-scrollbar-55678::-webkit-scrollbar{width:5px; height:1px;}
#vip_movie_box`+this.elementId+` .default-scrollbar-55678::-webkit-scrollbar-thumb{box-shadow:inset 0 0 5px rgba(0, 0, 0, 0.2); background:#A8A8A8;}
#vip_movie_box`+this.elementId+` .default-scrollbar-55678::-webkit-scrollbar-track{box-shadow:inset 0 0 5px rgba(0, 0, 0, 0.2); background:#F1F1F1;}
#vip_movie_box`+this.elementId+` .vip_mod_box_action_687ii> .item_box`+this.elementId+`{margin-bottom:10px;}
#vip_movie_box`+this.elementId+` .vip_mod_box_action_687ii> .item_box`+this.elementId+`:last-child{margin-bottom:0px;}
#vip_movie_box`+this.elementId+` .vip_mod_box_action_687ii> .item_box`+this.elementId+` >.title`+this.elementId+`{font-size:14px; text-align:left;color:#000000;font-weight:600;margin:5px 3px;}
#vip_movie_box`+this.elementId+` .vip_mod_box_action_687ii> .item_box`+this.elementId+` >.interface_box`+this.elementId+`{}
#vip_movie_box`+this.elementId+` .vip_mod_box_action_687ii> .item_box`+this.elementId+` >.interface_box`+this.elementId+`>span{border-radius:3px;border-top:3px solid `+color+`; border-bottom:3px solid `+color+`;display:inline-block;width:calc(25% - 6px);width:-moz-calc(25% - 6px);width: -webkit-calc(25% - 6px);height:20px;line-height:20px;background-color:`+color+`;color:#FFF;cursor:pointer;margin:3px;text-align:center;overflow:hidden;white-space: nowrap;text-overflow: ellipsis;-o-text-overflow:ellipsis;font-size:12px!important;box-sizing:content-box!important;}
#vip_movie_box`+this.elementId+` .vip_mod_box_action_687ii> .item_box`+this.elementId+` >.interface_box`+this.elementId+`>span:hover{border-top:3px solid `+hoverColor+`; border-bottom:3px solid `+hoverColor+`;}
#vip_movie_box`+this.elementId+` .vip_mod_box_action_687ii> .item_box`+this.elementId+` >.interface_box`+this.elementId+`>span.selected{border-top:3px solid `+hoverColor+`; border-bottom:3px solid `+hoverColor+`;}
#vip_movie_box`+this.elementId+` .vip_mod_box_action_687ii> .item_box`+this.elementId+` >.content`+this.elementId+`{font-size:12px;color:#000000;margin-left:3px;}
`
commonFunctionObject.GMaddStyle(cssMould);
//加入HTML
var htmlMould = `<div id='vip_movie_box`+this.elementId+`'>
<div class='plugin_inner_`+this.elementId+`'>
<div class="img_box`+this.elementId+`" id="img_box_jump_6667897iio"><img src='`+ vipVideoImageBase64 +`' title='选择解析线路'/></div>
<div class='showhide_box`+this.elementId+`'>
<div class='vip_mod_box_action_687ii default-scrollbar-55678'>
<div class='item_box`+this.elementId+`'>
<div class='title`+this.elementId+`'><b>接口添加</b></div>
<div class='content`+this.elementId+`'>
对现有接口不满意?可添加自定义接口哟~<span id="img_set_6667897iio" style="display:inline-block;border-radius:2px;margin-left:5px;padding:3px 5px;background-color:#CCC;cursor:pointer;">添加接口</span>
</div>
<div class='title`+this.elementId+`'>
<a style="font-size:13px;color:blue;" href="javascript:void(0);" target="_blank">接口请自行添加~</a>
</div>
</div>
<div class='item_box`+this.elementId+`' style='min-height:80px;border:1px dashed #000;'>
<div class='interface_box`+this.elementId+`'>
` + category_1_html + `
</div>
</div>
<div class='item_box`+this.elementId+`' style="padding:10px 0px;">
<div class='title`+this.elementId+`'><b>免责声明:</b></div>
<div class='content`+this.elementId+`'>
1、<b style='color:red;'>需要使用VIP视频解析的,请自行添加接口</b>,版权问题请联系相关解析接口所有者,脚本不承担相关责任!"<br>
2、为创造良好的创作氛围,请大家支持正版!<br>
3、脚本仅限个人学习交流,使用即已代表您已经充分了解相关问题,否则后果自负,特此声明!<br>
** <b>脚本源码托管地址(含解析接口、使用教程):<a href="https://github.com/huahuacatTX/greasyfork" target="_blank" style="padding:0px 5px;color:red;">点我查看</a></b>
</div>
</div>
</div>
</div>
</div>
<div class="img_box`+this.elementId+`" id="img_quickly_6667897iio"><img src='`+quicklyBase64+`' title='快速开始(当前所选接口:`+(currentQuicklyInterfaceObject==null ? '无' : currentQuicklyInterfaceObject.name)+`)'/></div>
</div>
`;
$("body").append(htmlMould);
};
this.runEvent = function(){ //事件运行
var that = this;
$("#vip_movie_box"+this.elementId+" >.plugin_inner_"+this.elementId).on("mouseover", () => {
$(".showhide_box"+this.elementId).show();
});
$("#vip_movie_box"+this.elementId+" >.plugin_inner_"+this.elementId).on("mouseout", () => {
$(".showhide_box"+this.elementId).hide();
});
$("body").on("click","#vip_movie_box"+this.elementId+" .vip_mod_box_action_687ii>.item_box"+this.elementId+">.interface_box"+this.elementId+">span",function(){
var index = parseInt($(this).attr("data-index"));
var playObject = that.originalInterfaceList[index];
that.showPlayerWindow(playObject);
$("#vip_movie_box"+that.elementId+" .vip_mod_box_action_687ii> .item_box"+that.elementId+">.interface_box"+that.elementId+">span").removeClass("selected");
$(this).addClass("selected");
commonFunctionObject.GMsetValue(that.quicklyInterfaceKey, index);
$("#img_quickly_6667897iio").find("img").attr("title","快速开始(当前所选接口:"+playObject.name+")");
});
//点击弹出设置框
$("#img_set_6667897iio").on("click", function(){
that.showSetingDialog();
});
$("#img_quickly_6667897iio").on("click", function(){
const quicklyInterfaceIndex = that.getQuicklyInterfaceIndex();
var playObject = that.originalInterfaceList[quicklyInterfaceIndex];
that.showPlayerWindow(playObject);
});
//右键移动位置
var movie_box = $("#vip_movie_box"+this.elementId);
movie_box.mousedown(function(e) {
if (e.which == 3) {
e.preventDefault()
movie_box.css("cursor", "move");
var positionDiv = $(this).offset();
var distenceX = e.pageX - positionDiv.left;
var distenceY = e.pageY - positionDiv.top;
$(document).mousemove(function(e) {
var x = e.pageX - distenceX;
var y = e.pageY - distenceY;
var windowWidth = $(window).width();
var windowHeight = $(window).height();
if (x < 0) {
x = 0;
} else if (x > windowWidth- movie_box.outerWidth(true) - 100) {
x = windowWidth - movie_box.outerWidth(true) - 100;
}
if (y < 0) {
y = 0;
} else if (y > windowHeight - movie_box.outerHeight(true)) {
y = windowHeight - movie_box.outerHeight(true);
}
movie_box.css("left", x);
movie_box.css("top", y);
commonFunctionObject.GMsetValue("Position_" + window.location.host,{ "left":x, "top":y});
});
$(document).mouseup(function() {
$(document).off('mousemove');
movie_box.css("cursor", "pointer");
});
$(document).contextmenu(function(e) {
e.preventDefault();
})
}
});
};
this.removeVideoAdBlock_iqiyi = function(){
},
this.removeVideoAdBlock_vqq = function(){
},
this.removeVideoAdBlock_youku = function(){
},
this.removeVideoAdBlock_mgtv = function(){
},
this.removeVideoAdBlock_sohu = function(){
},
this.removeVideoAdBlock = function(){
const currentHost = window.location.host;
if(currentHost.indexOf("www.iqiyi.com")!=-1){
this.removeVideoAdBlock_iqiyi();
}else if(currentHost.indexOf("v.qq.com")!=-1){
this.removeVideoAdBlock_vqq();
}else if(currentHost.indexOf("v.youku.com")!=-1){
this.removeVideoAdBlock_youku();
}else if(currentHost.indexOf("www.mgtv.com")!=-1){
this.removeVideoAdBlock_mgtv();
}else if(currentHost.indexOf("tv.sohu.com")!=-1){
this.removeVideoAdBlock_sohu();
}
};
this.showSetingDialog = function(){
const that = this;
var customInterfaceKey = that.customInterfaceKey;
var customInterface = commonFunctionObject.GMgetValue(customInterfaceKey, "");
var content = `
<div>
<div style="font-size:14px;font-weight:700;color:#000;">自定义解析接口</div>
<div style="font-size:13px;color:red;">
数据格式:[名字] + [,] + [接口地址]<br>
例如:就是名字而已,https://xxxxxx?url=<br>
注:一行一个
</div>
<div style="margin-top:5px;height:200px;width:100%;">
<textarea
placeholder="请严格按照格式填写,否则不生效"
class="custom-interface-textarea"
style="color:#000;font-size:14px;box-sizing: border-box;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;padding:5px;height:100%;width:100%;Overflow:auto;border:1px solid #ccc;resize:none;background-color:#FFF;outline:none;">`+customInterface+`</textarea>
</div>
<div style="text-align:center;margin-top:15px;">
<button class="save-custom-interface-btn" style="color:#000;cursor:pointer;">保存自定义接口</button>
</div>
</div>
`;
popup.dialog({
"title":"解析接口添加",
"content":content,
"onContentReady":function($that){
var $saveCustomInterfaceBtn = $that.dialogContent.querySelector(".save-custom-interface-btn");
$saveCustomInterfaceBtn.addEventListener("click", function(){
var $customInterfaceTextarea = $that.dialogContent.querySelector(".custom-interface-textarea");
var content = $customInterfaceTextarea.value;
commonFunctionObject.GMsetValue(customInterfaceKey, content);
commonFunctionObject.webToast({"message":"自定义接口保存成功", "background":"#FF4D40"});
});
}
})
}
this.start = function(){
let delayTimeMs = 0;
if(window.location.host.indexOf("www.bilibili.com")!=-1){
delayTimeMs = 2200;
}
setTimeout(()=>{
try{
this.removeVideoAdBlock();
}catch(e){}
try{
this.analysisCustomInterface();
this.addHtmlElements();
this.runEvent();
}catch(e){}
}, delayTimeMs);
};
};
/**
* 移动端VIP解析
* @param {Object} originalInterfaceList
*/
function SuperVideoHelperMobile(originalInterfaceList){
this.originalInterfaceList = originalInterfaceList;
this.elementId = Math.ceil(Math.random()*100000000)+"mmx";
this.quicklyInterfaceKey = "custom_mobile_quickly_interface_key_dddsdxxa";
this.defaultQuicklyInterfaceIndex = 2;
this.playerNodes=[
{"url":"m.iqiyi.com", "showNode":".m-video-player-wrap", "color":"#05B03B"},
{"url":"m.v.qq.com", "showNode":".mod_player", "color":"#F99D39"},
{"url":"m.youku.com", "showNode":".h5-detail-player", "color":"#08BAFD"},
{"url":"m.mgtv.com", "showNode":".video-area", "color":"#E95904"}
];
this.isRun = function(){ //判断是否运行
const host = window.location.host;
const urls = ["m.iqiyi.com","m.v.qq.com","m.youku.com", "m.mgtv.com", "m.bilibili.com"];
var result = false;
if(host.startsWith("m.")){ //是移动端执行
for(var i=0; i<urls.length; i++){
if(host.indexOf(urls[i]) != -1){
result = true;
break;
}
}
}
return result;
};
this.getwindowElement = function(){
var nodeObject = null;
for(var i in this.playerNodes) { //获得窗口ID
if (this.playerNodes[i].url == window.location.host) {
nodeObject = this.playerNodes[i];
break;
}
}
return nodeObject;
};
this.getQuicklyInterfaceIndex = function(){
var quicklyInterfaceIndexString = commonFunctionObject.GMgetValue(this.quicklyInterfaceKey,"")+"";
var quicklyInterfaceIndex = this.defaultQuicklyInterfaceIndex;
if(!!quicklyInterfaceIndexString){
quicklyInterfaceIndex = parseInt(quicklyInterfaceIndexString);
}
if(this.originalInterfaceList.length-1<quicklyInterfaceIndex){
quicklyInterfaceIndex = this.defaultQuicklyInterfaceIndex;
}
return quicklyInterfaceIndex;
};
this.addHtmlElements = function(){
let nodeObject = this.getwindowElement();
const quicklyInterfaceIndex = this.getQuicklyInterfaceIndex();
if(!nodeObject) return;
return new Promise((resolve, reject)=>{
const elementInterval = setInterval(()=>{
const nodeElementObject = $(nodeObject.showNode), themeColor = nodeObject.color;
if(nodeElementObject.length == 0) return;
clearInterval(elementInterval);
//添加HTML
let category_1_html = "";
this.originalInterfaceList.forEach((item, index) => {
if (item.showType != 1) {
var selected = "";
if(index==quicklyInterfaceIndex){
selected = "selected";
}
category_1_html += "<option value='"+item.url+"' index='"+index+"' "+selected+">"+item.name+"</option>";
}
});
var htmlMould = `
<div style="margin:15px 15px 50px 15px;padding:10px;background-color:`+themeColor+`;border-radius:4px;cursor:pointer;z-index: 999999999999999999999;color:#FFF;">
<div style="font-weight:700;font-size:14px;text-align:center;">
<span>选择解析接口</span>
<select id="interface_selection_`+this.elementId+`" style="background-color:#FFF;padding: 0px 10px;">
`+category_1_html+`
</select>
</div>
<div style="text-align:center;">
<a href="javascript:void(0);" id="start_analysis_outer_`+this.elementId+`" style="box-sizing:border-box;margin:10px 0px;display:inline-block;padding:10px 0px;width:100%;border-radius:4px;color:#FFF;background-color:#F2503F;font-size:14px;">站外解析</a>
</div>
<div style="text-align:left;font-size:10px;">
<div>
免责申明:1、VIP视频解析中所用到的解析接口全部收集自互联网(源码可见),版权问题请联系相关解析接口所有者!
2、为创造良好的创作氛围,请大家支持正版!
3、脚本仅限个人学习交流,切勿用于任何商业等其它用途!
4、继续使用,即表明你已经明确使用脚本可能带来的风险,且愿意自行承担相关风险,对于风险脚本不承担任何责任!
** <b>脚本源码托管地址(含解析接口、使用教程):<a href="https://github.com/huahuacatTX/greasyfork" target="_blank" style="padding:0px 5px;color:red;">点我查看</a></b>
</div>
</div>
</div>
`;
nodeElementObject.after(htmlMould);
resolve("ok");
}, 100);
});
};
this.getPlayObjectBySelect = function(){
var indexString = $("#interface_selection_"+this.elementId).find("option:selected").attr("index");
var index = 0;
if(!!indexString){
index = parseInt(indexString);
}
return this.originalInterfaceList[index];
};
this.runEvent = function(){ //事件运行
const self = this;
//初始化
var playObject = self.getPlayObjectBySelect();
$('#start_analysis_outer_'+self.elementId).attr("href", playObject.url + window.location.href);
$('#start_analysis_outer_'+self.elementId).on('click', function (e) {
if(commonFunctionObject.GMgetValue("copyright_video_remind_mobile_outer",null)==="true"){
}else{
var r=confirm(
"脚本运行提醒!!!\u000d"+
"使用站外解析功能,视频解析时脚本跳出本页面,如不同意此脚本行为,请点击【取消】按钮!!"
);
if(r==false){
e.preventDefault();
}else{
commonFunctionObject.GMsetValue("copyright_video_remind_mobile_outer","true");
}
}
});
//接口切换
$('#interface_selection_'+self.elementId).on('change', function () {
var $option = $(this).find("option:selected");
var value = $option.val();
var index = parseInt($option.attr("index"));
$('#start_analysis_outer_'+self.elementId).attr("href", value+window.location.href);
commonFunctionObject.GMsetValue(self.quicklyInterfaceKey, index);
});
};
this.start = function(){
const self = this;
if(this.isRun()){
this.addHtmlElements().then(()=>{
self.runEvent();
});
}
}
}
try{
let newOriginalInterfaceList = originalInterfaceList;
if(!functionController || functionController.superVideoHelper){
const superVideoHelperObject = new SuperVideoHelper(newOriginalInterfaceList);
if(superVideoHelperObject.isRun()){
if(commonFunctionObject.GMgetValue("copyright_video_remind",null)==="true"){
superVideoHelperObject.start();
}else{
var r=confirm(
"脚本运行提醒!!!\u000d"+
"1、VIP视频解析中所用到的解析接口全部收集自互联网(源码可见),版权问题请联系相关解析接口所有者!\u000d"+
"2、为创造良好的创作氛围,请大家支持正版!\u000d"+
"3、脚本仅限个人学习交流,切勿用于任何商业等其它用途!\u000d"+
"4、继续使用,即表明你已经明确使用脚本可能带来的风险,且愿意自行承担相关风险,对于风险脚本不承担任何责任!\u000d"+
"5、此提醒只弹出一次,确认后,后续将不在弹出,请知悉!"
);
if(r==true){
commonFunctionObject.GMsetValue("copyright_video_remind","true");
superVideoHelperObject.start();
}
}
}
(new SuperVideoHelperMobile(newOriginalInterfaceList)).start();
}
}catch(e){
console.log("全网VIP解析:error:"+e);
}
/**
* B站相关功能:视频多P下载,一键三联,浏览记录等
*/
function BilibiliHelper(){
this.isRun = function(){
return window.location.host.indexOf("bilibili.com") != -1
}
this.baseFunction = function(){
/**
* b站基本功能,一件三连、视频解析、视频下载
*/
function baseFunctionObject(){
this.elementId = Math.ceil(Math.random()*100000000)+"mmx";
this.downloadSettingKey = "download_setting_key";
this.downloadResutError=function(btnElement){
btnElement.text("下载视频");
btnElement.removeAttr("disabled");
};
this.downloadResutSuccess=function(btnElement){
btnElement.text("下载视频");
btnElement.removeAttr("disabled");
};
this.getDownloadPages = function(){
return new Promise(function(resolve, reject) {
var pathname = window.location.pathname, bv = null;
if (pathname.indexOf("/medialist/play/watchlater/") != -1) { // 在下载视频的时候针对稍后再看页面的链接找BV号
bv = pathname.replace("/medialist/play/watchlater/","").replace("/","");
}else{
bv = pathname.replace("/video/","").replace("/","");
}
if(!bv){
resolve({"status":"bv_null"});
return;
}
//bv转av
commonFunctionObject.request("get", "https://api.bilibili.com/x/web-interface/view?bvid="+bv, null).then((resultData)=>{
let dataJson = JSON.parse(resultData.data);
if(!dataJson || dataJson.code!==0 || !dataJson.data){
resolve({"status":"request_error"});
return;
}
let data = dataJson.data;
if(!data){
resolve({"status":"aid_null"});
return;
}
let aid = data.aid;
let pic = data.pic;
let title = data.title
if(!aid){
resolve({"status":"aid_null"});
return;
}
//获取cid
commonFunctionObject.request("get", "https://api.bilibili.com/x/web-interface/view?aid="+aid, null).then((resultData2)=>{
let dataJson2 = JSON.parse(resultData2.data);
if(!dataJson2 || dataJson2.code!==0 || !dataJson2.data){
resolve({"status":"request_error"});
return;
}
const downloadData = dataJson2.data;
const {aid, bvid} = downloadData,
items = new Array();
//这是下载集合
if(downloadData.hasOwnProperty("ugc_season") && downloadData.ugc_season.hasOwnProperty("sections")){
let sections = downloadData.ugc_season.sections;
let page = 1;
for(var i=0; i<sections.length; i++){
let section = sections[i];
if(section.hasOwnProperty("episodes")){
for(var j=0; j<section.episodes.length; j++){
let episode = section.episodes[j];
items.push({
"cover":"",
"page":page,
"title":episode.title,
"cid":episode.cid,
"aid":episode.aid
});
page++;
}
}
}
}else{ //这是多P下载
for(var i=0; i<downloadData.pages.length; i++){
let pageData = downloadData.pages[i];
items.push({
"cover":pageData.first_frame,
"page":pageData.page,
"title":pageData.part,
"cid":pageData.cid,
"aid":aid
});
}
}
resolve({"status":"success", "downloadData":{
"items":items,
"pic":pic,
"title":title
}});
}).catch((errorData)=>{
resolve({"status":"request_error"});
});
}).catch((errorData)=>{
resolve({"status":"request_error"});
});
});
};
this.startDownloadFile = function(options){
let aid = options.aid, cid = options.cid, fileName = options.fileName,
savePath = options.savePath, RPCURL = options.RPCURL, RPCToken = options.RPCToken;
let isByPRC = options.isByPRC;
commonFunctionObject.request("get", "https://api.bilibili.com/x/player/playurl?avid="+aid+"&cid="+cid+"&qn=112", null).then((resultData3)=>{
if(!fileName){
fileName = (new Date()).getTime() + "";
}
fileName = fileName.replace(/[\ |\~|\`|\=|\||\\|\;|\:|\"|\'|\,|\.|\>|\/]/g,"");
fileName = fileName.substring(0,50); //可能有异常,标题最多50字符
fileName = fileName + ".mp4";
let dataJson3 = JSON.parse(resultData3.data);
if(!!dataJson3 && dataJson3.code===0 && !!dataJson3.data){
let downloadUrl = dataJson3.data.durl[0].url;
if(isByPRC){
commonFunctionObject.RPCDownloadFile(fileName, downloadUrl, savePath, RPCURL).then((data)=>{
commonFunctionObject.webToast({"message":data, "time":3000});
}).catch((data)=>{
commonFunctionObject.webToast({"message":data, "time":3000});
});
}else{
window.open(downloadUrl);
}
}else{
commonFunctionObject.webToast({"message":"获取下载链接失败", "background":"#FF4D40"});
}
}).catch((errorData)=>{
commonFunctionObject.webToast({"message":"获取下载链接失败", "background":"#FF4D40"});
});
};
this.createModals = function(){
var css = `
.modal-mask-`+this.elementId+`{
position:fixed;
top:0;
left:0;
z-index:999;
width:100%;
height:100%;
display:none;
background-color:#000;
opacity:0.3;
overflow:hidden;
}
.modal-body-`+this.elementId+`{
position:fixed;
border-radius:5px;
background-color: #FFFFFF;
top:10%;
width:600px;
max-width:90%;
max-height:80%;
z-index:1000;
left: 50%;
transform: translateX(-50%);
display:none;
padding: 10px;
overflow-y: auto;
}
.modal-body-`+this.elementId+` >.page-header{
height:30px;
line-height:30px;
position:relative;
}
.modal-body-`+this.elementId+` >.page-header >span{
display:inline-block;
}
.modal-body-`+this.elementId+` >.page-header >span:nth-child(1) {
font-size:18px;
font-weight:bold;
position:absolute;
left:10px;
}
.modal-body-`+this.elementId+` >.page-header >span:nth-child(2) {
font-size:28px;
font-weight:bold;
position:absolute;
right:10px;
cursor:pointer;
}
.modal-body-`+this.elementId+` >.page-container{
max-height: 500px;
overflow-y: auto;
}
.modal-body-`+this.elementId+` .page-wrap{
display: flex;
flex-wrap: wrap;
margin-top:5px;
}
.modal-body-`+this.elementId+` .page-wrap >.board-item{
display: block;
width: calc(50% - 10px);
background-color: #6A5F60;
margin: 5px;
background-color:#FB7299;
color:#FFFFFF;
cursor: pointer;
overflow:hidden;
white-space:nowrap;
text-overflow:ellipsis;
}
.modal-body-`+this.elementId+` .page-wrap >.board-item >input{
width: 14px;
height: 14px;
vertical-align: middle;
margin-right:5px;
}
.modal-body-`+this.elementId+` .page-wrap >.board-item >span{
vertical-align: middle;
}
.modal-body-`+this.elementId+` .modal-btn-wrap{
text-align: center;
margin-top: 10px;
cursor: pointer;
}
.modal-body-`+this.elementId+` .aria2-setting{
border:1px dashed #F1F1F1;
border-radius:4px;
margin-top:10px;
}
.modal-body-`+this.elementId+` .aria2-setting >.setting-item{
text-align: center;
font-size:14px;
margin:10px 0px;
}
.modal-body-`+this.elementId+` .aria2-setting >.setting-item .topic-name{
display:inline-block;
width:80px;
text-align:left;
}
.modal-body-`+this.elementId+` .aria2-setting >.setting-item> input{
width:300px;
padding-left:10px;
border:1px solid #888;
outline:none;
border-radius:3px;
}
.modal-body-`+this.elementId+` .modal-btn-wrap >span{
border:1px solid #ccc;
display:inline-block;
padding:3px 5px;
margin:0px 5px;
border-radius:3px;
}
.modal-body-`+this.elementId+` .tip-wrap{
margin-top: 10px;
font-size:12px;
}
.modal-body-`+this.elementId+` .tip-wrap >.title{
font-size:16px;
font-weight:bold;
}
.modal-body-`+this.elementId+` .tip-wrap >.content >ul >li{
margin-top:5px;
}
`;
var html = `
<div class='modal-mask-`+this.elementId+`'></div>
<div class='modal-body-`+this.elementId+`'>
<div class="page-header">
<span>视频下载(可批量)</span>
<span class="close">×</span>
</div>
<div class="page-container">
<label style="color:red;">注:此功能会调用bilibili的API,脚本仅用于个人交流,切勿用于商业用途,否则后果自负,特此申明!</label>
<div class="page-wrap">
</div>
<div class="aria2-setting">
<div class="setting-item">
<span><input type="radio" name="downloadWay" value="Motrix">Motrix下载</span>
<span><input type="radio" name="downloadWay" value="AriaNgGUI">AriaNgGUI下载</span>
</div>
<div class="setting-item">
<label class="topic-name">配置RPC:</label><input type="text" name="RPCURL" value="" placeholder="请准确输入RPC对应软件的地址,默认:Motrix">
</div>
<div class="setting-item">
<label class="topic-name">配置Token:</label><input type="text" name="RPCToken" value="" placeholder="默认无需填写">
</div>
<div class="setting-item">
<label class="topic-name">保存路径:</label><input type="text" name="savePath" value="" placeholder="请准确输入文件保存路径">
<div style="font-size:12px;color:#888;">最好自定义下载地址,默认地址可能不满足需要</div>
</div>
</div>
<div class="modal-btn-wrap">
<span name="selectall">全选</span>
<span name="removeSelect">取消选择</span>
<span name="downloadAll">批量下载</span>
</div>
<div class="tip-wrap">
<div class="title">关于单P下载:</div>
<div class="content"><span>点击弹框单个选集,即可下载单集视频!PS:单P下载,推荐大家使用BBDown下载,此工具功能很强大,具体查看:<a target="_blank" href="https://github.com/nilaoda/BBDown">https://github.com/nilaoda/BBDown</a></span></div>
</div>
<div class="tip-wrap">
<div class="title">关于批量下载:</div>
<div class="content">
<ul>
<li>
<b>1、批量下载需要第三方软件的支持,脚本推荐使用:Motrix</b>
<ul>
<li>Motrix下载地址:<a href="https://motrix.app/zh-CN/" target="_blank">https://motrix.app/zh-CN/</a></li>
<li>AriaNgGUI下载地址:<a href="https://github.com/Xmader/aria-ng-gui" target="_blank">https://github.com/Xmader/aria-ng-gui</a></li>
</ul>
</li>
<li>
<b>2、在批量下载前需要提前打开软件,本教程以Motrix为准</b>
<ul>
<li>(1)、如果全部按照默认配置,只需要打开软件即可</li>
<li>(2)、如果想自定义RPC地址和文件保存路径,可更改上面输入框的内容(此数据非常重要,请准确填写)</li>
<li>
(3)、Motrix运行图片
<img src="https://pic.rmb.bdstatic.com/bjh/8912582c0416119405ec37ea27d12376.jpeg" width="100%" />
</li>
</ui>
</li>
<li>
<b>3、默认RPC默认地址</b>
<ul>
<li>(1)、Motrix RPC默认地址:ws://localhost:16800/jsonrpc</li>
<li>(2)、Aria2 RPC默认地址:ws://localhost:6800/jsonrpc</li>
<li>(3)点击“批量下载会自动保存当前下载设置”</li>
</ul>
</li>
<li>
<b>4、如使用AriaNgGUI,使用方式类似,大家可以自行研究</b>
</li>
</ul>
</div>
</div>
<div class="tip-wrap">
<div class="title">必要说明:</div>
<div class="content">
申明:本功能仅能作为学习交流使用,且不可用于其它用途,否则后果自负。请大家重视版权,尊重创作者,切勿搬运抄袭。请大家多用[一键三连]为创作者投币~,小破站牛掰!
</div>
</div>
</div>
</div>
`;
commonFunctionObject.GMaddStyle(css);
$("body").append(html);
};
this.hideModals = function(){
$(".modal-body-"+this.elementId+"").css('display','none');
$(".modal-mask-"+this.elementId+"").css('display','none');
};
this.showModals = function(pageHtml){
const self = this;
const downloadSettingKey = self.downloadSettingKey;
$(".modal-body-"+self.elementId+"").css('display','block');
$(".modal-mask-"+self.elementId+"").css('display','block');
$(".modal-body-"+self.elementId+" .page-wrap").html(pageHtml);
//初始化设置的数据
var savePath = "D:/";
if("macOS"===commonFunctionObject.getSystemOS()){
savePath = ""
}
const downloadSetting = commonFunctionObject.GMgetValue(this.downloadSettingKey,
{"RPCURL":"ws://localhost:16800/jsonrpc",
"savePath":savePath,
"RPCToken":'', "downloadWay":"Motrix"});
const isMotrix = downloadSetting.downloadWay=="Motrix";
$(".modal-body-"+self.elementId+" input[name='RPCURL']").val(downloadSetting.RPCURL);
$(".modal-body-"+self.elementId+" input[name='savePath']").val(downloadSetting.savePath);
$(".modal-body-"+self.elementId+" input[name='RPCToken']").val(downloadSetting.RPCToken);
$(".modal-body-"+self.elementId+" input[name='downloadWay']").removeAttr("checked");
if(isMotrix){
$(".modal-body-"+self.elementId+" input:radio[value='Motrix']").attr('checked','true');
}else{
$(".modal-body-"+self.elementId+" input:radio[value='AriaNgGUI']").attr('checked','true');
}
$(".modal-body-"+self.elementId+" .page-wrap >.board-item >span").off("click").on("click", function(){
$(this).css("background-color","#ccc");
let downloadOptions={
"aid":$(this).data("aid"),
"cid":$(this).data("cid"),
"isByPRC":false
}
self.startDownloadFile(downloadOptions);
});
$(".modal-body-"+self.elementId+" .page-header >span.close").off("click").on("click", function(){
self.hideModals();
});
$(".modal-body-"+self.elementId+" .modal-btn-wrap >span[name='selectall']").off("click").on("click", function(){
$(".modal-body-"+self.elementId+" .page-wrap").find("input[type='checkbox']").each(function(){
$(this).prop('checked', true);
});
});
$(".modal-body-"+self.elementId+" input[name='downloadWay']").off("change").on("change", function(){
if($(this).val()=="Motrix"){
$(".modal-body-"+self.elementId+" input[name='RPCURL']").val("ws://localhost:16800/jsonrpc");
}else{
$(".modal-body-"+self.elementId+" input[name='RPCURL']").val("ws://localhost:6800/jsonrpc");
}
});
$(".modal-body-"+self.elementId+" .modal-btn-wrap >span[name='removeSelect']").off("click").on("click", function(){
$(".modal-body-"+self.elementId+" .page-wrap").find("input[type='checkbox']").each(function(){
$(this).prop('checked', false);
});
});
$(".modal-body-"+self.elementId+" .modal-btn-wrap >span[name='downloadAll']").off("click").on("click", function(){
let RPCURL = $(".modal-body-"+self.elementId+" input[name='RPCURL']").val();
let savePath = $(".modal-body-"+self.elementId+" input[name='savePath']").val();
let RPCToken = $(".modal-body-"+self.elementId+" input[name='RPCToken']").val();
let downloadWay = $(".modal-body-"+self.elementId+" input[name='downloadWay']:checked").val();
commonFunctionObject.GMsetValue(downloadSettingKey,{"RPCURL":RPCURL, "savePath":savePath,
"RPCToken":RPCToken, "downloadWay":downloadWay});
let inputElements = $(".modal-body-"+self.elementId+" .page-wrap input[type='checkbox']:checked");
if(inputElements.length == 0){
commonFunctionObject.webToast({"message":"至少需要选中1P", "background":"#FF4D40"});
return;
}
if(!savePath){
commonFunctionObject.webToast({"message":"保存路径不能为空", "background":"#FF4D40"});
return;
}
if(!RPCURL){
commonFunctionObject.webToast({"message":"PRC地址不能为空", "background":"#FF4D40"});
return;
}
RPCToken = !RPCToken ? "" : RPCToken;
let downloadOptions = {
"aid":"",
"cid":"",
"isByPRC":true,
"fileName":"",
"savePath":savePath,
"RPCURL":RPCURL,
"RPCToken":RPCToken
}
inputElements.each(function(){
setTimeout(()=>{
let aid=$(this).data("aid"), cid = $(this).data("cid"), fileName = $(this).attr("title");
downloadOptions.aid = aid;
downloadOptions.cid = cid;
downloadOptions.fileName = fileName;
self.startDownloadFile(downloadOptions);
}, 1000);
})
});
};
this.createElementHtml = async function(){
$("#bilibili_exti_9787fjfh12j").remove();
const randomNumber = this.elementId, self = this;
let cssText = `
#bilibili_exti_9787fjfh12j{
position:fixed;
left:-30px;
top:250px;
opacity:0.6;
transition: 0.3s;
}
#bilibili_exti_9787fjfh12j >.self_s_btn{
background-color:#FB7299;
color:#FFF;
font-size:10px;
border-radius:3px;
cursor:pointer;
margin:10px 0px;
width:60px;
height:20px;
text-align:center;
line-height:20px;
}
`;
let htmlText=`
<div id="bilibili_exti_9787fjfh12j">
<div class="self_s_btn" id="pro_s_`+randomNumber+`">Pro版本托管</div>
<div class="self_s_btn" id="download_s_`+randomNumber+`">下载视频</div>
<div class="self_s_btn" id="focus_s_`+randomNumber+`">一键三连</div>
</div>
`;
//添加下载等操作按钮
commonFunctionObject.GMaddStyle(cssText);
$("body").append(htmlText);
//创建弹框
this.createModals();
//移入移除操作
$("#bilibili_exti_9787fjfh12j").hover(function(){
$(this).css({
"left":"0px", "opacity":1
});
},function(){
$(this).css({
"left":(0-$(this).width())/2+"px", "opacity":0.6
});
});
//下载操作函数
$("body").on("click", "#download_s_"+randomNumber, function(){
const btnElement = $(this);
btnElement.attr("disabled", "disabled");
btnElement.text("准备中~");
//开始准备下载数据
self.getDownloadPages().then((resule)=>{
if(resule.status==="success"){
const {items, pic, title} = resule.downloadData;
let itemHtml = "";
itemHtml += "<div style='width:100%;'><a href='"+pic+"' target='_blank'>标题:"+title+"(点我跳转封面)</a></div>";
for(var i=0; i<items.length; i++){
var currentTitle = "【P"+items[i].page+"】"+items[i].title+"";
itemHtml += "<div class='board-item'>";
itemHtml += "<input data-aid='"+items[i].aid+"' data-cid='"+items[i].cid+"' title='"+currentTitle+"' type='checkbox'>"
itemHtml += "<span data-aid='"+items[i].aid+"' data-cid='"+items[i].cid+"' title='"+currentTitle+"'>"+currentTitle+"</span>";
itemHtml += "</div>";
}
self.showModals(itemHtml);
self.downloadResutSuccess(btnElement);
}else{
self.downloadResutError(btnElement);
}
}).catch((error)=>{
self.downloadResutError(btnElement);
});
});
$("body").on("click", "#focus_s_"+randomNumber, function(){
$("#arc_toolbar_report .video-like").click(); // 点赞
$("#arc_toolbar_report .video-coin").click(); // 投币
// $("#arc_toolbar_report .video-fav").click(); // 收藏
});
$("body").on("click","#pro_s_"+randomNumber, function(){
commonFunctionObject.GMopenInTab("https://github.com/huahuacatTX/greasyfork");
});
}
this.start = function(){
let locationHost = window.location.host, locationPathname = window.location.pathname;
if(locationHost==="www.bilibili.com" && (locationPathname.indexOf("/video")!=-1 || locationPathname.indexOf("/watchlater")!=-1)){
this.createElementHtml();
}
}
}
try{
(new baseFunctionObject()).start();
}catch(e){
console.log("baseFunctionObject new error", e);
}
};
/**
* 浏览历史记录提醒
*/
this.recordViewFunction = function(){
function recordViewObject(){
this.localCacheName = "bilibili_video_record";
this.recordOneVideo = function(){
let promise = new Promise((resolve, reject)=>{
let bv = commonFunctionObject.getBilibiliBV();
let cacheText = commonFunctionObject.GMgetValue(this.localCacheName);
cacheText = !cacheText ? "" : cacheText
let maxLength = 12*500;
let currentLength = cacheText.length;
if(currentLength > maxLength){
cacheText = cacheText.substring(12*100, currentLength);
}
if(cacheText.indexOf(bv)==-1){
cacheText += bv;
commonFunctionObject.GMsetValue(this.localCacheName, cacheText);
}
resolve({"result":"success"});
});
};
this.searchPageRemindHtml = function($ele, top=8, right=8){
if($ele.find("div[name='marklooked']").length==0){
$ele.css("position","relative");
$ele.append("<div name='marklooked' style='z-index: 100;position:absolute; top:"+top+"px; right:"+right+"px; background-color: rgba(251,123,159,1); border-radius:3px; font-size:10px; color:#FFF;padding:0px 2px;'>已看</div>");
}
};
this.searchPageRemind = function(){
let $that = this;
var elementArray = [
{"node":".bili-video-card", "top":8, "right":12}, //兼容 MAC M1搜索结果
{"node":"#page-index .small-item", "top":12, "right":12}, //用户投稿
{"node":"#submit-video-list .small-item", "top":12, "right":12}, //用户主页
{"node":"#page-series-detail .small-item.fakeDanmu-item", "top":12, "right":12}, //用户主页投稿
];
setInterval(function(){
let cacheText = commonFunctionObject.GMgetValue($that.localCacheName);
cacheText = !cacheText ? "" : cacheText;
for(var i=0; i<elementArray.length; i++){
var elementobj = elementArray[i];
$(elementobj.node).each(function(){
if($(this).attr("dealxll")!=="true"){
var videourl = $(this).find("a[href^='//www.bilibili.com/video']").attr("href");
if(!!videourl){
var bvs = videourl.match(/(\/BV(.*?)\/)/g)
if(bvs.length==1){
var bv = bvs[0].replace(/\//g,"");
if(cacheText.indexOf(bv) != -1){
$that.searchPageRemindHtml($(this), elementobj.top, elementobj.right);
}
$(this).unbind("click").bind("click", ()=>{ //循环操作,单独绑定
$that.searchPageRemindHtml($(this), elementobj.top, elementobj.right);
})
}
$(this).attr("dealxll","true");
}
}
});
}
}, 500);
}
this.start=function(){
let $that = this;
if(window.location.pathname.indexOf("/video")!=-1 && window.location.host==="www.bilibili.com"){
let currentHref = "";
setInterval(()=>{ //需要循环存储
if(window.location.href !== currentHref){
this.recordOneVideo();
currentHref = window.location.href;
}
}, 500);
}
//搜索结果和用户主页已经看过的视频提醒
if(window.location.host.indexOf("bilibili.com")!=-1){
this.searchPageRemind();
GM_registerMenuCommand("清空B站浏览记录",function(){
if(confirm('是否要清空B站浏览记录?清空后将不可恢复...')){
commonFunctionObject.GMsetValue($that.localCacheName, "");
}
});
}
};
}
try{
(new recordViewObject()).start();
}catch(e){
console.log("recordViewObject new error", e);
}
};
/**
* 视频描述文本转链接
*/
this.textToLinkFunction = function() {
function textToLinkObject(){
this.link = function(selector){
const current_href = window.location.href;
const textToLinkArea = document.querySelector(selector);
if(!textToLinkArea){
return;
}
findAndReplaceDOMText(textToLinkArea, {
find: /(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?/g,
replace: function (e, t) {
let text = e.text;
let element = null;
if(text.indexOf("bilibili.com")==-1 && /^(http|ftp|https)/i.test(text)){
element = document.createElement("a");
element.setAttribute("href", text)
element.setAttribute("target", "_blank");
element.style.color="#00AEEC";
}else{
element = document.createElement("span");
}
element.innerText = text;
return element;
},
preset: "prose"
});
}
this.start = function(){
const selector = "#v_desc";
this.link(selector);
const MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver
const bodyMutationObserver = new MutationObserver(()=>{
this.link(selector);
});
const element = document.querySelector(selector);
if(element){
bodyMutationObserver.observe(element,
{"characterData":true, "attributes":true, "childList":true},
);
}
}
}
try{
(new textToLinkObject()).start();
}catch(e){
console.log("textToLinkObject new error", e);
}
}
this.signIn = async function(){ //签到下线,2024年7月2日
}
this.start = function(){
if(this.isRun()){
this.baseFunction();
this.recordViewFunction();
this.textToLinkFunction();
this.signIn();
}
}
}
try{
if(!functionController || functionController.bilibiliHelper){
new BilibiliHelper().start();
}
}catch(e){
console.log("B站视频下载:error:"+e);
}
/**
* 知乎助手开始
*/
function ZhihuHelper(){
this.markArticleOrQuestion = function(){
var questionsCss = `
.AnswerItem .ContentItem-title a::before {
content: '问题';
color: #f68b83;
background-color: #f68b8333;
font-weight: bold;
font-size: 13px;
padding: 1px 4px 0px;
border-radius: 2px;
display: inline-block;
vertical-align: middle;
margin: 0px 4px 0px 0px;
}
.ArticleItem .ContentItem-title a::before {
content: '文章';
color: #0066FF;
background-color: #E5EFFF;
font-weight: bold;
font-size: 13px;
padding: 1px 4px 0;
border-radius: 2px;
display: inline-block;
vertical-align: middle;
margin: 0px 4px 0px 0px;
}
.ZvideoItem .ContentItem-title a::before {
content:'视频';
color: #00BCD4;
background-color: #00BCD433;
font-weight: bold;
font-size: 13px;
padding: 1px 4px 0;
border-radius: 2px;
display: inline-block;
vertical-align: middle;
margin: 0px 4px 0px 0px;
}
.TopstoryItem--advertCard{
text-decoration:line-through;
}
`;
commonFunctionObject.GMaddStyle(questionsCss);
}
this.autoJumpTarget = function(){
var regexResult = location.search.match(/target=(.+?)(&|$)/);
if(regexResult && regexResult.length==3){
location.href = decodeURIComponent(regexResult[1]);
}
};
// 为问题本身添加时间
this.addDateQuestion = function(){
var title = document.querySelector(".QuestionPage");
if(!!title){
var dateCreated = title.querySelector("[itemprop~=dateCreated][content]").content;
var dateModified = title.querySelector("[itemprop~=dateModified][content]").content;
var createDate = commonFunctionObject.DateFormat(new Date(dateCreated), "yyyy-MM-dd hh:mm:ss");
var editDate = commonFunctionObject.DateFormat(new Date(dateModified), "yyyy-MM-dd hh:mm:ss");
var side = title.querySelector(".QuestionHeader-side");
var timeDiv = document.createElement('div');
timeDiv.innerHTML = `<p>创建于: ${createDate}</p><p>编辑于: ${editDate}</p>`;
timeDiv.style.cssText = 'color:#6f6f6f;font-size:13px;';
side.appendChild(timeDiv);
}
};
// 为回答添加时间
this.addTimeAnswerItems = function(){
var list = document.querySelectorAll(".AnswerItem:not(div[zh_date_mk='true'])");
var item = null;
for (var i = 0; i < list.length; i++) {
item = list[i];
if (item.getAttribute('zh_date_mk') === 'true') {
continue;
}
item.setAttribute("zh_date_mk", "true");
try{
var dateCreated = item.querySelector("[itemprop~=dateCreated][content]").content;
var dateModified = item.querySelector("[itemprop~=dateModified][content]").content;
var createDate = commonFunctionObject.DateFormat(new Date(dateCreated), "yyyy-MM-dd hh:mm:ss");
var editDate = commonFunctionObject.DateFormat(new Date(dateModified), "yyyy-MM-dd hh:mm:ss");
var sideItem = item.querySelector(".ContentItem-meta");
var timeDiv = document.createElement('div');
timeDiv.innerHTML = `创建于: ${createDate} 修改于: ${editDate}`;
timeDiv.class = "Voters";
timeDiv.style.cssText = 'color:#6f6f6f;font-size:13px;display:block;padding:5px 0px;';
sideItem.appendChild(timeDiv);
}catch(e){}
}
return true;
};
// 提问者标识出来
this.showQuestionAuthor = function(){
//此处代码借鉴自 - 知乎增强
//原作者:X.I.U
//https://greasyfork.org/zh-CN/scripts/419081-%E7%9F%A5%E4%B9%8E%E5%A2%9E%E5%BC%BA
if (document.querySelector('.BrandQuestionSymbol, .QuestionAuthor')) return
let qJson = JSON.parse(document.querySelector('#js-initialData').textContent).initialState.entities.questions[/\d+/.exec(location.pathname)[0]].author,
html = `<div class="BrandQuestionSymbol"><a class="BrandQuestionSymbol-brandLink" href="/people/${qJson.urlToken}"><img role="presentation" src="${qJson.avatarUrl}" class="BrandQuestionSymbol-logo" alt=""><span class="BrandQuestionSymbol-name">${qJson.name}</span></a><div class="BrandQuestionSymbol-divider" style="margin-left: 5px;margin-right: 10px;"></div></div>`;
document.querySelector('.QuestionHeader-topics').insertAdjacentHTML('beforebegin', html);
};
this.startDealwithQuestion = function(){
let isMarkComplete = true;
setInterval(()=>{
if(isMarkComplete){
isMarkComplete = false;
isMarkComplete = this.addTimeAnswerItems();
}
}, 2500);
this.showQuestionAuthor();
this.addDateQuestion();
};
this.downloadVideo = function(){
let isMarkComplete = true;
function addDownloadButton(){
if(!isMarkComplete) return;
isMarkComplete = false;
var itemArray = document.querySelectorAll("._1tg8oir:not(span[zh_date_mk='true'])");
var item = null;
// console.log("知乎视频下载循坏监听次数:", itemArray.length);
for(var i=0; i<itemArray.length; i++){
item = itemArray[i];
if (item.getAttribute('zh_date_mk') === 'true') {
continue;
}
item.setAttribute("zh_date_mk", "true");
if(item.innerText != "倍速"){
continue;
}
var playButLi = item.parentNode.parentNode;
var downloadBut = playButLi.cloneNode(true)
if(!downloadBut.querySelector('._1tg8oir')) return;
// 删除其它元素
var downloadButChildren = downloadBut.children;
for(var j=0; j<downloadButChildren.length; j++){
if(downloadButChildren[j].nodeName !== "BUTTON"){
downloadBut.removeChild(downloadButChildren[j]);
}
}
downloadBut.setAttribute("zh_date_mk", "true");
downloadBut.querySelector('._1tg8oir').innerText='下载';
playButLi.before(downloadBut);
downloadBut.addEventListener("click",function(){
let href = window.location.href;
let findClassName = ".ZVideoItem-video"; // 首页
if(href.indexOf("www.zhihu.com/search")!=-1){ //搜索界面
findClassName = ".List-item";
}else if(href.indexOf("www.zhihu.com/zvideo/")!=-1){ //单独视频播放界面
findClassName = ".ZVideo-player";
}else if(href.indexOf("https://video.zhihu.com/video")!=-1){ //视频播放iframe
findClassName = "#player"
}
if(!findClassName) return;
let playUrl = $(item).parents(findClassName).find("video").attr("src");
if(!!playUrl){
commonFunctionObject.GMopenInTab(playUrl);
}
});
}
isMarkComplete = true;
}
setInterval(()=>{
addDownloadButton();
}, 1499);
};
this.start = function(){
const host = window.location.host;
const self = this;
if(host == "link.zhihu.com"){
this.autoJumpTarget();
}
if(host.indexOf("zhihu.com")!=-1){
this.markArticleOrQuestion();
if(window.location.href.indexOf("www.zhihu.com/question/")!=-1){
this.startDealwithQuestion();
}
//this.downloadVideo();
}
};
}
try{
if(!functionController || functionController.zhihuHelper){
(new ZhihuHelper()).start();
}
}catch(e){
console.log("知乎助手:error:"+e);
}
/**
* 搜索引擎资源提醒
*/
function SearchEnginesNavigation(){
this.customNavigationkey = "custom-navigation-key-8898";
this.serverNavigationkey = "server-navigation-key-8898";
this.searchEnginesData=[
{"host":"www.baidu.com", "element":"#content_right","elementInput":"#kw"},
{"host":"www.so.com", "element":"#side","elementInput":"#keyword"},
{"host":"www.sogou.com", "element":"#right","elementInput":"#upquery"},
{"host":"cn.bing.com", "element":"#b_context","elementInput":"#sb_form_q"},
{"host":"www.bing.com", "element":"#b_context","elementInput":"#sb_form_q"},
{"host":"www4.bing.com", "element":"#b_context","elementInput":"#sb_form_q"},
{"host":"so.toutiao.com", "element":".s-side-list","elementInput":"input[type='search']"},
{"host":"www.google.com", "element":"#rhs","elementInput":"input[type='text']"},
{"host":"www.google.com.hk","element":"#rhs","elementInput":"input[type='text']"},
{"host":"duckduckgo.com","element":".react-results--sidebar","elementInput":"#search_form_input"}
];
this.defaultNavigationData = [
{"name":"资源搜索","list":[
{"name":"书签搜索 · 🔥发现", "url":"https://www.bookmarkearth.cn/?from=dxy"},
{"name":"百度百科", "url":"https://baike.baidu.com/item/@@"},
{"name":"知乎搜索", "url":"https://www.zhihu.com/search?type=content&q=@@"},
{"name":"B站搜索", "url":"https://search.bilibili.com/all?keyword=@@&from_source=webtop_search&spm_id_from=333.851"},
{"name":"财经雪球", "url":"https://xueqiu.com/k?q=@@"},
{"name":"抖音搜索", "url":"https://www.douyin.com/search/@@"},
{"name":"搜狗|公众号", "url":"https://weixin.sogou.com/weixin?type=2&query=@@"},
{"name":"豆瓣搜索", "url":"https://www.douban.com/search?q=@@"},
{"name":"维基百科", "url":"https://en.wikipedia.org/w/index.php?search=@@"},
{"name":"法律法规", "url":"https://www.pkulaw.com/law/chl?Keywords=@@"},
{"name":"icon搜索", "url":"https://www.iconfont.cn/search/index?searchType=icon&q=@@"},
{"name":"github", "url":"https://github.com/search?q=@@"},
{"name":"csdn", "url":"https://so.csdn.net/so/search?q=@@&t=&u="},
{"name":"stackoverflow", "url":"https://stackoverflow.com/"},
{"name":"AI内容分析🔥","url":"https://www.quzhuanpan.com/redirect/d_n?t="+(new Date()).getTime()},
{"name":"在线工具", "url":"https://www.tool77.com/category/1?from=vbx"}
]},
{"name":"搜索引擎","list":[
{"name":"百度", "url":"https://www.baidu.com/s?wd=@@"},
{"name":"必应", "url":"https://cn.bing.com/search?q=@@"},
{"name":"google", "url":"https://www.google.com/search?q=@@"},
{"name":"360搜索", "url":"https://www.so.com/s?ie=utf-8&fr=none&src=360sou_newhome&nlpv=basest&q=@@"},
{"name":"搜狗", "url":"https://www.sogou.com/web?query=@@"},
{"name":"头条搜索", "url":"https://so.toutiao.com/search?dvpf=pc&source=input&keyword=@@"},
{"name":"DuckDuckGo", "url":"https://duckduckgo.com/?t=h_&q=@@&ia=web"},
]}
];
this.getNavigationData = async function(element, elementInput){
const self = this;
let navigationData = self.defaultNavigationData;
let finalNavigationData = null;
try{
let customNavigationData = commonFunctionObject.GMgetValue(self.customNavigationkey, null); //自定义的数据
if(!!customNavigationData){
finalNavigationData = [].concat(customNavigationData);
// console.log("使用本地");
}else{
let currentMS = (new Date()).getTime();
let delayMS = 1000 * 60 * 5;
let serverNavigationData = commonFunctionObject.GMgetValue(self.serverNavigationkey, null);
if(!serverNavigationData || (currentMS - serverNavigationData.ms) > delayMS){
//拉取服务器本次不用,下次再使用
commonFunctionObject.request("get", "https://sct.staticj.top/script/api/nav?t="+currentMS, null).then((serverJson)=>{
let data = JSON.parse(serverJson.data); //获取本地data
data.ms = currentMS; //添加时间戳保存到本地区
commonFunctionObject.GMsetValue(self.serverNavigationkey, data);
//console.log("拉取服务器");
}).catch((error)=>{});
}
if(!!serverNavigationData){
finalNavigationData = JSON.parse(serverNavigationData.list);
}else{
finalNavigationData = navigationData;
}
}
}catch(e){
finalNavigationData = navigationData;
}
self.createHtml(element, elementInput, finalNavigationData);
};
this.createCss = function(elementNum){
var innnerCss = `
#dsdsd99mmmjj7760011{
margin-bottom:20px;
}
.tab`+elementNum+`{
margin-bottom:8px;
}
.tab-c-titles`+elementNum+`{
margin-bottom:8px;
}
.tab-c-links`+elementNum+`{
}
.tabs-t`+elementNum+`{
display: inline-block;
width: 80px;
height: 28px;
line-height: 28px;
font-size: 15px;
letter-spacing: 0;
text-align: center;
font-weight: 400;
border-radius: 6px;
cursor: pointer;
background: #f8f8f8;
color: #333;
}
.tabs-t-selected-ddsds1idddx90{
color: #315EFB;
font-weight: 500;
background: rgba(49, 94, 251, 0.1);
}
.tabs-t-small-ddsds1idddx90{
margin-left: 8px;
}
.tab-c-links`+elementNum+` a[name='navigation']{
display:inline-block;
text-align:center;
margin-right:12px;
margin-top:5px;
overflow: hidden;
white-space: nowrap;
text-overflow:ellipsis;
box-sizing:border-box;
line-height:20px;
font-size:14px!important;
text-decoration: none;
color:#1a0dab;
}
.tab-c-links`+elementNum+` a[name='navigation']:hover{
text-decoration: underline;
}
.bookmarks`+elementNum+`{
min-height:50px;
}
`;
if($("#plugin_css_style_dddsoo").length==0){
$("body").prepend("<style id='plugin_css_style_dddsoo'>"+innnerCss+"</style>");
}
};
this.showSetingDialog = function(){
const self = this;
var customNavigationData = "";
const customNavigation = commonFunctionObject.GMgetValue(self.customNavigationkey, null);
if(!!customNavigation){
customNavigationData = JSON.stringify(customNavigation, null, 4);
}
const content = `
<div>
<div style="font-size:13px;color:red;">
注意事项如下:
<br>1、请严格按照格式添加,否则不生效
<br>2、数据为json格式,请确保json格式正确,必要时请到<a target="_blank" href="https://www.json.cn/">https://www.json.cn/</a>校验
<br>3、点击下面”示例“按钮,查看具体格式情况
<br>4、链接中的搜索关键词请用”@@“代替,脚本会自动替换成当前搜索词。例如:https://www.baidu.com/s?wd=@@
<br>5、大家可以自定义导航数据,<b>但是必须要注意数据格式,发现出现错误,可点“初始化”</b>
</div>
<div style="margin-top:5px;height:200px;width:100%;">
<textarea
placeholder="请严格按照格式填写,否则不生效"
class="navigation-textarea"
style="color:#000;font-size:14px;box-sizing: border-box;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;padding:5px;height:100%;width:100%;Overflow:auto;border:1px solid #ccc;resize:none;background-color:#FFF;outline:none;">`+customNavigationData+`</textarea>
</div>
<div style="text-align:center;margin-top:15px;">
<button class="navigation-init" style="color:#000;cursor:pointer;">初始化</button>
<button class="navigation-example" style="color:#000;cursor:pointer;">示例</button>
<button class="navigation-clear" style="color:#000;cursor:pointer;">清空</button>
<button class="navigation-save" style="color:#000;cursor:pointer;">保存自定义导航</button>
</div>
</div>
`;
popup.dialog({
"title":"自定义添加导航",
"content":content,
"onContentReady":function($that){
var $navigationExample = $that.dialogContent.querySelector(".navigation-example");
var $navigationClear = $that.dialogContent.querySelector(".navigation-clear");
var $navigationSave = $that.dialogContent.querySelector(".navigation-save");
var $navigationInit = $that.dialogContent.querySelector(".navigation-init");
var $textarea = $that.dialogContent.querySelector(".navigation-textarea");
$navigationExample.addEventListener("click", function(){
$textarea.value = JSON.stringify(self.defaultNavigationData, null, 4);
});
$navigationClear.addEventListener("click", function(){
$textarea.value = "";
});
$navigationInit.addEventListener("click", function(){
$textarea.value = "";
commonFunctionObject.GMsetValue(self.customNavigationkey, null);
});
$navigationSave.addEventListener("click", function(){
var content = $textarea.value;
if(!content){
commonFunctionObject.GMsetValue(self.customNavigationkey, null);
commonFunctionObject.webToast({"message":"保存成功:数据为空", "background":"#FF4D40"});
return;
}
if(content.length==0 || content.indexOf("{")==-1 || content.indexOf("[")==-1){
commonFunctionObject.webToast({"message":"格式错误,请更正", "background":"#FF4D40"});
return;
}
try{
var contentJson = JSON.parse(content);
if(Array.isArray(contentJson)){ //开始必须是数组
var isOK = true;
for(var i=0; i<contentJson.length; i++) {
if(Array.isArray(contentJson[i])){ //此处必须是对象
isOK = false;
break;
}
if(!contentJson[i].hasOwnProperty("name") || !contentJson[i].hasOwnProperty("list")){
isOK = false;
break;
}
if(typeof(contentJson[i]["name"])!="string"){
isOK = false;
break;
}
if(!Array.isArray(contentJson[i]["list"])){ //此处必须是数组
isOK = false;
break;
}
for(var j=0; j<contentJson[i]["list"].length; j++){
if(!contentJson[i]["list"][j].hasOwnProperty("name") || !contentJson[i]["list"][j].hasOwnProperty("url")){
isOK = false;
break;
}
if(typeof(contentJson[i]["list"][j]["name"])!="string" || typeof(contentJson[i]["list"][j]["url"])!="string"){
isOK = false;
break;
}
}
if(!isOK){
break;
}
}
if(isOK){
commonFunctionObject.GMsetValue(self.customNavigationkey, contentJson);
commonFunctionObject.webToast({"message":"保存成功", "background":"#FF4D40"});
}else{
commonFunctionObject.webToast({"message":"格式错误,请更正", "background":"#FF4D40"});
}
}else{
commonFunctionObject.webToast({"message":"格式错误,请更正", "background":"#FF4D40"});
}
}catch(e){
commonFunctionObject.webToast({"message":"格式错误,请更正", "background":"#FF4D40"});
}
});
}
})
}
this.createHtml = function(element, elementInput, navigationData){
$("#dsdsd99mmmjj7760011").remove();
var isComplate = true;
const host = window.location.host;
const self = this;
const elementNum = commonFunctionObject.randomNumber();
const elementInterval = setInterval(function(){
if(isComplate){
var $element = $(element);
var $box = $("#dsdsd99mmmjj7760011");
isComplate = false;
if($element.length!=0 && $box.length==0){
var nameArray = [];
var linkArray = [];
for(var i=0; i<navigationData.length; i++){
var name = "";
if(i==0){
name += '<span class="tabs-t'+elementNum+' tabs-t-selected-ddsds1idddx90" name="tab-list-xxsddddssd-'+i+'">'+navigationData[i].name+'</span>';
}else{
name += '<span class="tabs-t'+elementNum+' tabs-t-small-ddsds1idddx90" name="tab-list-xxsddddssd-'+i+'">'+navigationData[i].name+'</span>';
}
nameArray.push(name);
var links = "";
if(i==0){
links = '<div id="tab-list-xxsddddssd-'+i+'">';
}else{
links = '<div id="tab-list-xxsddddssd-'+i+'" style="display:none;">';
}
for(var j=0;j<navigationData[i].list.length;j++){
let url = navigationData[i].list[j].url;
url = url.replace("${t}",(new Date()).getTime());
let name = navigationData[i].list[j].name;
links += "<a target='_blank' name='navigation' data-url='"+url+"' href='javascript:void(0);'>"+name+"</a>"
}
links += "</div>";
linkArray.push(links);
}
var html = `
<div id="dsdsd99mmmjj7760011">
<div class="tab`+elementNum+`">
<div class="tab-c-titles`+elementNum+`">`+nameArray.join("")+`</div>
<div class="tab-c-links`+elementNum+`">`+linkArray.join("")+`</div>
</div>
<div style='margin-bottom:10px;margin-top:5px;font-size:12px;'>
<a target='_blank' href='https://greasyfork.org/zh-CN/scripts/469407' style="color: #000;background-color: #efefef;padding: 2px 5px; border-radius: 2px;">*该数据由油猴脚本提供</a>
<a href="javascript:void(0);" name="customNavigation" style="color: #000;background-color: #efefef;padding: 2px 5px; border-radius: 2px;">🔧自定义网址</a>
</div>
<div>
`;
// //添加css 添加html
self.createCss(elementNum);
$element.prepend(html);
//点击切换tab
$("#dsdsd99mmmjj7760011 .tabs-t"+elementNum).on("click", function(e){
$("div[id^='tab-list-xxsddddssd-']").hide();
$(".tabs-t"+elementNum).removeClass("tabs-t-selected-ddsds1idddx90");
$("#"+$(this).attr("name")).show();
$(this).addClass("tabs-t-selected-ddsds1idddx90");
});
//点击链接
$("#dsdsd99mmmjj7760011 a[name='navigation']").on("click", function(e){
commonFunctionObject.GMopenInTab($(this).data("url").replace("@@",$(elementInput).val()));
e.preventDefault()
});
//弹出自定义导航弹窗
$("#dsdsd99mmmjj7760011 a[name='customNavigation']").on("click", function(e){
self.showSetingDialog();
e.preventDefault()
});
}
isComplate = true;
}
}, 100);
};
this.hookBaidu = function(){
let items = document.querySelectorAll("#content_left>div");
for(let item of items){
//给处理完成的做一个标识
if(!!item.getAttribute("baidu_dealxx")){
continue;
}
item.setAttribute("baidu_dealxx","--");
let a = item.querySelector("a");
if(!a || !a.href){
continue;
}
//标注了html网址的忽略
let OP_LOG_LINK = item.querySelector(".OP_LOG_LINK");
if(!!OP_LOG_LINK && OP_LOG_LINK.innerText.search("http")!=-1){
continue;
}
//有多个点击点的忽略
let cGapBottomSmall = item.querySelector(".c-gap-bottom-small");
if(!!cGapBottomSmall){
continue;
}
//https://www.baidu.com/s?wd=一夜醒来欠地铁600多万?官方回应
if (a.href.includes("www.baidu.com/link?url=")) {
let url = item.getAttribute("mu");
if (url && url != null && !url.includes("nourl.ubs.baidu.com")) {
a.href = url;
item.innerHTML += `<div style="color:#ccc;font-size:12px;display:flex;align-items:center;width:100%;overflow:hidden;white-space: nowrap;text-overflow: ellipsis;-o-text-overflow:ellipsis;">
<img style="width:15px;height:15px;" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAKhJREFUOE+9k9ENwjAMBc8RA7AR7UhMQDsBszBBw0YMAAmKrBS3pM1HpOb/ne9ZjtD4pDHPEYBTB2FSU9fD21vrisEcHsF5BS0hFYCLwAhh0KkZGOZcBSATyAM4K8QNEC8Q+1yjAEhTPjeQ50+bq0KW4QRZAWxnXsBdO4euFC4AbOe1fvlijEGebrecOqeXl/gP2aiwr125g2wSvd321skfccr7363Z4Asklz4RHmdA1gAAAABJRU5ErkJggg=="/>
<a style="color:#626675;" href="`+url+`" target="_blank">`+url+`</a>
</div>`;
}
}
let itemNews = item.querySelectorAll("[class^=single-card-wrapper] div,[class^=group-wrapper] div");
if(!itemNews){
continue;
}
//single-card-wrapper: https://www.baidu.com/s?ie=UTF-8&wd=es6 xxx的最新相关信息
//group-wrapper: https://www.baidu.com/s?ie=UTF-8&wd=五一消费成绩单折射市场活力 资讯
for(let itemNew of itemNews){
let dataUrl = null;
let divs = itemNew.querySelectorAll("div");
for (let div of divs) {
if ((dataUrl = div.getAttribute("data-url"))) {
let a = itemNew.querySelector("a");
a.setAttribute("href", dataUrl);
}
}
}
}
};
this.hookGoogle = function(){
let items = document.querySelectorAll("#center_col a");
for(let a of items){
if(!a.getAttribute("target")) a.setAttribute("target","_blank");
}
};
this.hooks = function(){
const host = window.location.host;
const href = window.location.href;
const search = window.location.search;
const self = this;
setInterval(function(){
if(host==="www.baidu.com"){
self.hookBaidu();
}else if(host==="www.google.com" || host==="www.google.com.hk"){
self.hookGoogle();
}
}, 300);
};
this.show = function(){
const self = this;
const host = window.location.host;
const href = window.location.href;
if((host==="www.baidu.com")
|| (host==="www.so.com" && href.indexOf("www.so.com/s")!=-1)
|| (host==="www.sogou.com" && (href.indexOf("www.sogou.com/web")!=-1 || href.indexOf("www.sogou.com/sogou")!=-1))
|| (host==="cn.bing.com" && href.indexOf("cn.bing.com/search")!=-1)
|| (host==="www.bing.com" && href.indexOf("www.bing.com/search")!=-1)
|| (host==="www4.bing.com" && href.indexOf("www4.bing.com/search")!=-1)
|| (host==="so.toutiao.com" && href.indexOf("so.toutiao.com/search")!=-1)
|| (host==="www.google.com" && href.indexOf("www.google.com/search")!=-1)
|| (host==="www.google.com.hk" && href.indexOf("www.google.com.hk/search")!=-1)
|| (host==="duckduckgo.com" && href.indexOf("duckduckgo.com")!=-1)){
let currentSearchEnginesData = null;
for(var i=0; i<self.searchEnginesData.length; i++){
if(host===self.searchEnginesData[i].host){
currentSearchEnginesData = self.searchEnginesData[i];
}
}
if(currentSearchEnginesData!=null){
self.getNavigationData(currentSearchEnginesData.element, currentSearchEnginesData.elementInput);
}
self.hooks();
}
};
this.start = function(){
this.show();
};
}
try{
if(!functionController || functionController.searchEnginesNavigation){
(new SearchEnginesNavigation()).start();
}
}catch(e){
console.log("搜索引擎导航:error:"+e);
}
//国外的一些解析
function AbroadVideoHelper(){
this.isRun = function(){
var urls=["youtube.com", "facebook.com"];
for(var i=0; i<urls.length;i++){
if(window.location.host.indexOf(urls[i])!=-1){
return true;
}
}
return false;
};
this.start = function(){
if(!this.isRun()){
return;
}
setInterval(function(){
const host = window.location.host;
const href = window.location.href;
const eleId = "free-xx1-player-script-9999";
//youtube解析
if(host.indexOf("youtube.com")!=-1){
if(href.indexOf("youtube.com/watch")!=-1){
if($("#"+eleId).length != 0){
return;
}
var html='<div id="'+eleId+'" style="width:50px;font-size:13px;cursor:pointer;font-weight:bold;text-align:center;background-color:rgba(0,0,0,0.05);border-radius:25px;padding: 9px 13px;position:relative;left:8px;">'+
'下载'+
'</div>';
$("#owner").append(html);
$("body").off("click", "#"+eleId).on("click", "#"+eleId, function(){
var location_url = window.location.href;
var videourl = "https://www.videofk.com/videofk-video-download/search?url="+location_url;
commonFunctionObject.GMopenInTab(videourl);
});
}else{
$("#"+eleId).remove();
}
}
//facebook解析
if(host.indexOf("facebook.com")!=-1){
if(href.indexOf("facebook.com/watch")!=-1 || href.indexOf("/videos/")!=-1){
if($("#"+eleId).length != 0){
return;
}
var iconVideo = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAADOUlEQVRoQ+2Zz4uNURjHP9+F8g8gykKJNJMUUmzMDKZmYVYsLBRhOaEmFhRRLCZDY4PBrJRREkUMmY3URCk/s6GMhR9ZWNk9OvXO7b133ve+57w/7szUnLqbe59fn/Oc85znnCvm+NAcj595gHgGzWwDsBZYDawEFgI/gT/AR0nDZWe8lAyYWTewF9iTEeA4MCTpblkghQHM7BxwPDCgAUn9gTqJ4oUAzOwKcChnICOS9uXUranlBjCza8CBggFclHSkiI1cAGbWBTwt4jim2y3pSV5bwQBmtgq4BazP67RB7w3gsvAX+CbpV4hdL4CoPG4H3KcjxEEOWVdyHwPjkq5m6WcCmNmFaIaybFXx+2vgsqSRNOOpAGa2GHhY4lIpAnha0qkkA4kAZuZO0k9FPFag2yHJHYR1Iw3gO7CsgiCKmPwMdEmajBuZBmBmbuMcLOKpQt1BSUdTAczMVZmQmjwtpTmC3xqo0ybpw5ROXQbMrA+45GtQUmYVy7JlZpYl0/B73YZuBAjqbWYI4KWkzWkZeBVSNuMAZua1FBorSY4MTEpangYQlM4EgOdZy6ExazkAiNtoXELvgLasIGr0sT0QZaAVAO8ltadlYBTYNcsB7kjanQZwHjg2ywGaViHXIruN7DVmYA+4lnudpC+JGXBfhlwTZwDAPQi4s6o2kloJ9yzyyKcXajGA64F6JL1tChBlwdX0oIrSgirUK+l+49pudh/IhGhhBvolDSRtzKa9jJktBdxrWk+icvXnwO3oIexFWlXJbMbMbAGwJQWg1o0WWEKpLUjSBcZ7CXnV0ZhQXoBQP/MAUzNgZu5Z8EbRGQT2S7qZ107mHmhmuIQnl2lXxFCQQgDRmTEGbAt1DIxJ2pFDr06lDIBFgDsdlwQE8wNol/Q7QCdRtDBAlIVO4FlAMJ2SMk96H3ulAEQQh4FBD6d9koY85LxESgOIIK67qtLE87CkUt+cSgWIICaAjQkQE5I2eU1rgFAVACsA9/Dk/qGcGv+ANZK+BsTmJVo6QJSFXuBeLIKdkh54RRQoVAlABHECOAOclHQ2MC5v8coAIojR+AuCd1QBgpUCBMSRW3QeIPfUlaT4H0/7RUAi2a/NAAAAAElFTkSuQmCC";
var html='<div id="'+eleId+'" style="width:25px;padding:10px 0px;text-align:center;background-color:#E5212E;position:fixed;top:250px;left:0px;color:#FFF;font-size:0px;z-index:9999999999999;cursor:pointer;margin:0px auto;text-align:center;">'+
'<img src="'+iconVideo+'" style="width:20px;">'+
'</div>';
$("body").append(html);
$("body").on("click", "#"+eleId, function(){
var location_url = window.location.href;
commonFunctionObject.GMsetValue("facebook_downloader_obj", {"facebook_url":location_url});
commonFunctionObject.GMopenInTab("https://yt1s.com/facebook-downloader");
});
}else{
$("#"+eleId).remove();
}
}
}, 1000);
if(window.location.href.indexOf("yt1s.com/facebook-downloader")!=-1){ //facebook下载
var facebookObject = commonFunctionObject.GMgetValue("facebook_downloader_obj");
if(!!facebookObject){
$("#s_input").val(facebookObject.facebook_url);
}
}
}
}
try{
if(!functionController || functionController.abroadVideoHelper){
(new AbroadVideoHelper()).start();
}
}catch(e){
console.log("国外视频解析:error:"+e);
}
function ShortVideoDownloader(){
this.douyinVideoDownloader = function(){
/**
* 此处代码有借鉴lazyfrog的代码,在原来代码的基础上修改了部分功能和bug修复
* 脚本地址:https://greasyfork.org/zh-CN/scripts/469521
* 特此注明
*/
const _self = this;
function run(){
if(window.location.host !== "www.douyin.com"){
return;
}
let downloadOption = [{name:'',id:'toServer'}, {name:'打开视频(可下载)',id:'toLink'}];
let videoElements = document.querySelectorAll('video');
if(videoElements.length == 0) return;
//把自动播放的video标签选择出来
let playVideoElements=[];
videoElements.forEach(function(element){
let autoplay = element.getAttribute('autoplay');
if(autoplay !== null){
playVideoElements.push(element);
}
})
let videoContainer=location.href.indexOf('modal_id') != -1
? playVideoElements[0]
: playVideoElements[playVideoElements.length-1];
if(!videoContainer) return;
//获取视频播放地址
let url = videoContainer && videoContainer.children.length>0 && videoContainer.children[0].src
? videoContainer.children[0].src
: videoContainer.src;
//获取视频ID,配合自定义id使用
let videoId;
let resp = url.match(/^(https:)?\/\/.+\.com\/([a-zA-Z0-9]+)\/[a-zA-Z0-9]+\/video/);
let res = url.match(/blob:https:\/\/www.douyin.com\/(.*)/);
if(resp && resp[2]){
videoId=resp[2];
}else if(res && res[1]){
videoId=res[1]
}else{
videoId = videoContainer.getAttribute('data-xgplayerid')
}
let playContainer = videoContainer.parentNode.parentNode.querySelector('.xg-right-grid');
if(!playContainer) return;
//在对主页就行视频浏览时会出现多个按钮,删除不需要的,只保留当前对应的
let videoDownloadDom = playContainer.querySelector('#scriptVideoDownload'+videoId);
if(videoDownloadDom){
let dom = playContainer.querySelectorAll('.xgplayer-playclarity-setting');
dom.forEach(function(d){
let btn = d.querySelector('.btn');
if(d.id != 'scriptVideoDownload'+videoId && btn.innerText=='下载'){
d.parentNode.removeChild(d);
}
});
return;
}
if(videoContainer && playContainer){
let playClarityDom = playContainer.querySelector('.xgplayer-playclarity-setting');
if(!playClarityDom) return;
let palyClarityBtn = playClarityDom.querySelector('.btn');
if(!palyClarityBtn) return;
let downloadDom = playClarityDom.cloneNode(true);
downloadDom.setAttribute('id','scriptVideoDownload'+videoId);
if(location.href.indexOf('search') == -1){
downloadDom.style='margin-top:-68px;padding-top:100px;padding-left:20px;padding-right:20px;';
}else{
downloadDom.style='margin-top:0px;padding-top:100px;';
}
let downloadText = downloadDom.querySelector('.btn');
downloadText.innerText='抖音';
downloadText.style = 'font-size:14px;font-weight:600;';
downloadText.setAttribute('id','zhmDouyinDownload'+videoId);
let detail = playContainer.querySelector('xg-icon:nth-of-type(1)').children[0];
let linkUrl = detail.getAttribute('href') ? detail.getAttribute('href') : location.href;
if(linkUrl.indexOf('www.douyin.com')==-1){
linkUrl='//www.douyin.com'+linkUrl;
}
downloadText.setAttribute('data-url',linkUrl);
downloadText.removeAttribute('target');
downloadText.setAttribute('href','javascript:void(0);');
let virtualDom = downloadDom.querySelector('.virtual');
downloadDom.onmouseover=function(){
if(location.href.indexOf('search') == -1){
virtualDom.style='display:block !important';
}else{
virtualDom.style='display:block !important;margin-bottom:37px;';
}
}
downloadDom.onmouseout=function(){
virtualDom.style='display:none !important';
}
let downloadHtml = '';
downloadOption.forEach(function(item){
if(item.id=="toServer"){
downloadHtml += `<div style="text-align:center;width:100px;" class="item ${item.id}" id="${item.id}${videoId}">更多资源<span style="color:red;">(热点)</span></div>`;
}else{
downloadHtml += `<div style="text-align:center;width:100px;" class="item ${item.id}" id="${item.id}${videoId}">${item.name}</div>`;
}
})
if(downloadDom.querySelector('.virtual')){
downloadDom.querySelector('.virtual').innerHTML = downloadHtml;
}
playClarityDom.after(downloadDom);
//直接打开
let toLinkDom = playContainer.querySelector('#toLink'+videoId);
if(toLinkDom){
toLinkDom.addEventListener('click',function(){
if(url.match(/^blob/)){
commonFunctionObject.webToast({"message":"加密视频无法直接打开。可复制分享链,重新打开页面使用“下载”", "background":"#141414"});
}else{
window.open(url);
}
})
}
let toAi = playContainer.querySelector('#toServer'+videoId);
if(toAi){
toAi.addEventListener('click',function(){
window.open("https://ss.qiwudianzi.top");
})
}
}
}
//抖音视频下载需要鼠标右键保存
function player(){
if(window.location.host.indexOf(".douyinvod.com")!=-1){
var html=`<div style="position:fixed;left:15px;bottom:300px;background-color:#ccc;width:200px;font-size:14px;padding:5px;">
<div style="color:red;font-weight:bold;">下载请在视频框点击:鼠标右键 ->视频另存为,保存视频</div>
<div style="margin-top:15px;"># 资源分享,交流学习,微信:ahonker999,QQ:2394856795,备注视频学习</div>
<div style="margin-top:15px;"># 网址导航效率工具,免费<a target="_blank" href="http://bds.yt3166.com">点我查看</a></div>
</div>`;
$("body").append(html);
}
}
setInterval(function(){
run();
}, 500);
player();
};
this.kuaishouVideoDownloader = function(){
if(window.location.host !== "www.kuaishou.com"){
return;
}
window.addEventListener('load',function(){
async function downloader(){
let kuaishouVideoDownloder = document.querySelector("#kuaishou-video-downloder");
if(!kuaishouVideoDownloder){
let downloadDIV = document.createElement("div");
downloadDIV.style = "cursor:pointer;width:50px;height:40px;line-height:40px;text-align:center;background-color:#FFF;color:#000;position:fixed;top:200px;left:0px;z-index:999;";
downloadDIV.innerText = "下载";
downloadDIV.setAttribute('id','kuaishou-video-downloder');
document.body.appendChild(downloadDIV);
downloadDIV.addEventListener("click", function(e){
let videoDom = document.querySelector('.player-video');
if(!videoDom){
console.log('没有找到DOM');
return;
}
let videoSrc = videoDom.getAttribute('src');
if(videoSrc.match(/^blob/)){
console.log('blob视频无法下载');
return;
}
commonFunctionObject.GMopenInTab(videoSrc);
});
}
}
document.querySelectorAll(".switch-item").forEach(function(value){
value.addEventListener("click", function(){
downloader();
});
})
downloader();
setInterval(function(){
let kuaishouVideoDownloder = document.querySelector("#kuaishou-video-downloder");
if(kuaishouVideoDownloder){
if(window.location.href.match(/https:\/\/www\.kuaishou\.com\/short-video\/.*?/)){
kuaishouVideoDownloder.style.display = "block";
}else{
kuaishouVideoDownloder.style.display = "none";
}
}
}, 800);
});
};
this.start = function(){
this.douyinVideoDownloader();
this.kuaishouVideoDownloader();
};
};
try{
if(!functionController || functionController.shortVideoDownload){
(new ShortVideoDownloader()).start();
}
}catch(e){
console.log("短视频去水印下载:error:"+e);
}
})();