// ==UserScript==
// @name 视频跳过广告和 VIP 视频解析
// @name:en Kill ADs and Watch VIP Videos
// @namespace http://mofiter.com/
// @version 0.6
// @description 也许是风格最贴近原视频网站的 VIP 视频解析脚本了,添加的解析按钮样式跟原视频网站已有的按钮一致,不会产生突兀感,支持腾讯视频、爱奇艺、优酷、土豆、芒果 TV、搜狐视频、乐视视频等,支持多个解析接口切换,支持站内站外解析
// @description:en maybe it's the most similar VIP videos script to origin website
// @author mofiter
// @create 2018-10-05
// @lastmodified 2018-11-04
// @require https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js
// @match http*://v.qq.com/x/cover/*
// @match http*://www.iqiyi.com/v*
// @match http*://v.youku.com/v_show/*
// @match http*://www.mgtv.com/b/*
// @match http*://tv.sohu.com/v/*
// @match http*://film.sohu.com/album/*
// @match http*://www.le.com/ptv/vplay/*
// @match http*://video.tudou.com/v/*
// @grant unsafeWindow
// @grant GM_openInTab
// ==/UserScript==
(function() {
'use strict';
var $ = $ || window.$;
var log_count = 1;
//自定义 log 函数
function mylog(param1,param2){
param1 = param1 ? param1 : "";
param2 = param2 ? param2 : "";
console.log("#" + log_count++ + "-VIP-log:",param1,param2);
}
function innerParse(id,url){
if(id == "sigu-jiexi"){
$("#iframe-player").attr("src","https://api.bbbbbb.me/jx/?url=" + url);
}else if(id == "927-jiexi"){
$("#iframe-player").attr("src","https://api.927.la/vip/?url=" + url);
}else if(id == "yunbofang-jiexi"){
$("#iframe-player").attr("src","https://cdn.yangju.vip/k/?url=" + url);
}
}
setTimeout(function(){
var parseList = "<ul><li id='927-jiexi'>927解析(站内)</li><li id='yunbofang-jiexi'>云播放解析(站内)</li><li id='sigu-jiexi'>思古解析(站内)</li><li id='biaoge-jiexi'>大表哥解析(站外)</li><li id='baiyug-jiexi'>百域学院解析(站外)</li><li id='m1907-jiexi'>m1907解析(站外)</li><li id='1717yun-jiexi'>1717云解析(站外)</li></ul>";
var videoPlayer = $("<div id='iframe-div' style='width:100%;height:100%;z-index:2147483647;'><iframe id='iframe-player' frameborder='0' width='100%' height='100%'></iframe></div>");
var fullScreenBtn = $("<span style='position:absolute;bottom:10px;right:20%;color:white;cursor:pointer;display:none;'>全屏</span>");
videoPlayer.append(fullScreenBtn);
fullScreenBtn.click(()=>{
var el = document.getElementById("iframe-div");
var rfs = el.requestFullScreen || el.webkitRequestFullScreen || el.mozRequestFullScreen || el.msRequestFullscreen;
if(typeof rfs != "undefined" && rfs) {
rfs.call(el);
};
return;
});
$(videoPlayer).mouseenter(function(){
fullScreenBtn.show();
setTimeout(()=>{
fullScreenBtn.hide();
},3000);
});
if (location.href.indexOf("www.iqiyi.com") > -1){
var qy_flash_func = $(".qy-flash-func");
var iqiyi_jiexi = $("<article class='func-item' style='margin-top:9px;'><span class='func-inner'><span class='func-name'>解析</span></span>" +
"<div class='qy-func-jiexi-pop fn-iqiyi-jiexi' style='display:none;position:absolute;top:34px;left:-50px;width:120px;text-align:center;line-height:25px;'><div class='qy-popup-box'><div class='popup-box-arrow'><span class='popup-box-arrowOut'><i class='popup-box-arrowIn'></i></span></div>" +
parseList + "</div></div></article>");
qy_flash_func.prepend(iqiyi_jiexi);
iqiyi_jiexi.on("mouseover",()=>{
$(".qy-func-jiexi-pop").show();
});
iqiyi_jiexi.on("mouseout",()=>{
$(".qy-func-jiexi-pop").hide();
});
$(".fn-iqiyi-jiexi li").each((index,item)=>{
$(item).on('mouseover',()=>{
$(item).css('cursor','pointer');
$(item).css('color','#01be07');
});
$(item).on('mouseout',()=>{
$(item).css('color','#000000');
});
$(item).on('click',()=>{
if(item.id == "sigu-jiexi" || item.id == "927-jiexi" || item.id == "yunbofang-jiexi"){
if(document.getElementById("iframe-player") == null){
document.getElementById("nav_LR").querySelector("a").click();
var flashbox = $("#flashbox");
flashbox.attr("z-index","400");
flashbox.empty();
flashbox.append(videoPlayer);
}
innerParse(item.id,location.href);
}
});
});
var iqiyi_jiexi_new = $("<div style='float:left;color:#999;cursor:pointer;'><span class='func-name'>解析</span></div>");
var funcRight = $(".funcRight");
funcRight.prepend(iqiyi_jiexi_new);
iqiyi_jiexi_new.click(()=>{
var vipFloatbgCls = $(".vipFloatbgCls").parent();
$(vipFloatbgCls).css("display","none");
$(".J_play-underFrame").css("display","none");
document.getElementsByClassName("usrTx-register")[0].querySelector("a").click()
$("#flashbox").empty();
$("#flashbox").append(videoPlayer);
});
iqiyi_jiexi_new.on("mouseover",()=>{
iqiyi_jiexi_new.css("color","#6ba430");
});
iqiyi_jiexi_new.on("mouseout",()=>{
iqiyi_jiexi_new.css("color","#999");
});
setInterval(()=>{
if($(".qy-player-vippay-popup") != null){
var qy_player_vippay_popup = $(".qy-player-vippay-popup").parent();
$(qy_player_vippay_popup).css("display","none");
}
var div = $("body").children("div");
div.each((index,item)=>{
try{
if($(item).css("position") === "fixed"){
$(item).remove();
}
}catch(err){
mylog(err);
}
});
},500);
}else if(location.href.indexOf("v.qq.com") > -1){
var type_name = unsafeWindow.COVER_INFO.type_name;
var vipPage = unsafeWindow.COVER_INFO.vipPage;
var mod_player;
if(type_name === "电影"){
var list_item = $(".mod_figure_list .list_item");
list_item.each(function(index,item){
item.addEventListener('click',()=>{
setTimeout(()=>{
location.reload();
},1000);
});
});
}else if(type_name === "电视剧" || type_name === "动漫"){
var select_items = $('.mod_episode .item');
select_items.each(function(index,item){
item.addEventListener('click',()=>{
setTimeout(()=>{
location.reload();
},1000);
});
});
var mod_episode_filter = $(".mod_episode_filter");
mod_episode_filter.click(()=>{
var select_items = $('.mod_episode .item');
select_items.each(function(index,item){
item.addEventListener('click',()=>{
setTimeout(()=>{
location.reload();
},1000);
});
});
});
}
var action_wrap = $(".action_wrap");
var qq_jiexi = $("<div class='action_item'><a class='action_title'><span>解析</span></a><div class='mod_pop_action fn-qq-jiexi' style='background-color:#fff;width:120px;left:160px;text-align:center;line-height:25px;'>" +
parseList + "</div></div>");
action_wrap.append(qq_jiexi);
qq_jiexi.on("mouseover",()=>{
$(".fn-qq-jiexi").show();
});
qq_jiexi.on("mouseout",()=>{
$(".fn-qq-jiexi").hide();
});
$(".fn-qq-jiexi li").each((index,item)=>{
$(item).on('mouseover',()=>{
$(item).css('cursor','pointer');
$(item).css('color','#fe6527');
});
$(item).on('mouseout',()=>{
$(item).css('color','#999999');
});
$(item).on('click',()=>{
if(item.id == "sigu-jiexi" || item.id == "927-jiexi" || item.id == "yunbofang-jiexi"){
if(document.getElementById("iframe-player") == null){
var mod_player;
var txp_ad_skip_text = $(".txp_ad_inner .txp_ad_skip_text");
if(txp_ad_skip_text.text() === "VIP可关闭广告"){
txp_ad_skip_text.click();
mod_player = $("#mod_player");
mod_player.empty();
mod_player.append(videoPlayer);
}else if(txp_ad_skip_text.text() === "关闭广告"){
txp_ad_skip_text.click();
}else if(type_name === "电视剧" || type_name === "电影" || type_name === "综艺" || type_name === "动漫" && vipPage === true){
var txp_btn_play = $(".txp_left_controls .txp_btn_play");
if(txp_btn_play.attr("data-status") === "pause"){
txp_btn_play.click();
}
mod_player = $("#mod_player");
mod_player.empty();
mod_player.append(videoPlayer);
}
}
innerParse(item.id,location.href);
}
});
});
setInterval(()=>{
$(".tvip_layer").css("display","none");
$("#mask_layer").css("display","none");
},500);
}else if(location.href.indexOf("v.youku.com") > -1){
setInterval(()=>{
$(".yk-dmtxtbox").css("width","300px");
},1000);
var bpmodule_playpage_paction = $("#bpmodule-playpage-paction .play-fn");
var youku_jiexi = $("<li class='fn-download fn-youku-jiexi'><span class='fn-title'><i class='fn-icon'></i></span><span class='text'>解析</span>" +
"<div class='fn-panel'><ul><li id='927-jiexi'>----------927解析(站内)----------</li><li id='yunbofang-jiexi'>---------云播放解析(站内)---------</li>" +
"<li id='sigu-jiexi'>----------思古解析(站内)----------</li><li id='biaoge-jiexi'>---------大表哥解析(站外)---------</li>" +
"<li id='baiyug-jiexi'>--------百域学院解析(站外)--------</li><li id='m1907-jiexi'>---------m1907解析(站外)---------</li><li id='1717yun-jiexi'>---------1717云解析(站外)---------</li></ul></div></li>");
bpmodule_playpage_paction.append(youku_jiexi);
$(".fn-youku-jiexi li").each((index,item)=>{
$(item).on('mouseover',()=>{
$(item).css('cursor','pointer');
$(item).css('color','#2592ff');
});
$(item).on('mouseout',()=>{
$(item).css('color','#333');
});
$(item).on('click',()=>{
if(item.id == "sigu-jiexi" || item.id == "927-jiexi" || item.id == "yunbofang-jiexi"){
if(document.getElementById("iframe-player") == null){
var ykPlayer = $("#ykPlayer");
ykPlayer.empty();
ykPlayer.append(videoPlayer);
$("#module_basic_player").css("height","100%");
var player = $("#player");
player.css("height","100%");
player.empty();
player.append(videoPlayer);
}
innerParse(item.id,location.href);
}
});
});
}else if(location.href.indexOf("www.mgtv.com") > -1){
var v_panel_box = $(".v-panel-box");
var mgtv_jiexi = $("<div class='v-panel-mod fn-mgtv-jiexi' style='cursor:pointer;'><a class='v-panel-submod'>解析</a>" +
"<div class='extend' style='top:10px;left:-50px;width:120px;text-align:center;position:relative;'><div class='v-panel-extend'><div class='fn-panel'>" +
parseList + "</div></div></div></div>");
v_panel_box.append(mgtv_jiexi);
mgtv_jiexi.click(()=>{
$(".fn-mgtv-jiexi .extend").toggle();
});
$(".fn-mgtv-jiexi li").each((index,item)=>{
$(item).on('mouseover',()=>{
$(item).css('color','#ff6f00');
});
$(item).on('mouseout',()=>{
$(item).css('color','#666');
});
$(item).on('click',()=>{
if(item.id == "sigu-jiexi" || item.id == "927-jiexi" || item.id == "yunbofang-jiexi"){
if(document.getElementById("iframe-player") == null){
var mgtv_player_wrap = $("#mgtv-player-wrap");
mgtv_player_wrap.empty();
mgtv_player_wrap.append(videoPlayer);
}
innerParse(item.id,location.href);
}
});
});
var selected_items = $(".aside-tabbox li");
selected_items.each(function(index,item){
item.addEventListener('click',()=>{
setTimeout(()=>{
location.reload();
},1000);
});
});
}else if(location.href.indexOf("tv.sohu.com") > -1){
var vBox_right = $(".vBox-right");
var sohu_jiexi = $("<div class='vBox vBox-play'><a class='vbtn'>解析</a><div class='vCont fn-sohu-jiexi' style='padding:0;'><ul style='line-height:25px;text-align:center;'>" +
"<li id='927-jiexi'>-------------927解析(站内)-------------</li><li id='yunbofang-jiexi'>-----------云播放解析(站内)-----------</li><li id='sigu-jiexi'>-------------思古解析(站内)-------------</li><li id='biaoge-jiexi'>-----------大表哥解析(站外)-----------</li>" +
"<li id='baiyug-jiexi'>----------百域学院解析(站外)----------</li><li id='m1907-jiexi'>-----------m1907解析(站外)-----------</li><li id='1717yun-jiexi'>-----------1717云解析(站外)-----------</li></ul></div></div>");
vBox_right.prepend(sohu_jiexi);
sohu_jiexi.click(()=>{
$(".fn-sohu-jiexi").toggle();
});
$(".fn-sohu-jiexi li").each((index,item)=>{
$(item).on('mouseover',()=>{
$(item).css('cursor','pointer');
$(item).css('color','#e33c30');
});
$(item).on('mouseout',()=>{
$(item).css('color','#a1a1a1');
});
$(item).on('click',()=>{
if(item.id == "sigu-jiexi" || item.id == "927-jiexi" || item.id == "yunbofang-jiexi"){
if(document.getElementById("iframe-player") == null){
var player_vipTips = $("#player_vipTips");
player_vipTips.css("display","none");
if(document.querySelector("#menu") == null){
var sohuplayer = $("#sohuplayer");
sohuplayer.empty();
sohuplayer.append(videoPlayer);
}else{
var player = $("#player");
player.empty();
player.append(videoPlayer);
}
}
innerParse(item.id,location.href);
}
});
});
}else if(location.href.indexOf("film.sohu.com") > -1){
var player_content_info = $(".player-content-info");
var sohu_film_jiexi = $("<div class='action-item'><a class='action-title'><span class='ico-text'>解析</span><i class='ico-down'></i></a><div class='hover-content fn-sohu-jiexi' style='width:120px;line-height:25px;text-align:center;margin-left:-61px;'>" +
parseList + "</div></div>");
player_content_info.prepend(sohu_film_jiexi);
$(".fn-sohu-jiexi li").each((index,item)=>{
$(item).on('mouseover',()=>{
$(item).css('cursor','pointer');
$(item).css('color','#ee3c3a');
});
$(item).on('mouseout',()=>{
$(item).css('color','#090909');
});
$(item).on('click',()=>{
if(item.id == "sigu-jiexi" || item.id == "927-jiexi" || item.id == "yunbofang-jiexi"){
if(document.getElementById("iframe-player") == null){
var playerWrap = $("#playerWrap");
playerWrap.empty();
playerWrap.append(videoPlayer);
}
innerParse(item.id,location.href);
}
});
});
}else if(location.href.indexOf("www.le.com") > -1){
var interact_area = $(".interact_area");
var le_jiexi = $("<li><a><span>解析</span></a><div class='fn-le-jiexi' style='display:none;width:120px;background-color:#fff;position:absolute;top:45px;left:-40px;border-top:2px solid #E42112;box-shadow:0 2px 6px 0 rgba(0,0,0,.1);'>" +
parseList + "</div></li>");
interact_area.prepend(le_jiexi);
$(".fn-le-jiexi li").each((index,item)=>{
$(item).css('height','25px');
$(item).css('padding','0 5px');
$(item).on('mouseover',()=>{
$(item).css('color','#e42013');
});
$(item).on('mouseout',()=>{
$(item).css('color','#999999');
});
$(item).on('click',()=>{
if(item.id == "sigu-jiexi" || item.id == "927-jiexi" || item.id == "yunbofang-jiexi"){
if(document.getElementById("iframe-player") == null){
var le_playbox = $("#le_playbox");
le_playbox.empty();
le_playbox.append(videoPlayer);
}
innerParse(item.id,location.href);
}
});
});
le_jiexi.click(()=>{
$(".fn-le-jiexi").toggle();
});
}else if(location.href.indexOf("video.tudou.com") > -1){
var td_interactbox = $(".td-interactbox__fn--right");
var tudou_jiexi = $("<div class='td-interactbox__fn__item'><div class='dropdown'><div class='tudou-jiexi-text' style='cursor:pointer;color:#fff;'>解析</div><div class='dropdown__panel fn-tudou-jiexi' style='width:150px;text-align:center;line-height:25px;left:-60px;'>" +
"<div class='dropdown__panel__pointer' style='right:50%;'></div>" + parseList + "</div></div></div>");
td_interactbox.prepend(tudou_jiexi);
tudou_jiexi.on("mouseover",()=>{
$(".tudou-jiexi-text").css("color","#ef6f2e");
$(".fn-tudou-jiexi").show();
});
tudou_jiexi.on("mouseout",()=>{
$(".tudou-jiexi-text").css("color","#fff");
$(".fn-tudou-jiexi").hide();
});
$(".fn-tudou-jiexi li").each((index,item)=>{
$(item).on('mouseover',()=>{
$(item).css('cursor','pointer');
$(item).css('color','#ef6f2e');
});
$(item).on('mouseout',()=>{
$(item).css('color','#666666');
});
$(item).on('click',()=>{
if(item.id == "sigu-jiexi" || item.id == "927-jiexi" || item.id == "yunbofang-jiexi"){
if(document.getElementById("iframe-player") == null){
var js_player = $(".td-playbox");
js_player.empty();
js_player.append(videoPlayer);
}
innerParse(item.id,location.href);
}
});
});
}
$("#biaoge-jiexi").click(()=>{
GM_openInTab('http://jx.biaoge.tv/index.php?url=' + location.href,{active:true});
});
$("#baiyug-jiexi").click(()=>{
GM_openInTab('http://app.baiyug.cn:2019/vip/?url=' + location.href,{active:true});
});
$("#m1907-jiexi").click(()=>{
GM_openInTab('https://z1.m1907.cn/?jx=' + location.href,{active:true});
});
$("#1717yun-jiexi").click(()=>{
GM_openInTab('http://www.1717yun.com/jx/ty.php?url=' + location.href,{active:true});
});
},3000);
})();