- // ==UserScript==
- // @name yimuhe
- // @namespace https://greasyfork.org/zh-CN/scripts/38740-yimuhe
- // @version 2.5.0
- // @description 1.去除javlibrary详情页面中下载url的重定向;高亮yimuhe的下载链接;添加 在javbus中查询 链接
- // 2.破坏torrentkitty的脚本变量引用. 原先l8l1X变量是引用window,然后给加定时器,不停地添加页面的mousedown事件,导致鼠标点击任何地方都会跳转到广告页面
- // 3.给141jav每个车牌号后面加上复制按钮;添加 在JavLib中查询 链接
- // 4.给javdb每个车牌号后面添加 在JavLib中查询 链接, 所有链接都添加可下载条件
- // 5.javbus详情页面加上的车牌号后面添加 在JavLib中查询
- // 6.去掉get.datapps.org网页点击链接后弹出广告窗口
- // 7.去掉https://www.77file.com 的弹出广告
-
- // @author You
-
- // @require https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js
-
- // @include http://*.javlib.com/*
- // @include http*:/*.torrentkitty.*/*
- // @include http*://*.h68g.com/*
- // @include http*://*.141jav.com/*
-
- // @include http*://javdb003.com/*
- // @include http*://javdb004.com/*
-
- // @include http*://*.seejav.men/*
- // @include http*://*.javbus.com/*
- // @include http*://*.fanbus.*/*
-
- // @include http*://get.datapps.org/*
- // @include http*://www.77file.com/down/*
-
- // @run-at document-end
- // @grant GM_xmlhttpRequest
- // @connect *
- // ==/UserScript==
-
- (function() {
- 'use strict';
-
- console.info('========= yimuhe ');
-
-
-
- var javLibDomain="h68g";
- var javLibUrl="https://www."+javLibDomain+".com";
- let javLibRegx="("+javLibDomain+"|javlib|javlibrary)";
-
- let javdbDomain="javdb003";
- let javdbUrl="https://"+javdbDomain+".com";
-
- let jav141Domain="141jav";
-
- let javbusDomain="fanbus";
- const javabusUrl = "https://www."+javbusDomain+".cfd";
-
- const datappsDomain="datapps";
- //const datappsUrl="https://get.datapps.org";
-
- const file77Domain = "77file";
-
- execute(javLibRegx,function(location){
- console.info("====yimuhe====去除javlibrary页面中下载url的重定向;高亮yimuhe的下载链接");
- const mainNode=document.querySelector('#video_comments');
-
- mainNode.addEventListener('DOMNodeInserted',(a,b,c)=>{
- console.log(123213);
- })
- $.each($("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);
- a.text = a.text + " " + a.href + " ";
- if(a.href.includes("yimuhe")){
- $(a).parentsUntil("tr").closest('.t').css('background-color', '#6B6C83');
- a.style='font-size:40px;';
- }else{
- a.style='font-size:20px;';
- }
- });
- });
- /*
- execute(javLibRegx+".*\?v=.*",function(location){
- console.info("====yimuhe====javlibrary详情页面中添加 在javdb中查询 链接");
- 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="',javdbUrl,'/search?q=',chePai,'&f=download">在javdb中查询</a></td>'].join('');
- });*/
- 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,'/search/=',chePai,'">在javbus中查询</a></td>'].join('');
- });
-
-
-
- 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','');
- });
- });
-
- //debugger;
- execute(javbusDomain,function(location){
- console.info("5.给javbus每个车牌号后面加上复制按钮;添加 在JavLib中查询 链接.");
-
- 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);
-
- });
-
- 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();");
- });
- });
-
- 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);
- }
- }
-
- execute("torrentkitty",function(location){
- console.info("2.破坏torrentkitty的脚本变量引用. 原先l8l1X变量是引用window,然后给加定时器,不停地添加页面的mousedown事件,导致鼠标点击任何地方都会跳转到广告页面.");
- window.l8l1X=1;
- });
-
- //////////////////////////////////////////////////////////////////////////////////////////////
- /////////////////// 公共方法
- /////////////////////////////////////////////////////////////////////////////////////////////
- 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);
- 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) {
- 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);
- }
- })();