// ==UserScript==
// @name [影视工具]VIP电影解析,短视频解析,搜索引擎,豆瓣/时光快搜
// @name:zh [影视工具]VIP电影解析,短视频解析,搜索引擎,豆瓣/时光快搜
// @name:zh-TW [影視工具]VIP電影解析,短視頻解析,搜尋引擎,豆瓣/時光快搜
// @name:en [Film Tools] VIP movie analysis, short video analysis, search engine, Douban/Time Quick Search
// @namespace https://search.videoall.icu/
// @version v1.0.3
// @author Sibling
// @description VIP电影解析:优酷,腾讯,爱奇异,乐视,PPTV,1905,芒果,风行,b站,搜狐;短视频解析:youtube,B站,西瓜,抖音,快手,小红书,微博,A站;
// @description:zh VIP电影解析:优酷,腾讯,爱奇异,乐视,PPTV,1905,芒果,风行,b站,搜狐;短视频解析:youtube,B站,西瓜,抖音,快手,小红书,微博,A站;
// @description:zh-TW VIP電影解析:優酷,騰訊,愛奇异,樂視,PPTV,1905,芒果,風行,b站,搜狐; 短視頻解析:youtube,B站,西瓜,抖音,快手,小紅書,微博,A站;
// @description:en VIP movie analysis: Youku, Tencent, iQiqi, LeEco, PPTV, 1905, Mango, Fengxing, Bilibili, Sohu; Short video analysis: youtube, station B, watermelon, Tiktok, Kwai, Xiaohongshu, microblog, acfun;
//
// @match *://v.youku.com/*
// @match *://v.qq.com/*
// @match *://www.iqiyi.com/*
// @match *://www.le.com/*
// @match *://v.pptv.com/*
// @match *://vip.1905.com/*
// @match *://www.mgtv.com/*
// @match *://www.bilibili.com/*
// @match *://www.fun.tv/*
// @match *://film.sohu.com/*
// @match *://tv.sohu.com/*
//
// @match *://www.youtube.com/*
// @match *://www.ixigua.com/*
// @match *://m.ixigua.com/*
// @match *://www.douyin.com/*
// @match *://www.kuaishou.com/*
// @match *://www.xiaohongshu.com/*
// @match *://weibo.com/*
// @match *://www.weibo.com/*
// @match *://m.weibo.cn/*
// @match *://www.acfun.cn/*
//
// @match *://www.baidu.com/*
// @match *://cn.bing.com/*
// @match *://www.bing.com/*
// @match *://quark.sm.cn/*
// @match *://www.sogou.com/*
// @match *://www.google.com/*
//
// @match *://movie.douban.com/*
// @match *://film.mtime.com/*
// @match *://list.mtime.com/*
//
// @match *://*.videoall.icu/*
//
// @exclude *://greasyfork.org/*
// @exclude *://*.tampermonkey.net/*
// @exclude *://*.userscript.zone/*
// @exclude *://*googleads*/*
// @exclude *://*.googlesyndication.com/*
//
// @connect youtube.com
// @connect googlevideo.com
// @connect google.com
// @connect douyin.com
// @connect youku.com
// @connect bilibili.com
// @connect kuaishou.com
// @connect xiaohongshu.com
// @connect ixigua.com
// @connect tudou.com
// @connect acfun.cn
// @connect iqiyi.com
// @connect le.com
// @connect pptv.com
// @connect 1905.com
// @connect mgtv.com
// @connect sohu.com
// @connect fun.tv
// @connect weibo.com
// @connect weibo.cn
// @connect qq.com
// @connect quark.cn
// @connect baidu.com
// @connect douban.com
// @connect mtime.com
// @connect videoall.icu
// @connect localhost
//
// @icon https://vplugin.videoall.icu/favicon.svg
//
// @grant GM.webRequest
// @grant GM.registerMenuCommand
// @grant GM.unregisterMenuCommand
// @grant GM.download
// @grant GM.xmlHttpRequest
// @grant GM.setValue
// @grant GM.getValue
// @grant GM.addStyle
// @grant GM.getResourceText
// @grant GM.addElement
// @grant GM.setClipboard
// @grant GM.notification
// @grant window.onurlchange
// @grant unsafeWindow
//
// @noframes
// @license MIT
// @run-at document-idle
// @downloadURL none
// ==/UserScript==
(function(Core, runtime, global, Fi, Se, Th, Fo) {
let i;
runtime(Core, global)(function(div) {
return (i = new Fi(Core, global), i.call(div) ? void 0 : (i = new Se(Core, global), i.call(div) ? void 0 : (i = new Th(Core, global), i.call(div) ? void 0 : (i = new Fo(Core, global), i.call(div) ? void 0 : i = null))), i)
})
})((function() {
function Core() {
this.url = function() { return window.location.href }}
return Core.createElement = function(type, parent) {
const element = document.createElement(type);
if (parent) parent.appendChild(element); else document.body.append(element);
return element;
}, Core.openUrl = function(s, p, w, t) { open('https://' + s + (p?p:'') + (w?w:''), t?t:'_blank') }, Core.uuid = function(len, split, radix) {
let chars, uuid, i, r;
if (void 0 === len && (len = 10), void 0 === split && (split = !1), void 0 === radix && (radix = 0), chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""), uuid = [], radix = 0 == radix ? radix || chars.length : radix, split) for (r = void 0, uuid[8] = uuid[13] = uuid[18] = uuid[23] = "-", uuid[14] = "4", i = 0; i < 36; i++) uuid[i] || (r = 0 | 16 * Math.random(), uuid[i] = chars[19 == i ? 3 & r | 8 : r]); else for (i = 0; i < len; i++) uuid[i] = chars[0 | Math.random() * radix];
return 'a' + uuid.join("");
}, Core.getUserAgent = function() { return window.navigator.userAgent.toLowerCase(); }, Core.copyText = function(text) { GM.setClipboard(text); }, Core; })(), (function(Core, global) { return (function(call) {
let div, img, i; global.uuid = Core.uuid(16), div = Core.createElement("div"), i = call(div), i && (function(){ img = Core.createElement("div", div),
div.style = 'z-index: 999999990; position: fixed; top: 0px; left: 0px; padding: 0px; text-align: center; overflow: visible; display: flex; flex-direction: row; width: auto; -webkit-box-sizing: border-box; box-sizing: border-box; -webkit-font-smoothing: subpixel-antialiased;';
img.style = 'position: absolute; left: 10px; top: 50px; width: 32px;height: 32px;cursor: pointer; user-select: none;';
img.innerHTML = '';
(img.onmouseenter = function() { (i && i.show && i.show(div)) }) }()) })}), { s: 'search.videoall.icu', p: 'vplugin.videoall.icu', e: '/search/ay1wc0JnblJzMlVDSjIyaHlvLU4zU1plSDhvQy1kUmF8M1Zjbm5JQXZOVzFkNldkNFdJSmw0Wml4c3UtU3NiaFh8YzFlb2h6MnQ0YW90eDN5d2wzZmRmajN1d3hjODR4NWc=/', }, (function(Core, global) { let uuid, that;
that = this, uuid = global.uuid, that._call = function(elements, call) { (elements) && (function(){ for (const element of elements) { element.style.position = 'relative', (function() { let div; div = element.querySelector('.' + uuid), (div) ? (div.style.display = 'block') : (function(){
div = Core.createElement("div", element), div.className = uuid, div.innerHTML = decodeURIComponent('%E8%A7%82%E5%BD%B1'),
div.style = 'position: absolute; z-index: 999999993; color: #fff; width: 60px; height: 30px; background-color: #ff7744; border-radius: 15px; box-shadow: 0 0 5px 5px #CDD0D6; font-weight: bold; font-size: 14px; line-height: 1; padding: 5px 10px; top: 10px; left: 10px; -webkit-box-sizing: border-box; box-sizing: border-box; -webkit-font-smoothing: subpixel-antialiased; user-select: none; cursor: pointer; ';
div.onmouseenter = function() { div.style.color = '#fda943' }, div.onmouseleave = function() { div.style.color = '#ffffff' }, div.onclick = function() { let w; w = call(element), (w) && (Core.openUrl(global.s, global.e, w)); return false; }}()) })() }}()) }, that._i = function(itemList, rootDiv, call) {{
} let div, subDiv, sub2Div; new MutationObserver(function(mutationRecoards, observer) { for (const t of itemList) { let itemElements = document.querySelectorAll(t); that._call(itemElements, call); } }).observe(document.documentElement, { attributes: true, childList: true, subtree: true, }), div = document.getElementById(uuid), (div) ? (div.style.display = 'block') : (function() {
div = Core.createElement("div", rootDiv), div.id = uuid, div.style = 'z-index: 999999991; width: 100px; height: 50px; border-radius: 15px; background-color: #ff7744; top: 40px; left: 5px; position: relative; box-shadow: 0 0 5px 5px #CDD0D6; user-select: none; display: none; -webkit-box-sizing: border-box; box-sizing: border-box; -webkit-font-smoothing: subpixel-antialiased;';
div.onmouseleave = function() { div.style.display = 'none' }, subDiv = Core.createElement("div", div), subDiv.style = 'display: inline-block; cursor: pointer; color: #fff; padding: 5px 10px; margin-top: 8px; margin-left: 5px; margin-right: 10px; border-radius: 15px; font-size: 16px; background-color: #ffaa44; user-select: none;-webkit-box-sizing: border-box; box-sizing: border-box; -webkit-font-smoothing: subpixel-antialiased;';
subDiv.innerHTML = '' + decodeURIComponent('%E8%B5%84%E6%BA%90');
subDiv.onmouseenter = function() { subDiv.style.color = '#606266'; }, subDiv.onmouseleave = function() { subDiv.style.color = '#fff'; }, subDiv.onclick = function() { Core.openUrl(global.s), div.style.display = 'none' }, sub2Div = Core.createElement("div", div)
sub2Div.style = 'position: absolute; cursor: pointer; color: #fff; font-size: 16px; user-select: none; right: 5px; top: 5px;'
sub2Div.innerHTML = ''
sub2Div.onmouseenter = function() { sub2Div.style.color = '#606266'; }, sub2Div.onmouseleave = function() { sub2Div.style.color = '#fff' }, sub2Div.onclick = function() { rootDiv.style.display = 'none' }})()
}, that._d = function(div) { that._i(['.cover-wp', '.poster', '.drc-subject-card', '.subject', '.subject-img', '.pl2'], div, function(element) { return element.querySelector('.drc-subject-info-title-text') ? element.querySelector('.drc-subject-info-title-text').textContent : element.querySelector('#mainpic') ? document.title.replace(decodeURIComponent('(%E8%B1%86%E7%93%A3)'), '').trim() : element.querySelector('img') && element.querySelector('img').getAttribute('alt') ? element.querySelector('img').getAttribute('alt') : (void 0) })}, that._m = function(div) { that._i(['.item', '.movie-item-list-item', '.clickobj'], div, function(element) {
return (element.querySelector('.top-pic') && element.querySelector('.top-pic').querySelector('a')) ? element.querySelector('.top-pic').querySelector('a').getAttribute('title') :
(element.querySelector('.film_name') && element.querySelector('.film_name').querySelector('a')) ? element.querySelector('.film_name').querySelector('a').textContent :
(element.querySelector('h3') && element.querySelector('h3').querySelector('span')) ? element.querySelector('h3').querySelector('span').textContent : (void 0)}) }, that.call = function(div) { return location.host == 'movie.douban.com' ? (that._d(div), true) : (location.host == 'film.mtime.com' || location.host == 'list.mtime.com') ? (that._m(div), true) : false }, that.show = function() { let div;
div = document.getElementById(uuid), div && (div.style.display = 'block') }}), (function(Core, global) { let uuid, that, action_color, engine_baidu, engine_bing_cn, engine_bing, engine_quark, engine_sogou, engine_google;
that = this, uuid = global.uuid, action_color = '#337ecc', engine_baidu = 'www.baidu.com', engine_bing_cn = 'cn.bing.com', engine_bing = 'www.bing.com', engine_quark = 'quark.sm.cn', engine_sogou = 'www.sogou.com', engine_google = 'www.google.com', that.__getInputValue = function() { try {
if (global.s === location.host) { return document.querySelectorAll('.bodySearchInputTextClass input')[1].value; } else if (engine_baidu === location.host) { if (document.querySelector('#kw')) { return document.querySelector('#kw').value; }} else if (engine_bing_cn === location.host || engine_bing === location.host) {if (document.querySelector('#sb_form_q')) { return document.querySelector('#sb_form_q').value; } } else if (engine_quark === location.host) { if (document.querySelector('#header > div > form > div.row-wrap.show-voice > textarea')) { return document.querySelector('#header > div > form > div.row-wrap.show-voice > textarea').value; } } else if (engine_sogou === location.host) {if (document.querySelector('#upquery')) {return document.querySelector('#upquery').value;}} else if (engine_google === location.host) {if (document.querySelector('#APjFqb')) {return document.querySelector('#APjFqb').value;}}} catch(e) {} return null;
}, that._i = function(rootDiv) { let div, searchDiv, baiduDiv, bingDiv, quarkDiv, sogouDiv, googleDiv; div = document.getElementById(uuid), (div) ? (div.style.display = 'block') : ( (function(){
div = Core.createElement("div", rootDiv), div.id = uuid, div.style = 'z-index: 999999991; width: 70px; height: 400px; border-radius: 15px; background-color: transparent; top: 25px; left: 5px; position: absolute; user-select: none; display: none; -webkit-box-sizing: border-box; box-sizing: border-box; -webkit-font-smoothing: subpixel-antialiased;';
div.onmouseleave = function() { div.style.display = 'none' }, searchDiv = Core.createElement("div", div), searchDiv.style = 'display: inline-block; cursor: pointer; color: #fff; padding: 10px; margin-top: 10px; border-radius: 15px; font-size: 14px; background-color: #ffaa44; user-select: none; width: 50px; height: 50px; border-radius: 50%; box-sizing: content-box; -webkit-font-smoothing: subpixel-antialiased;';
searchDiv.innerHTML = '