// ==UserScript==
// @name 聚合全网VIP视频免费在线看,普通视频去广告快速播放,聚合VIP无损音乐免费下载;知乎短视频下载【此脚本长期维护更新】【电视剧可免跳出选集】
// @namespace crack_vip_film_music
// @version 2.0.2
// @description 聚合VIP视频免费在线看,普通视频去广告快速播放(若解析失败可多切换几个线路试试看),解析页面扫描二维码,移动端免费在线看,支持的网站包括但不限于:[腾讯视频]、[爱奇艺]、[优酷土豆]、[芒果tv]、[乐视视频]、[PPTV]、[搜狐视频]、[bilibili]、[AcFun]、[暴风影音]等等;聚合VIP无损音乐免费下载,支持的网站包括但不限于:[网易云音乐]、[QQ音乐]、[酷狗音乐]、[酷我音乐]、[虾米音乐]、[百度音乐]等等;知乎短视频下载,分享、保存都方便
// @author crack_vip_film_music_broom
// @icon data:image/png;base64,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
// @include *://*.youku.com/v_*
// @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/*
// @include *://pan.baidu.com/s/*
// @include *://yun.baidu.com/s/*
// @include *://pan.baidu.com/share/init*
// @include *://yun.baidu.com/share/init*
// @include *://music.163.com/*
// @include *://y.qq.com/n/yqq/*
// @include *://www.kugou.com/song*
// @include *://www.kuwo.cn/yinyue/*
// @include *://www.xiami.com/song/*
// @include *://music.baidu.com/*
// @include *://music.taihe.com/song*
// @include *://music.migu.cn/*music/song/*
// @include *://www.zhihu.com/*
// @match *://www.zhihu.com/*
// @include https://v.vzuu.com/video/*
// @include https://video.zhihu.com/video/*
// @include *://www.guandianzhiku.com/v/*
// @match https://v.vzuu.com/video/*
// @match https://video.zhihu.com/video/*
// @connect pcw-api.iqiyi.com
// @connect cc.infopocc.top
// @connect pan.baidu.com
// @connect yun.baidu.com
// @connect zhihu.com
// @connect vzuu.com
// @grant GM_xmlhttpRequest
// @grant GM_getResourceText
// @grant GM_getValue
// @grant GM_setValue
// @grant GM_download
// @grant GM_openInTab
// @require http://libs.baidu.com/jquery/2.0.0/jquery.min.js
// @require https://greasyfork.org/scripts/391006-weight/code/weight.js?version=739789
// @run-at document-idle
// @compatible Chrome
// @compatible Firefox
// @compatible Edge
// @compatible Safari
// @compatible Opera
// @compatible UC
// ==/UserScript==

(function() {
'use strict';
var $ = $ || window.$;
var window_url = window.location.href;
var website_host = window.location.host;

////////////VIP解析////////////////
var togetherVipMovie={};
togetherVipMovie.analysisWebsite="http://www.guandianzhiku.com/v/s/?url=";
togetherVipMovie.judgeVipWebsite=function(){
var isVip = false;
var host = window.location.host;
var vipWebsites = ["iqiyi.com","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){
isVip = true;
break;
}
}
return isVip;
};
togetherVipMovie.addStyle=function(){
var innnerCss =
`
#plugin_together_analysis_vip_movie_box{position:fixed; top:160px; left:0px; width:20px; background-color:red;z-index:999999;}
#plugin_together_analysis_vip_movie_box >.plugin_item{cursor:pointer; width:20px;height:35px;text-align:center;line-height:35px;}
#plugin_together_analysis_vip_movie_box >.plugin_item >img{width:18px;display: inline-block; vertical-align: middle;}
`;
$("body").prepend("<style>"+innnerCss+"</style>");
};
togetherVipMovie.generateHtml=function(){
var html="";
var vipImgBase64 = "data:image/png;base64,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";
var documentImgBase64 = "data:image/png;base64,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";
html+= "<div id='plugin_together_analysis_vip_movie_box'>";
html+= "<div class='plugin_item jump_analysis_website' title='VIP视频破解,电视剧可自由选集'><img src='"+vipImgBase64+"'></div>";
html+= "<div class='plugin_item jump_document_website' title='300W文档免费下载'><img src='"+documentImgBase64+"'></div>";
html+= "</div>";
$("body").append(html);
};
togetherVipMovie.operation=function(){
$("body").on("click", "#plugin_together_analysis_vip_movie_box .jump_analysis_website", function(){
var jumpWebsite=togetherVipMovie.analysisWebsite+window_url;
GM_openInTab(jumpWebsite, { active: true });
});
$("body").on("click", "#plugin_together_analysis_vip_movie_box .jump_document_website", function(){
GM_openInTab("https://www.wocali.com/", { active: true });
});
};
togetherVipMovie.getSelected=function(){

var episodeList=[];
var episodeObj = {
"websiteTitle":"",
"episodeList":episodeList
};
GM_setValue("episodeObj",episodeObj);
if(website_host==="v.qq.com"){
var $mod_episode = $(".mod_episode");
try{
if($mod_episode.attr("data-tpl")=="episode"){
$mod_episode.find(".item").each(function(){
var $a = $(this).find("a");
var href = $a.attr("href");
if(!!href){
href = "https://v.qq.com"+href;
var aText = $a.text();
aText = aText.replace(/\s/g,"");
episodeList.push({"aText":aText, "href":href, "description":""});
}
});
}
}catch(e){}
//加入油猴缓存
if(episodeList.length!=0){
episodeObj.episodeList=episodeList;
episodeObj.websiteTitle="qq";
GM_setValue("episodeObj",episodeObj);
}
};
if(website_host==="www.iqiyi.com"){
var $i71playpagesdramalist = $("div[is='i71-playpage-sdrama-list']");
if(!!$i71playpagesdramalist){
var data = $i71playpagesdramalist.attr(":initialized-data");
if(!!data){
var dataJson = JSON.parse(data);
try{
for(var i=0; i<dataJson.length; i++){
var aText = dataJson[i].order;
var tvId = dataJson[i].tvId;
var description = dataJson[i].subtitle;
if(!!aText && !!tvId){
var href = "https://pcw-api.iqiyi.com/video/video/playervideoinfo?tv;

//追加HTML
$("body").append(topBox+linkUrlHtml);

//绑定点击事件
$("body").on("click","#crack_vip_music_box",function(){
window.open(defaultCrackVipUrl, "_blank");
});
var searchUrl="https://www.quzhuanpan.com/source/search.action?q=%E6%94%BE%E6%9D%BE%E9%9F%B3%E4%B9%90&currentPage=1";
$("body").on("click","#crack_vip_search_box",function(){
window.open(searchUrl, "_blank");
});

//鼠标滑动事件
var isShowUrlBox = false;
$(".crack_vip_music_box_236ss").mouseover(function(){
isShowUrlBox = true;
$(".crack_vip_music_box_url_236ss").show();
});
$(".crack_vip_music_box_236ss").mouseout(function(){
isShowUrlBox = false;
setTimeout(function(){
if(!isShowUrlBox){
$(".crack_vip_music_box_url_236ss").hide();
isShowUrlBox = false;
}
},100);
});
$(".crack_vip_music_box_url_236ss").mouseover(function(){
isShowUrlBox = true;
$(this).show();
});
$(".crack_vip_music_box_url_236ss").mouseout(function(){
isShowUrlBox = false;
$(this).hide();
});
}
};
togetherVipMusic.addMusicHtml(); //开启解析任务
////////////MUSIC解析/////////////
})();

//集成下载知乎视频,作者:王超,版本:1.17,在此表示感谢,以下代码版权归原作者所有
//此脚本地址:https://greasyfork.org/zh-CN/scripts/39206
(async () => {
if (window.location.host == 'www.zhihu.com') return;

const playlistBaseUrl = 'https://lens.zhihu.com/api/videos/';
//const videoBaseUrl = 'https://video.zhihu.com/video/';
const videoId = window.location.pathname.split('/').pop(); // 视频id
const menuStyle = 'transform:none !important; left:auto !important; right:-0.5em !important;';
const playerId = 'player';
const coverBarSelector = '#' + playerId + ' > div:first-child > div:first-child > div:nth-of-type(2)';
const controlBarSelector = '#' + playerId + ' > div:first-child > div:first-child > div:last-child > div:last-child > div:first-child';
const svgDownload = '<path d="M9.5,4 H14.5 V10 H17.8 L12,15.8 L6.2,10 H9.5 Z M6.2,18 H17.8 V20 H6.2 Z"></path>';
let player = document.getElementById(playerId);
let resolutionMap = {'标清': 'sd', '高清': 'ld', '超清': 'hd'};
let videos = []; // 存储各分辨率的视频信息
let downloading = false;

function getBrowerInfo() {
let browser = (function (window) {
let document = window.document;
let navigator = window.navigator;
let agent = navigator.userAgent.toLowerCase();
// IE8+支持.返回浏览器渲染当前文档所用的模式
// IE6,IE7:undefined.IE8:8(兼容模式返回7).IE9:9(兼容模式返回7||8)
// IE10:10(兼容模式7||8||9)
let IEMode = document.documentMode;
let chrome = window.chrome || false;
let system = {
// user-agent
agent: agent,
// 是否为IE
isIE: /trident/.test(agent),
// Gecko内核
isGecko: agent.indexOf('gecko') > 0 && agent.indexOf('like gecko') < 0,
// webkit内核
isWebkit: agent.indexOf('webkit') > 0,
// 是否为标准模式
isStrict: document.compatMode === 'CSS1Compat',
// 是否支持subtitle
supportSubTitle: function () {
return 'track' in document.createElement('track');
},
// 是否支持scoped
supportScope: function () {
return 'scoped' in document.createElement('style');
},

// 获取IE的版本号
ieVersion: function () {
let rMsie = /(msie\s|trident.*rv:)([\w.]+)/;
let match = rMsie.exec(agent);
try {
return match[2];
} catch (e) {
return IEMode;
}
},
// Opera版本号
operaVersion: function () {
try {
if (window.opera) {
return agent.match(/opera.([\d.]+)/)[1];
}
else if (agent.indexOf('opr') > 0) {
return agent.match(/opr\/([\d.]+)/)[1];
}
} catch (e) {
return 0;
}
}
};

try {
// 浏览器类型(IE、Opera、Chrome、Safari、Firefox)
system.type = system.isIE ? 'IE' :
window.opera || (agent.indexOf('opr') > 0) ? 'Opera' :
(agent.indexOf('chrome') > 0) ? 'Chrome' :
//safari也提供了专门的判定方式
window.openDatabase ? 'Safari' :
(agent.indexOf('firefox') > 0) ? 'Firefox' :
'unknow';

// 版本号
system.version = (system.type === 'IE') ? system.ieVersion() :
(system.type === 'Firefox') ? agent.match(/firefox\/([\d.]+)/)[1] :
(system.type === 'Chrome') ? agent.match(/chrome\/([\d.]+)/)[1] :
(system.type === 'Opera') ? system.operaVersion() :
(system.type === 'Safari') ? agent.match(/version\/([\d.]+)/)[1] :
'0';

// 浏览器外壳
system.shell = function () {
if (agent.indexOf('edge') > 0) {
system.version = agent.match(/edge\/([\d.]+)/)[1] || system.version;
return 'Edge';
}
// 遨游浏览器
if (agent.indexOf('maxthon') > 0) {
system.version = agent.match(/maxthon\/([\d.]+)/)[1] || system.version;
return 'Maxthon';
}
// QQ浏览器
if (agent.indexOf('qqbrowser') > 0) {
system.version = agent.match(/qqbrowser\/([\d.]+)/)[1] || system.version;
return 'QQBrowser';
}
// 搜狗浏览器
if (agent.indexOf('se 2.x') > 0) {
return '搜狗浏览器';
}

// Chrome:也可以使用window.chrome && window.chrome.webstore判断
if (chrome && system.type !== 'Opera') {
let external = window.external;
let clientInfo = window.clientInformation;
// 客户端语言:zh-cn,zh.360下面会返回undefined
let clientLanguage = clientInfo.languages;

// 猎豹浏览器:或者agent.indexOf("lbbrowser")>0
if (external && 'LiebaoGetVersion' in external) {
return 'LBBrowser';
}
// 百度浏览器
if (agent.indexOf('bidubrowser') > 0) {
system.version = agent.match(/bidubrowser\/([\d.]+)/)[1] ||
agent.match(/chrome\/([\d.]+)/)[1];
return 'BaiDuBrowser';
}
// 360极速浏览器和360安全浏览器
if (system.supportSubTitle() && typeof clientLanguage === 'undefined') {
let storeKeyLen = Object.keys(chrome.webstore).length;
let v8Locale = 'v8Locale' in window;
return storeKeyLen > 1 ? '360极速浏览器' : '360安全浏览器';
}
return 'Chrome';
}
return system.type;
};

// 浏览器名称(如果是壳浏览器,则返回壳名称)
system.name = system.shell();
// 对版本号进行过滤过处理
// System.version = System.versionFilter(System.version);

} catch (e) {
// console.log(e.message);
}

return system;

})(window);

if (browser.name == undefined || browser.name == '') {
browser.name = 'Unknown';
browser.version = 'Unknown';
}
else if (browser.version == undefined) {
browser.version = 'Unknown';
}
return browser;
}

function fetchRetry(url, options = {}, times = 1, delay = 1000, checkStatus = true) {
return new Promise((resolve, reject) => {
// fetch 成功处理函数
function success(res) {
if (checkStatus && !res.ok) {
failure(res);
}
else {
resolve(res);
}
}

// 单次失败处理函数
function failure(error) {
times--;

if (times) {
setTimeout(fetchUrl, delay);
}
else {
reject(error);
}
}

// 总体失败处理函数
function finalHandler(error) {
throw error;
}

function fetchUrl() {
return fetch(url, options)
.then(success)
.catch(failure)
.catch(finalHandler);
}

fetchUrl();
});
}

// 下载指定url的资源
async function downloadUrl(url, name = (new Date()).valueOf() + '.mp4') {
let browser = getBrowerInfo();

// Greasemonkey 需要把 url 转为 blobUrl
if (GM_info.scriptHandler == 'Greasemonkey') {
let res = await fetchRetry(url);
let blob = await res.blob();
url = URL.createObjectURL(blob);
}

// Chrome 可以使用 Tampermonkey 的 GM_download 函数绕过 CSP(Content Security Policy) 的限制
if (window.GM_download) {
GM_download({url, name});
}
else {
// firefox 需要禁用 CSP, about:config -> security.csp.enable => false
let a = document.createElement('a');
a.href = url;
a.download = name;
// a.target = '_blank';
document.body.appendChild(a);
a.click();
document.body.removeChild(a);

setTimeout(function () {
URL.revokeObjectURL(url);
}, 100);
}
}

function humanSize(size) {
let n = Math.log(size) / Math.log(1024) | 0;
return (size / Math.pow(1024, n)).toFixed(0) + ' ' + (n ? 'KMGTPEZY'[--n] + 'B' : 'Bytes');
}

if (!player) return;

// 获取视频信息
const res = await fetchRetry(playlistBaseUrl + videoId, {
headers: {
'referer': 'refererBaseUrl + videoId',
'authorization': 'oauth c3cef7c66a1843f8b3a9e6a1e3160e20' // in zplayer.min.js of zhihu
}
}, 3);
const videoInfo = await res.json();

// 获取不同分辨率视频的信息
for (let [key, video] of Object.entries(videoInfo.playlist)) {
video.name = key;

if (!videos.find(v => v.width == video.width)) {
videos.push(video);
}
}

// 按分辨率大小排序
videos = videos.sort(function (v1, v2) {
return v1.width == v2.width ? 0 : (v1.width > v2.width ? 1 : -1);
}).reverse();

let mutationObserver = new MutationObserver(mutations => {
mutations.forEach(mutation => {
if (mutation.type == 'attributes'
&& mutation.attributeName == 'class'
&& mutation.target === document.querySelector(coverBarSelector)) {
Object.values(document.styleSheets).forEach(styleSheet => {
try {
var classes = styleSheet.rules || styleSheet.cssRules;
} catch (e) {
return;
}

if (!classes) return;

// 获取封面div的class对应的css规则
for (let i = 0, len = classes.length; i < len; i++) {
if (classes[i].selectorText == '.' + mutation.target.className) {
let visibility = classes[i].style.visibility;

if (visibility == 'hidden') {
if (document.querySelector('.download')) return;

let domControlBar = document.querySelector(controlBarSelector);
let domFullScreenBtn = document.querySelector(controlBarSelector + '> div:nth-last-of-type(1)');
let domResolutionBtn = document.querySelector(controlBarSelector + '> div:nth-last-of-type(3)');
let domDownloadBtn, defaultResolution, buttons;

// 克隆分辨率菜单或全屏按钮为下载按钮
domDownloadBtn = domResolutionBtn.className == domFullScreenBtn.className
? domResolutionBtn.cloneNode(true)
: domFullScreenBtn.cloneNode(true);

defaultResolution = domDownloadBtn.querySelector('button').innerText;

// 生成下载按钮图标
domDownloadBtn.querySelector('button:first-child').outerHTML = domFullScreenBtn.cloneNode(true).querySelector('button').outerHTML;
domDownloadBtn.querySelector('svg').innerHTML = svgDownload;
domDownloadBtn.className = domDownloadBtn.className + ' download';

buttons = domDownloadBtn.querySelectorAll('button');

// button 元素添加对应的下载地址
buttons.forEach(dom => {
let video = videos.find(v => v.name == resolutionMap[dom.innerText || defaultResolution]);
video = video || videos[0];
dom.dataset.video = video.play_url;
if (dom.innerText) {
(dom.innerText = `${dom.innerText} (${humanSize(video.size)})`);
}
else if (buttons.length == 1) {
dom.nextSibling.querySelector('div').innerText = humanSize(video.size);
}
});

// 鼠标事件 - 显示菜单
domDownloadBtn.addEventListener('pointerenter', () => {
let domMenu = domDownloadBtn.querySelector('div:nth-of-type(1)');
if (domMenu) {
domMenu.style.cssText = menuStyle + 'opacity:1 !important; visibility:visible !important';
}
});

// 鼠标事件 - 隐藏菜单
domDownloadBtn.addEventListener('pointerleave', () => {
let domMenu = domDownloadBtn.querySelector('div:nth-of-type(1)');
if (domMenu) {
domMenu.style.cssText = menuStyle;
}
});

// 鼠标事件 - 选择菜单项
domDownloadBtn.addEventListener('pointerup', event => {
if (downloading) {
alert('当前正在执行下载任务,请等待任务完成。');
return;
}

let e = event.srcElement || event.target;

while (e.tagName != 'BUTTON') {
e = e.parentNode;
}

downloadUrl(e.dataset.video);
});

// 显示下载按钮
domControlBar.appendChild(domDownloadBtn);
}
break;
}
}
});
}
});
});

mutationObserver.observe(player, {
attributes: true,
characterData: false,
childList: false,
subtree: true,
attributeOldValue: false,
characterDataOldValue: false,
attributeFilter: ['class']
});
})();

相关文章: