- // ==UserScript==
- // @name vipHelper
- // @namespace TianmuTNT
- // @version 1.0.5
- // @description 也许是全网最好用的vipHelper脚本
- // @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAY1JREFUWEfdV0tywyAMRV64PYXbZXKKOidLcrI4p0iWbU7RZoE6MOABIpBVyrhTVvZYlp6evoBa+cDK9hUL4PL6PCqtRwMUAN44wIh4DmW2t/uh9A8JwBgFxL1CtIZrDyp1VF03bd8/p1TXA4DL0B9AqX2tUep/AyRlJAJgPdf61MK414ldtwuZiAE09H52CmDafHzt/HsE4Dr02NJ7r3tzu89254di7AEmBDga6qycqYaKBA3DwAKgEsd4UsNWqJMHkCSNJEQ5VkUAwnhJjHtZkqkgEWcGri9PJyquadl4xbZDMifbzCQAVFI2xmZ1vxABcF7adurnQUUFWHU/AcDRLfr+fwGYhuXGcXGgtWCAqpZcZclywLVhLsbUrM9Wi4SBFo1I1Alzs4BjpNQJRQAWGSKalW1Ymf2CBlC7DbkKMCuXX2RzlUACqB2xi5hyQuRCYgFkBpJEOSeb5tTfWkpLicN5tuQ7u5ZHs17r8dfuB8FOmQLlr2ZDH12tRNezzG0oBMECWEJtjczqAL4BysQhMPukapkAAAAASUVORK5CYII=
- // @author TianmuTNT
- // @include *://*.youku.com/v_*
- // @include *://www.iqiyi.com/*
- // @include *://www.iqiyi.com
- // @include *://*.iqiyi.com/v_*
- // @include *://*.iqiyi.com/w_*
- // @include *://*.iqiyi.com/a_*
- // @include *://*.le.com/ptv/vplay/*
- // @include *://v.qq.com/x/cover/*
- // @include *://v.qq.com/x/page/*
- // @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 *://*.acfun.cn/v/*
- // @include *://*.bilibili.com/video/*
- // @include *://*.bilibili.com/anime/*
- // @include *://*.bilibili.com/bangumi/play/*
- // @include *://*.baofeng.com/play/*
- // @include *://vip.pptv.com/show/*
- // @include *://v.pptv.com/show/*
- // @grant GM_info
- // @grant GM_download
- // @grant GM_openInTab
- // @grant GM_getValue
- // @grant GM_setValue
- // @grant GM_xmlhttpRequest
- // @grant GM_addStyle
- // @run-at document-idle
- // @charset UTF-8
- // @license Apache-2.0
- // ==/UserScript==
-
- (function() {
- 'use strict';
-
- const vipHelper={};
- vipHelper.lastSelectedSourceUrl = null;
- vipHelper.currentHref = window.location.href;
-
- vipHelper.playerNodes = [
- { url:"v.qq.com", node:"#player"},
- { url:"www.iqiyi.com", node:"#video"},
- { url:"v.youku.com", node:"#player"},
- { url:"w.mgtv.com", node:".kernel-video-element"},
- { url:"www.mgtv.com", node:".kernel-video-element"},
- { url:"tv.sohu.com", node:"#player"},
- { url:"film.sohu.com", node:"#playerWrap"},
- { url:"www.le.com", node:"#le_playbox"},
- { url:"video.tudou.com", node:".td-playbox"},
- { url:"v.pptv.com", node:"#pptv_playpage_box"},
- { url:"vip.pptv.com", node:".w-video"},
- { url:"www.wasu.cn", node:"#flashContent"},
- { url:"www.acfun.cn", node:"#ACPlayer"},
- { url:"vip.1905.com", node:"#player"},
- {url:"play.tudou.com",node:"#player"},
- {url:"www.bilibili.com/video",node:"#bilibiliPlayer"},
- {url:"www.bilibili.com/bangumi",node:"#player_module"},
- ];
-
- vipHelper.defaultSourceArray=[
- {"name":"JY","url":"https://jx.playerjy.com/?url=","mobile":0},
- {"name":"七哥","url":"https://jx.nnxv.cn/tv.php?url=","mobile":0},
- {"name":"虾米","url":"https://jx.xmflv.com/?url=","mobile":0},
- {"name":"虾米2","url":"https://jx.xmflv.cc/?url=","mobile":0},
- {"name":"七七云","url":"https://jx.77flv.cc/?url=","mobile":0},
- {"name":"咸鱼云","url":"https://jx.xymp4.cc/?url=","mobile":0},
- {"name":"大米云","url":"https://jx.dmflv.cc/?url=","mobile":0}
- ];
- vipHelper.getServerSource=function(){
- vipHelper.addStyle();
- vipHelper.generateHtml();
- vipHelper.operation();
- };
- vipHelper.eleId = Math.ceil(Math.random()*100000000);
- vipHelper.isRun = function(){
- var isVip = false;
- var host = window.location.host;
- var href = window.location.href;
- var vipWebsites = ["iqiyi.com","v.qq.com","youku.com", "le.com","tudou.com","mgtv.com","sohu.com","acfun.cn","bilibili.com","baofeng.com","pptv.com"];
- for(var b=0; b<vipWebsites.length; b++){
- if(host.indexOf(vipWebsites[b]) != -1){
- if("iqiyi.com"===vipWebsites[b]){
- if(href.indexOf("iqiyi.com/a_")!=-1 || href.indexOf("iqiyi.com/w_")!=-1 || href.indexOf("iqiyi.com/v_")!=-1){
- isVip = true;
- break;
- }
- }else{
- isVip = true;
- break;
- }
- }
- }
- return isVip;
- };
- vipHelper.addStyle=function(){
- var themeColor = "#2F4F4F";
- var innnerCss =
- "#plugin_analysis_vip_movie_box_"+vipHelper.eleId+" {position:fixed;top:200px; left:0px; padding:5px 0px; width:38px;}"+
- "#plugin_analysis_vip_movie_box_"+vipHelper.eleId+" >.plugin_item{cursor:pointer; width:100%; text-align:center;}"+
- "#plugin_analysis_vip_movie_box_"+vipHelper.eleId+" >.jump_analysis_website{padding:10px 0px;background-color:"+themeColor+";}"+
- "#plugin_analysis_vip_movie_box_"+vipHelper.eleId+" >.open_page_inner_source{margin-top:6px; padding:5px 0px;background-color:"+themeColor+";}"+
- "#plugin_analysis_vip_movie_box_"+vipHelper.eleId+" >.plugin_item >img{width:60%; display:inline-block; vertical-align:middle;}"+
- "#plugin_analysis_vip_movie_box_"+vipHelper.eleId+" >.plugin_item>.play_source_box{display:none;width:310px;height:400px;position:absolute;left:25px;overflow:hidden;}"+
- "#plugin_analysis_vip_movie_box_"+vipHelper.eleId+" >.plugin_item>.play_source_box> .inner_table_box{width:330px;height:100%;padding-left:10px;overflow-y:scroll;overflow-x:hidden;}"+
- "#plugin_analysis_vip_movie_box_"+vipHelper.eleId+" >.plugin_item>.play_source_box> .inner_table_box> table{width:300px;border-spacing:5px;border-collapse:separate;line-height:20px;}"+
- "#plugin_analysis_vip_movie_box_"+vipHelper.eleId+" >.plugin_item>.play_source_box> .inner_table_box> table td{border-bottom:3px solid "+themeColor+";border-top:3px solid "+themeColor+";width:33%;color:#FFF;font-size:11px;text-align:center;cursor:pointer;background-color:"+themeColor+";box-shadow:0px 0px 5px #fff;border-radius:3px;}"+
- "#plugin_analysis_vip_movie_box_"+vipHelper.eleId+" >.plugin_item>.play_source_box> .inner_table_box> table td:hover{border-bottom:3px solid #FEF2A6;border-top:3px solid #FEF2A6;}"+
- "#plugin_analysis_vip_movie_box_"+vipHelper.eleId+" >.plugin_item>.play_source_box> .inner_table_box> table .td_hover{border-bottom:3px solid #FEF2A6;border-top:3px solid #FEF2A6;}";
- GM_addStyle(innnerCss);
- };
- vipHelper.generateHtml=function(){
- var html="";
- var vipImgBase64 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEEAAABACAYAAABFqxrgAAADBklEQVR4Xu2cz6tNURTHP7tI5iRlID9CJFMlkYGSRPGklBRKiCSSxJMBkYGSgWQq/gBT/gMDUzMzf8RX6959nuO9e+75sff54d69B+/W23evvdbnrLX32j/OdfgiaStwGzgBvHfOPc7qln9KsrpHRfU9/n+xgt6ngW/AK+fcT9PV2R9JZ4A3wHpvQBVh/yuETO/fwDXn3GfnAXxa9vTmAUJm8oJBMADmCfkyTxC+GAT1GMOD6DpBsIExeUKCMArH5AkJwnhcTp4wBcI85QmFnpAgAAlCgjAeMJMnJAjJE5YWdSkcIq5vvwP7IsprRVSrGaNzzuSfAz4Aa1qxIILQ1iHkNnKfAA8j6BxdRGcQ/IbuOuAtYDu+gymdQsh5xX7gHbB7CCR6gZCDccGPF6Ot/75KrxB8iKwCngL35hZCzit2Ac/8CVinPIo8YRH4OkWTQ1WO4WyKrGuNJDsGfAlsr9vW0v0mehdCqHCmV3oM1wRCzjPuAC9qgmiU6Q4Wgh8vNgJ2+HulIozZg5DzioMexuESGLMLIQfjkh+LNhXAmH0IPkTueq9YOwHEbEOQdMobv3dKSMwmBEl7fAhUWW/EhTCBdnaEn839bU+RtvS2PmyqXF11dmiid+9p8yTjJF0ELPZ3VjQ+6GuDgiDpAHAfOBZkVc3Gg4AgaQPwALieXSaraUfQ13uHIOmmN35bkCUBjXuDIOm4N/5ogP5RmnYOQdIOwJ7+1SgWRBDSGQRJNrXajVmL+80RdI8mYtp+QlknlfMESSe98UfKhAbW235CWVmhd6tLacBS3BvA5TLNItXHzRhjbKoAv4CiFV8ku/8RM0gIbRg6TWaC0PRKQdtjQvKErgkkTxgTjzsmNNm/7+HJL+8y6rnDAOzpToVW0+buzAjrKUFIF7zHHpQ8IUFInrA0mqZw8OHwY8IFqkaZV9hEFaV1E71HL4c+9wcdeS2aCItiRaCQJnovZC+MfwTO5hRoIixQ/yjN6+j994XxrGtJt4DzwBbgdaSdpSiW1RBSBcKKnw74AzEYpoku7zbwAAAAAElFTkSuQmCC";
- html+= "<div id='plugin_analysis_vip_movie_box_"+vipHelper.eleId+"' style='z-index:1145141919810;'>";
- html+= "<div class='plugin_item open_page_inner_source'><img src='"+vipImgBase64+"'>";
- html+= "<div class='play_source_box'>";
- html+= "<div class='inner_table_box'>";
- html+= "<table style=''><tr>";
- for(var playLineIndex=0; playLineIndex<this.defaultSourceArray.length; playLineIndex++){
- if(playLineIndex%3==0){
- html +="<tr>";
- html += "<td data-url='"+this.defaultSourceArray[playLineIndex].url+"'>"+this.defaultSourceArray[playLineIndex]['name']+"</td>";
- continue;
- }
- html += "<td data-url='"+this.defaultSourceArray[playLineIndex].url+"'>"+this.defaultSourceArray[playLineIndex]['name']+"</td>";
- if((playLineIndex+1)%3==0){
- html +="</tr>";
- }
- }
- html+= "</tr></table>";
- html+= "</div></div>";
- html+= "</div>";
- html+= "</div>";
- $("body").append(html);
- var $vipMovieBox = $("#plugin_analysis_vip_movie_box_"+vipHelper.eleId+"");
- var $playSourceBox = $("#plugin_analysis_vip_movie_box_"+vipHelper.eleId+">.plugin_item>.play_source_box");
- var btnHeight = $vipMovieBox.height();
- var playSourceBoxHeight = $playSourceBox.height();
- var playSourceBoxTop = (playSourceBoxHeight-btnHeight)*0.3;
- $playSourceBox.css("top","-"+playSourceBoxTop+"px");
- };
- vipHelper.comprehensiveAnalysis=function(videoUrl, newWindow){
- var jumpWebsite = "https://tv.wandhi.com/go.html?url="+videoUrl;
- if(newWindow && (typeof GM_openInTab==="function")){
- GM_openInTab(jumpWebsite, {active: true});
- }else{
- location.href = jumpWebsite;
- }
- };
-
- vipHelper.applyParse = function(sourceUrl, videoUrl) {
- var node = "";
- var playerNodes = vipHelper.playerNodes;
- for(var m in playerNodes) {
- if(videoUrl.indexOf(playerNodes[m].url)!= -1){
- node = playerNodes[m].node;
- break;
- }
- }
-
- if (node && $(node).length > 0) {
- $("#play-iframe-outer-7788op").remove();
- var playHtml = "<div id='play-iframe-outer-7788op' style='width:100%;height:100%;'><iframe allowtransparency=true frameborder='0' scrolling='no' allowfullscreen=true allowtransparency=true name='jx_play' style='height:100%;width:100%' id='play-iframe-6677i-7788'></iframe></div>";
- $(node).html(playHtml);
- var iframeSrc = sourceUrl + videoUrl;
- $("#play-iframe-6677i-7788").attr("src", iframeSrc);
-
- $("#plugin_analysis_vip_movie_box_"+vipHelper.eleId+" >.plugin_item>.play_source_box>.inner_table_box> table td").removeClass("td_hover");
- $("#plugin_analysis_vip_movie_box_"+vipHelper.eleId+" >.plugin_item>.play_source_box>.inner_table_box> table td[data-url='"+sourceUrl+"']").addClass("td_hover");
- }
- };
-
- vipHelper.operation=function(){
- $("body").on("click", "#plugin_analysis_vip_movie_box_"+vipHelper.eleId+" .jump_analysis_website", function(){
- vipHelper.comprehensiveAnalysis(window.location.href, true);
- });
- var $vipMovieBox = $("#plugin_analysis_vip_movie_box_"+vipHelper.eleId+">.open_page_inner_source");
- var $playSourceBox = $("#plugin_analysis_vip_movie_box_"+vipHelper.eleId+">.plugin_item>.play_source_box");
- $vipMovieBox.on("mouseover", () => {
- $playSourceBox.show();
- });
- $vipMovieBox.on("mouseout", () => {
- $playSourceBox.hide();
- });
- $("#plugin_analysis_vip_movie_box_"+vipHelper.eleId+" >.plugin_item>.play_source_box>.inner_table_box> table td").on("click", function(){
- var playUrl = window.location.href;
- var selectedSourceUrl = $(this).attr("data-url");
- vipHelper.lastSelectedSourceUrl = selectedSourceUrl;
- GM_setValue("lastSelectedSourceUrl_bestvip", selectedSourceUrl);
- vipHelper.applyParse(selectedSourceUrl, playUrl);
- })
- };
-
- vipHelper.listenForUrlChanges = function() {
- var lastHref = window.location.href;
-
- var handleUrlChange = function() {
- if (window.location.href !== lastHref) {
- lastHref = window.location.href;
- vipHelper.currentHref = window.location.href;
-
- if (vipHelper.isRun() && vipHelper.lastSelectedSourceUrl) {
- setTimeout(function() {
- vipHelper.applyParse(vipHelper.lastSelectedSourceUrl, window.location.href);
- }, 1000);
- }
- }
- };
-
- window.addEventListener('popstate', handleUrlChange);
-
- setInterval(handleUrlChange, 500);
- };
-
- vipHelper.start=function(){
- if(vipHelper.isRun() && window.top==window.self){
- vipHelper.getServerSource();
-
- var savedSourceUrl = GM_getValue("lastSelectedSourceUrl_bestvip", null);
- if (savedSourceUrl) {
- vipHelper.lastSelectedSourceUrl = savedSourceUrl;
- setTimeout(function() {
- vipHelper.applyParse(savedSourceUrl, window.location.href);
- }, 1000);
- }
- vipHelper.listenForUrlChanges();
- }
- };
- vipHelper.start();
-
- })();