- // ==UserScript==
- // @name 91porn 解锁VIP观看高清下载搜索等限制,去除广告.正则版通杀所有 for openuserjs
- // @description https://github.com/91p2022/91 解锁91pornVIP观看下载搜索限制(需登录任意账号),去除广告,付费视频等,警告:本脚本无任何盈利方式,触犯某收费且含有监控追踪代码脚本,疯狂举报且用且珍惜,请保护好个人财产和隐私.
- // @copyright https://t.me/svipmap
- // @icon https://www.google.com/s2/favicons?sz=64&domain=91porn.com
- // @version 0.5.4
- // @author https://t.me/svipmap
- // @license AGPL-3.0-only
- // @homepageURL https://t.me/svipmap
- // @match *.91porn.com/*
- // @match *://*/view_video.php*
- // @match *://*/index.php*
- // @match *://*/search_result.php*
- // @require https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js
- // @require https://www.googletagmanager.com/gtag/js
- // @run-at document-end
- // @grant none
- // @antifeature tracking 会提前预解析,存入redis.提高解析速度,具体图看使用教程 # 防丢导航群&更新公告&使用教程&常见问题&每日自动采集精选 等都在这里,https://t.me/svipmap
-
- // @namespace https://github.com/91p2022/91
- // ==/UserScript==
- function playvideo() {
- $.ajax({
- url:"http://"+ window.location.host +"/api/playvideo.html",
- type:"post",
- data:{id:window.location.href.match(/\/([0-9]+)\./)[1]},
- success:function(e){
- e = JSON.parse(e);
- $(".share").html('<p></p><p>'+e.data.videoInfo.url.split("?")[0]+'</p>');
- if(e.message == "\u89c6\u9891\u9700\u8981\u4ed8\u8d39\u002c\u8bf7\u767b\u9646\u540e\u89c2\u770b"){
- console.log(e.data.videoInfo.url);
- $("body").append("<style>.layui-layer-shade,.layui-layer-dialog,.layui-layer-move{display:none}</style>");
- new ckplayer({container:"#playerBox",autoplay:true,video:e.data.videoInfo.url});
- }
- }
- });
- };
- function DeleagePlayBtnClickEvent()//委托播放按钮来执行代码
- {
- var PlayVideoButton = document.getElementsByClassName("vjs-big-play-button");
- if(PlayVideoButton.length>0)
- {
- PlayVideoButton[0].setAttribute("onclick","EnableSkipButton_Skip()");
- console.log("success:成功委托播放按钮执行注入代码");
- }
- else
- {
- console.log("err...:没有找到网站的播放按钮")
- }
- }
-
-
- function RemovePipWindow()//移除小窗
- {
- var PipElem_Close = document.getElementsByClassName("vjs-pip-close")[0];//
- if(PipElem_Close!=undefined)
- {
- PipElem_Close.click();//表示已经关闭
- document.onmousewheel = ()=>{};//执行之后不需要继续监听
- console.log("已经关闭小窗,停止监听");
- }
- else
- {
- console.log("检测到鼠标滚动,没有探测到区域内小窗...");
- }
- }
-
- function Toast_Success()//对部分地址进行注入,提示用户脚本写入成功
- {
-
- var Tips_Ele = document.getElementsByClassName("boxPart")[0];
- if(Tips_Ele!=undefined)
- {
- Tips_Ele.setAttribute("style","font-size:22px;color:#ff8800");
- Tips_Ele.textContent = "全局脚本预注入成功";//提示注入成功
- var DownLoadAreaInfo=document.evaluate('//*[@id="videodetails-content"]/a[1]', document, null, XPathResult.ANY_TYPE, null).iterateNext();
- if(DownLoadAreaInfo!=undefined)
- {
- DownLoadAreaInfo.removeAttribute("href");
- DownLoadAreaInfo.setAttribute("style","font-size:25px;color:white");
- DownLoadAreaInfo.textContent="";
- DownLoadAreaInfo.onclick = ()=>{scrollTo({top:document.body.scrollHeight,left:0})};//滚动到底部
- }
- var DownLoadAreaInfo2=document.evaluate("//div[@class='floatmenu'][4]", document, null, XPathResult.ANY_TYPE, null).iterateNext();
- if(DownLoadAreaInfo2!=undefined)
- {
- // DownLoadAreaInfo2.replace("vip","");
- DownLoadAreaInfo2.setAttribute("style","font-size:22px;color:#ff8800");
- DownLoadAreaInfo2.textContent="点击下载";
- DownLoadAreaInfo2.onclick = ()=>{scrollTo({top:document.body.scrollHeight,left:0})};//滚动到底部
- }
- }
- else
- {
- console.log("无法找到boxpart");
- }
- }
- function RemoveBannerAd()
- {
- var Ad_Image = document.getElementsByClassName("ad_img");//广告的图片
- for(var i=0;i<Ad_Image.length;i++)
- {
- console.log("正在移除第"+(i+1)+"个广告");
- Ad_Image[i].setAttribute("style","display:none");
- }
- if(location.href.includes("index.php"))
- {
- var Timer = setInterval(()=>
- {
- var In = document.evaluate('/html/body/div[4]/div[1]/div[3]/div/text()',document).iterateNext();
- if(In!=undefined)
- {
- In.remove();
- }
- else
- {
- clearInterval(Timer);
- }
- },10);
- }
- }
- function Load_3U8Api()
- {
-
- // 注入html
- let $section = document.createElement('section');
- $section.innerHTML = '<!DOCTYPE html><html><head><meta charset="utf-8"></head><body><h1>脚本预注入成功,将当前页面网址发送<a href="https://t.me/svipmap/6" target="_blank" rel="noopener noreferrer">https://t.me/svipmap/6</a>至即可下载</h1><img src="https://user-images.githubusercontent.com/104338953/220874558-04fdfe5e-6ec1-472c-a786-e1d3f0b9b04b.png" width="50%" /></body>'
- $section.style.width = '100%'
- $section.style.height = '600px'
- $section.style.top = '0'
- $section.style.left = '0'
- $section.style.position = 'relative'
- $section.style.zIndex = '9999'
- $section.style.backgroundColor = 'white'
- document.body.appendChild($section);
-
-
- // 加载 vue
- let $vue = document.createElement('script')
- $vue.src = 'https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js'
-
- // 监听 vue 加载完成,执行业务代码
- $vue.addEventListener('load', () => {
- document.getElementById('loading') && document.getElementById('loading').remove()
- new Vue({
- el: '#m-app',
-
-
-
-
-
- })
- })
-
- document.body.appendChild($vue);
- }
- function RemoveVideoIframeAd()
- {
- while(true)//强制进行移除广告,移除完毕则停止
- {
- var AdIFrames = document.getElementsByTagName("iframe");
- for(var u=0;u<AdIFrames.length;u++)
- {
- AdIFrames[u].remove();
- }
- if(AdIFrames.length==0)
- {
- console.log("[*] 已经无法找到iframe广告,代码停止运行");
- break;
- }
- }
- }
- function HookSearch()
- {
- try
- {
- var PageElement = document.createElement("input");//创建一个input元素
- var SearchForm = document.getElementById("search_form")//搜索表单的元素
- PageElement.setAttribute("type","hidden");
- PageElement.setAttribute("name","page");
- PageElement.setAttribute("value","2");
- SearchForm.appendChild(PageElement);//向表单中追加元素
- console.log("注入成功");
- if(location.href.includes("search"))
- {
- var HostSearchElement= document.evaluate('//*[@id="videobox"]/p[2]', document, null, XPathResult.ANY_TYPE, null).iterateNext();//热搜榜
- for(var i=0;i<HostSearchElement.childElementCount;i++)
- {
- HostSearchElement.children[i].href+="&page=2";
- }
- }
- }
- catch(err)
- {
-
- }
- }
- function GetVideoTitleName()
- {
- var VideoName = document.evaluate('//*[@id="videodetails"]/h4', document, null, XPathResult.ANY_TYPE, null).iterateNext();
- var DownloadName = VideoName.textContent.trim();
- return DownloadName;
- }
- function Rotate()
- {
- var VideoPlayer = document.evaluate('//*[@id="player_one_html5_api"]', document, null, XPathResult.ANY_TYPE, null).iterateNext();//获取视频播放器
- var PIP = document.evaluate('//*[@id="player_one"]/div[5]/button[4]', document, null, XPathResult.ANY_TYPE, null).iterateNext();//找到画中画,准备接管
- var PlayerMain = document.querySelector("#player_one", document, null, XPathResult.ANY_TYPE, null);//播放器主体
- var RotateFlag=true;//保持原始画面,没有进行旋转,此时为90deg
- PIP.textContent="旋转视频";
- PIP.setAttribute("style","font-size:2px");
- PIP.onclick=function(){
- if(RotateFlag)
- {
- VideoPlayer.setAttribute("style","transform:rotate(-90deg)");//此时画面为-90deg,非90deg,证明画面被旋转
- PlayerMain.style.height = "1000px";
- RotateFlag=false;//此时画面为非原始画面,此时为-90deg
- }
- else
- {
- VideoPlayer.setAttribute("style","transform:rotate(360deg)");//此时将画面恢复正常
- PlayerMain.style.height = "200px";
- RotateFlag=true;//交换flag,以正常执行代码
- }
- }
- }
- function MainFunction()
- {
- var CurrentPageHref = location.href;//当前网页的链接
- HookSearch();//注入搜索参数
- $("head").append('<script async src="https://www.googletagmanager.com/gtag/js?id=G-6E1L856HPS"></script><script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag(\'js\', new Date());gtag(\'config\', \'\G-6E1L856HPS\');</script>');
- if(CurrentPageHref.includes("view_video.php"))
- {
- document.onmousewheel = ()=>{RemovePipWindow()};//监听滚动事件,检测到鼠标滚动就尝试关闭小窗
- DeleagePlayBtnClickEvent();//通过播放按钮加载跳过广告代码
- Toast_Success();//进行信息提示
- Load_3U8Api();
- RemoveBannerAd();//删除Banner广告
- RemoveVideoIframeAd();//移除iframe广告
- }
- else
- {
-
- RemoveBannerAd();
- }
- }
- MainFunction();//主函数执行