您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
1.去除javlibrary详情页面中下载url的重定向;高亮yimuhe的下载链接,去除名称中的链接,方便复制;添加 在javbus中查询 链接;添加磁力链
当前为
// ==UserScript== // @name yimuhe // @namespace https://greasyfork.org/zh-CN/scripts/38740-yimuhe // @version 2.8.1 // @description 1.去除javlibrary详情页面中下载url的重定向;高亮yimuhe的下载链接,去除名称中的链接,方便复制;添加 在javbus中查询 链接;添加磁力链 // 2.破坏torrentkitty的脚本变量引用. 原先l8l1X变量是引用window,然后给加定时器,不停地添加页面的mousedown事件,导致鼠标点击任何地方都会跳转到广告页面 // 3.给141jav每个车牌号后面加上复制按钮;添加 在JavLib中查询 链接 // 4.给javdb每个车牌号后面添加 在JavLib中查询 链接, 所有链接都添加可下载条件 // 5.javbus详情页面加上的车牌号后面添加 在JavLib中查询; 删除磁力链中的onclick事件. // 6.去掉get.datapps.org网页点击链接后弹出广告窗口 // 7.去掉https://www.77file.com 的弹出广告 // 8.给skrbt网站添加 粘贴并搜索 按钮 // @author You // @require https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js // @include http://*.javlib.com/* // @include http*://*.i71t.com/* // @include http*:/*.torrentkitty.*/* // @include http*://*.141jav.com/* // @include http*://javdb003.com/* // @include http*://javdb004.com/* // @include http*://*.seejav.men/* // @include http*://*.javbus.com/* // @include http*://*.busfan.shop/* // @include http*://get.datapps.org/* // @include http*://www.77file.com/down/* // @include http*://skrbtqx.top/* // @run-at document-end // @grant GM_xmlhttpRequest // @connect * // ==/UserScript== (function () { 'use strict'; console.info('========= yimuhe '); var jq = $.noConflict(); var javLibDomain = "i71t"; var javLibUrl = "https://www." + javLibDomain + ".com"; let javLibRegx = "(" + javLibDomain + "|javlib|javlibrary)"; let javdbDomain = "javdb003"; let javdbUrl = "https://" + javdbDomain + ".com"; let jav141Domain = "141jav"; let javbusDomain = "busfan"; const javabusUrl = "https://www." + javbusDomain + ".shop"; const datappsDomain = "datapps"; //const datappsUrl="https://get.datapps.org"; const file77Domain = "77file"; const skrbtDomain = "skrbtqx"; const skrbtUrl = "https://" + skrbtDomain + ".top"; // javlibrary, xxx所发表的文章 页面 execute(javLibRegx, function (location) { console.info("====yimuhe====去除javlibrary [xxx所发表的文章] 页面中下载url的重定向;高亮yimuhe的下载链接"); jq.each(jq("a[href^='redirect.php?url']"), function (index, a) { //var origin = location.origin; //a.href = decodeURIComponent(a.href.replace(origin+"/cn/redirect.php?url=","")); var url = getQueryVariable(a, 'url'); a.href = decodeURIComponent(url); if (!a.href.startsWith('https')) { a.href = a.href.replace("http", "https"); } a.text = a.text + " " + a.href + " "; if (a.href.includes("yimuhe")) { jq(a).parentsUntil("tr").closest('.t').css('background-color', '#6B6C83'); a.style = 'font-size:40px;'; } else { a.style = 'font-size:20px;'; } }); }); // javlibrary, 详情 页面 execute(javLibRegx + ".*\?v=.*", function (location) { console.info("====yimuhe====javlibrary详情页面中添加 在javbus中查询 链接;添加磁力链"); let chePai = document.querySelector("#video_id > table > tbody > tr > td.text").innerText; let toAppendElement = document.querySelector("#video_id > table > tbody > tr > td.text"); appendCopyButton(chePai, toAppendElement); let trTag = document.querySelector("#video_id > table > tbody > tr"); let javdbQueryId = "javdbQueryId"; trTag.innerHTML = [trTag.innerHTML, '<td><a id="', javdbQueryId, '"href="', javabusUrl, '/', chePai, '">在javbus中查询</a></td>'].join(''); // 删除名称中的链接 const videoTitleNode = document.querySelector("#video_title > h3 > a"); if (videoTitleNode) { const videoTitle = videoTitleNode.getInnerHTML(); videoTitleNode.parentNode.innerText = videoTitle; } // GM_xmlhttpRequest({ // method: "GET", // headers: {"Referer":"https://skrbtvo.top/search?keyword=%E5%93%AA%E5%90%92%E4%B9%8B%E9%AD%94%E7%AB%A5%E9%99%8D%E4%B8%96&sos=relevance&sofs=all&sot=all&soft=all&som=exact&p=1"}, // url: "https://skrbtvo.top/search?keyword=%E5%93%AA%E5%90%92%E4%B9%8B%E9%AD%94%E7%AB%A5%E9%99%8D%E4%B8%96", // onerror: function(e) { // console.log(e); // }, // onload: function(response) { // if (response.status != 200) { // console.log("失败。。。") // return; // } // let finalUrl = response.finalUrl; // if (finalUrl.includes('vl_searchbyid.php')){ // console.log("有多个结果或者没有结果") // //有多个结果或者没有结果 // } else { // }// end else // } // end onload // });// end GM_xmlhttpRequest }); //javbus execute(javbusDomain, (location) => { console.info("5.给javbus每个车牌号后面加上复制按钮;添加 在JavLib中查询 链接; 删除磁力链中的onclick事件."); var chePai = document.querySelector("body > div.container > div.row.movie > div.col-md-3.info > p:nth-child(1) > span:nth-child(2)").innerText.trim(); var toAppendElement = document.querySelector("body > div.container > div.row.movie > div.col-md-3.info > p:nth-child(1)"); appendCopyButton(chePai, toAppendElement); appendHrefJavLib(chePai, toAppendElement); // 删除磁力链中的onclick事件 jq("#magnet-table").one("DOMNodeInserted", (e) => { jq('td[onclick]').each((index, element) => { element.removeAttribute('onclick'); }); }) }); execute(jav141Domain, function (location) { console.info("3.给141jav每个车牌号后面加上复制按钮;添加 在JavLib中查询 链接."); document.querySelectorAll('h5.title.is-4.is-spaced > a').forEach(function (element, index) { var chePai = element.innerText.trim(); appendCopyButton(chePai, element.parentElement); appendHrefJavLib(chePai, element.parentElement); let markAsOwnerButton = document.createElement('button'); markAsOwnerButton.dataset.type = 2; markAsOwnerButton.dataset.chePai = chePai; markAsOwnerButton.appendChild(document.createTextNode('设置为已拥有(javlib)')); element.parentElement.appendChild(markAsOwnerButton); markAsOwnerButton.onclick = function (event) { //debugger; GM_xmlhttpRequest({ method: "GET", //responseType: "json", url: javLibUrl + "/cn/vl_searchbyid.php?keyword=" + event.target.dataset.chePai, onerror: function (e) { console.log(e); }, onload: function (response) { if (response.status != 200) { console.log("失败。。。") return; } let finalUrl = response.finalUrl; if (finalUrl.includes('vl_searchbyid.php')) { console.log("有多个结果或者没有结果") //有多个结果或者没有结果 } else { // 明细页面 let patternAjaxid = /^var[ ]\$ajaxid.*;/m; let result = patternAjaxid.exec(response.responseText); let ajaxid = result[0].split('"')[1]; let data = "type=" + event.target.dataset.type + "&targetid=" + ajaxid; //debugger; GM_xmlhttpRequest({ method: "POST", responseType: "json", headers: { "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8" }, url: javLibUrl + "/ajax/ajax_cv_favoriteadd.php", data: data, onerror: function (e) { console.log(e); }, onload: function (response) { if (response.status != 200) { return; } let responseJson = JSON.parse(response.responseText); if (responseJson.ERROR != 1) { // 失败 console.log("失败。" + response.responseText); } } });// end GM_xmlhttpRequest }// end else } // end onload });// end GM_xmlhttpRequest }; }); }); execute(javdbDomain, function (location) { console.info("4.给javdb添加 在JavLib中查询 链接."); document.querySelectorAll("a.button.is-white.copy-to-clipboard").forEach(function (element, index) { var chePai = element.getAttribute('data-clipboard-text'); appendHrefJavLib(chePai, element.parentElement); }); console.info("javdb 每个查询链接都添加 可下载 条件"); //document.querySelectorAll('div.tabs.is-boxed a').forEach(function(element,index){ document.querySelectorAll('a').forEach(function (element, index) { console.info(index + element); let href = element.href; if (href.includes("video_codes") || href.includes("directors") || href.includes("makers") || href.includes("series") || href.includes("publishers") || href.includes("search")) { //element.href = href+"?f=download"; element.href = appendUrlParam(href, "f=download") } else if (href.includes("actors")) { //element.href = href+"?t=d"; element.href = appendUrlParam(href, "t=d") } else if (href.includes("tags")) { element.href = appendUrlParam(href, "c10=1") } }); document.querySelectorAll("div.tabs.is-boxed a").forEach((element, index) => { let href = element.href; element.href = href.replace('&f=download', ''); }); }); execute(datappsDomain, function (location) { console.info("6.去掉get.datapps.org网页点击链接后弹出广告窗口."); document.querySelectorAll('a[onclick="setpos();"]').forEach((element, index) => { element.removeAttribute("onclick"); }); }); execute(file77Domain, function (location) { console.info("7.去掉77file网页点击链接后弹出广告窗口."); document.querySelectorAll('input[value="验证下载"]').forEach((element, index) => { element.setAttribute("onclick", "check_code();"); }); }); execute("torrentkitty", (location) => { console.info("2.破坏torrentkitty的脚本变量引用. 原先l8l1X变量是引用window,然后给加定时器,不停地添加页面的mousedown事件,导致鼠标点击任何地方都会跳转到广告页面."); window.l8l1X = 1; }); // skrbt execute(skrbtDomain, (location) => { const html = '<span> </span><span class="input-group-btn"> <button class="btn btn-danger search-btn" type="button"> <span class="glyphicon glyphicon-search"> 粘贴并搜索</span></button> </span>'; jq('.input-group-btn').last().after(html); const submitButton = jq('button').first(); const searchInput = jq('input[name="keyword"]') jq('button').last().click(() => { let clipPromise = navigator.clipboard.readText(); clipPromise.then((clipText) => { if (clipText != null && jq.trim(clipText) != '') { searchInput.val(clipText); submitButton.click(); } }); }); }); ////////////////////////////////////////////////////////////////////////////////////////////// /////////////////// 公共方法 ///////////////////////////////////////////////////////////////////////////////////////////// function execute(regExpString, callback) { var href = window.location.href; var pattern = new RegExp(regExpString); if (pattern.test(href)) { callback(window.location); } else { console.info("输入的参数 %s 与 %s 不匹配", regExpString, href); } } function appendHrefJavLib(chePai, toAppendElement) { var openHref = document.createElement('a'); openHref.href = javLibUrl + "/cn/vl_searchbyid.php?keyword=" + chePai; openHref.target = "_blank"; openHref.innerText = "JavLib中查询"; toAppendElement.appendChild(openHref); } function appendCopyButton(chePai, toAppendElement) { var copyButton = document.createElement('button'); copyButton.innerHTML = "复 制"; copyButton.setAttribute('id', 'copyButton'); toAppendElement.appendChild(copyButton); document.addEventListener('click', (e) => { if (e.srcElement.getAttribute('id') === 'copyButton') { //console.log(e); copyToClipboard(chePai); } }); //copyButton.onclick=function(){ // copyToClipboard(chePai); //}; } function getQueryVariable(anchor, variable) { var query = anchor.search.substring(1); var vars = query.split("&"); for (var i = 0; i < vars.length; i++) { var pair = vars[i].split("="); if (pair[0] == variable) { return pair[1]; } } return false; } function appendUrlParam(url, param) { if (url.includes("?")) { return url + "&" + param; } return url + "?" + param; } function copyToClipboard(text) { try { navigator.clipboard.writeText(text).then(() => { console.log('复制成功') }); } catch { var textArea = document.createElement("textarea"); textArea.style.position = 'fixed'; textArea.style.top = '0'; textArea.style.left = '0'; textArea.style.width = '2em'; textArea.style.height = '2em'; textArea.style.padding = '0'; textArea.style.border = 'none'; textArea.style.outline = 'none'; textArea.style.boxShadow = 'none'; textArea.style.background = 'transparent'; textArea.value = text; document.body.appendChild(textArea); textArea.select(); try { var successful = document.execCommand('copy'); var msg = successful ? '成功复制到剪贴板' : '该浏览器不支持点击复制到剪贴板'; //alert(msg); } catch (err) { alert('该浏览器不支持点击复制到剪贴板'); } document.body.removeChild(textArea); } } })();