xiaozhang / 聚合全网VIP视频免费在线看,普通视频去广告快速播放,聚合VIP无损音乐免费下载;知乎短视频下载 【电脑端安装后移动端可扫码观看】【此脚本长期维护更新】

// ==UserScript==
// @name         聚合全网VIP视频免费在线看,普通视频去广告快速播放,聚合VIP无损音乐免费下载;知乎短视频下载 【电脑端安装后移动端可扫码观看】【此脚本长期维护更新】
// @namespace    crack_vip_film_music
// @version      1.0.8
// @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/*
// @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/*
// @include      *://v.vzuu.com/video/*
// @connect 	 www.quzhuanpan.com
// @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
// @require      http://libs.baidu.com/jquery/2.0.0/jquery.min.js
// @require      https://greasyfork.org/scripts/376804-intelligent-weight/code/Intelligent_weight.js?version=684520
// @run-at       document-end
// @compatible	 Chrome
// @compatible	 Firefox
// @compatible	 Edge
// @compatible	 Safari
// @compatible	 Opera
// @compatible	 UC
// @license      MIT
// ==/UserScript==

(function() {
	'use strict';	
    var $ = $ || window.$;
    var window_url = window.location.href;
    var init={};  //初始化数据
    var operation={};  //具体操作部分
    init.start=function(){
    	var is_pull = false;
    	var pull_websites_string = GM_getValue("pull_websites");
    	var pull_website_time =  GM_getValue("pull_website_time");
    	if(!!pull_websites_string&&!!pull_website_time){
    		var nowTime = new Date().getTime();
			if(nowTime - Number(pull_website_time) > 1000*60*10){
				is_pull = true;
			}else{
				is_pull = false;
			}
    	}else{
    		is_pull = true;
    	}
    	if(!is_pull){
    		init.loadLocalWebsite(pull_websites_string);
    	}else{
    		init.pullWebsites();
    	}
    };
    init.loadLocalWebsite=function(websites){
    	try{
		    var serverResponseJson = JSON.parse(websites);
		    if(!!serverResponseJson){
		    	init.useWebsite(serverResponseJson);
		    }else{
		    	init.pullWebsites();
		    }
		}catch(e){
			init.pullWebsites();
		}
    };
    init.pullWebsites=function(){
		GM_xmlhttpRequest({
		  	method: "GET",
		  	url: "https://www.quzhuanpan.com/browser/tampermonkey_analysis_vip",
		  	onload: function(response) {
				var status = response.status;
				if(status==200||status=='200'){
					var serverResponseJson = JSON.parse(response.responseText);
					GM_setValue("pull_websites",response.responseText);
					GM_setValue("pull_website_time",new Date().getTime());
					init.useWebsite(serverResponseJson);
				}
		  	}
		});	
    };
    init.useWebsite=function(serverResponseJson){
    	operation.addFilmHtml(serverResponseJson);  //视频解析开始
    	operation.addMusicHtml(serverResponseJson);  //音乐解析开始
    }
    
	//加入操作方法
    operation.judgeFilmWebsiteGui=function(){
		var isIncreaseGui = false;
		var host = window.location.host;
		var hosts = ["iqiyi.com","qq.com","youku.com", "le.com","tudou.com","mgtv.com","sohu.com","acfun.cn","bilibili.com","baofeng.com","pptv.com"];
		var titleArray = ["爱奇艺","腾讯视频","优酷","乐视","土豆","AcFun","搜狐","PPTV","bilibili","芒果","暴风影音"];
		for(var j=0;j<hosts.length;j++){
			if(host.indexOf(hosts[j])!=-1){
				isIncreaseGui = true;
				break;
			}
		}
		if(isIncreaseGui){
			isIncreaseGui = false;
			var title = $("title").text();
			for(var i=0;i<titleArray.length;i++){
				if(!!title && title.indexOf(titleArray[i])!=-1){
					isIncreaseGui = true;
					break;
				}
			}
		}
		return isIncreaseGui;
	};
    operation.addFilmHtml=function(serverResponseJson){
    	start_pan();
    	if(operation.judgeFilmWebsiteGui()){  //判断是否增加页面GUI
	    	var innnerCss = "";
	    	innnerCss += ".crack_vip_film_box_url{position:relative!important; background-color:#ccc!important; border:1px solid #ccc!important;font-size:13px!important;}";
			innnerCss += ".crack_vip_film_box_url:after{position:absolute!important; content: ''!important; width:0!important; height:0!important; left:-8px!important; top:6px!important; border-right:7px solid #ccc!important; border-top:7px solid transparent!important; border-bottom:7px solid transparent!important;}";
	    	innnerCss += '.line_choice_a_xs8c{color:#000!important; font-size:13px!important; text-decoration:none!important;}';
	    	innnerCss += '.line_choice_a_xs8c:hover{color:#FF5C38!important;}';
	    	$("body").prepend("<style>"+innnerCss+"</style>");
	    	
	    	//左边图标
	    	var vipImg = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAgAElEQVR4Xu19eZwcVbX/91R3VRYgBCQkJF3NlkxXG0VADYjwgKcgokRQUEgQxOUnguK+4b6gz12fsogGeEIiIiCLsihCwMfOk0WgazJAQlVPCItsCTCp21Xn96meGZhMerlVXd1dVd31Vz6Zc84959z77ap771kI/afvgb4H6nqA+r7pe6Dvgfoe6AOkvzr6HmjggT5A2rQ8zLkoUFZd5DEVCSgCvBHg++Hh5sxw5ZYFwMY2Dd0XG6EH+gCJ0JmrZ2HOyNTssQR6P4h2qyeawQ4Bd4Hpeva8q4zhym0EcISq9EVF5IE+QCJw5Cgw1J8RcBSIMoFFMh4G4VTDci4KzNtnaKsH+gBp0b2r8tm3eqBLAJrRoiif/eIZFef4uWvxYgSy+iIi8EDPAISBzGAuexCI3gaiAWYsAPFOYKwH6N8gfooYJjFu9UC3GWXnAQK8Rj4u5TLvIVL+EOqtUf/765qC7byTADeC+e2LaNEDqQfIQ3Ohi4z2MRBOIGCOrL+Y+ektWeT0Ml6qxfNQDvMFqfcS0XRZmbJ0zPyzoi0+I0vfp2ufB1ILEDuHaS8q2hcY/CWApgZ2IeNKw3YW1+Mz89pfABwaWK4sA7uHG7Z7uSx5n649HkglQEq57AFEyvkg5MK6jdg9omC7l9XiH8prC13g/rCyg/Hx88y4B6CbM+TdsGWlcnN/jxLMg61Qpw4gZl47isHLCaSGdgzzUwVbzK63BzF19XQQnRRafguMDBYE3AGmleR5N0ynyi31PgNbGKbPOuaBVAHEzKunAPSLVmeXmX9StMXnaslZvROmbvTUdQBt3eo40fDzCEB/BrvnG7Z7RTQy+1LGPZAagFQ/qxTlhkimtuIYxloM1pJVymlLSMHySMaJWAiDryMWxxs21kYsumfFpQIg62Zji2emaEME7NDqTDLz7UVb7F1/c67+HaD/bHWctvEzP5XxxB4LhlFu2xg9JDgVADHz6m8A+nAU88bgjxYtcXbNt8cc7ESq+giI4u63El509jKe8u94+k8rHoj7RDe1zb+PqJA6CCKlKXFTAh6ZuVFsN+dxvFATIHntWwR8vamYeBD80LCcL8ZDleRqkXiAmLq6HERLopkCPt+wxHG1ZDFAg7pWBmFuNGO1WwqPwOV3THEqD+78JNa1e7S0yk80QIZ07OpCXRXN2wNgzzuwWK6srPn20LMHEynXJnMh8HNguonA12rrxfKdn8WzybSj81onGiCDunYaE06NyG1rDMvZue7mXFf9mKv3RjRWF8X4eSl0BXnuuQNl96/9mK/GU5FogJi6ZrdyW76Jaxg/Nmzn87Xc9fA22NrZSn2ypcvHLkKi3tAMrCPGbzMvOD9a8DSej6GKXVcpsQApzc3uQ1nl5qg8yOwdUrQrNT+horqAjErXqOX4gZkEfKVgi1/3E7c29W5iARJluAczV7K22LJeGqypq3eC6A1RL8zYyWM+17DFB2OnVxcVSiRA/NwOM1/95NkmCt8xwyrazo61ZJnbYStMU59LwN1HFK4Ae/yJYln8KhJhKRCSSIAM5jKHspLxw80jeRj8z6IlXl/z9CqnvZYU3BfJQAkQ4ufLA/xN8hQLirdmC6/yz14OhkwkQMy8egFAS6Nbb3yLYYk313yD6OobQHRndGMlTBKzn9n4TwbOMGxxAQGVhFnQkrqJA8hYNO0zoZKg6h/nPGzYzvzaAMFckDbckpdTwszAowrzDxVbLOuVskWJA0hJ144hwooo15yfY1G0hFZPZqTHyVEq3iVZDH4cHk7LlsXZaQdK8gCS164k4J2Rr40GIe6mrv4MRJ+KfMyEC/TfKBnXPXlg2I1sPxg3lyQKII/msc1LrD4ZaRWRsRlh9j5ftCs/rjVBD+ewQCjaqrhNXmz0YXzXsJ2vxUafCBVJFEBMXT0RRGdGaP8ropj/17DFfvU/s9R/gGjftoydCqH8KcMSLWdzxs0VSQNIWxep6jkDu5YxVHOzntOWQsEFcZvA2OjD/BIcsdB4HKtjo1MEiiQGIEPzkHMzmh2BzXVFNMpFHwKmVHR1mIhe1U4dEi2beZlhi0gS1+Lih8QAxMxnvwgo/9VOxzHzvw1bzKl31m/m1U8C9PN26pBk2f4lY9YRuQXr8GSS7Zioe3IAoqv3gei17XY8e1haLDs1j5EZUAfz2r2otjPoPzU94PGHjbJYlhbvJAIgQ3nt1S7wQEecznyXYYs31hurmuKrqHcCNLMj+iRsEAb+XLScwxKmdl11EwGQUk77Pin4UqecrsA7aMCqXFcXJNV6v+oFRPQfndIpOePwSMESW6UlJCURAOn4TTbzvwq22LPZJPu1uEDKJwBeTETZ5CziNmvK/EbDFne1eZSOiI89QAbz2X0Zyj864o2JgzC+Y9iOVAWToTmY5WrqUjA+2Il9Usd9EXBABd7BA1blbxPZ/Cr7lYz20Sw7580v46GAIrtGHnuAmLp6Bog+1nEPMa41bOeQoOOW8urrwTiBCEt7dZ9SKztzVU7dy1Potqo/me9gxvnTFbF8RwvPBPVxJ+ljDZCoE6OCOZb/bljircF4XqF+ANCyuvZuj2AQ89ZMdDABrw4rL0l8inBePfAYShN1NnPZQ6AoV2/6kmZBTFczu7/zyu6VCwEnbnbGGiCr5mXe4WUyf+6K05hXGrY4MKqxfcAouvZ7Irw7KplxlMPAY0XL2ax22GBePZ5B59XX2S9NhOVwxX/Xq4vcDXtjDZBoi8IFdC/zPwxbRH5K5fc0dKF8kpjf3o6gy4BWRk5O4F8WLHHKZMElXT2PiI5vOiCzx6DLsi5/d8FacXdT+jYTxBYgbUmMCuBMBt9atMQ+AVgCkQ7OxXacUY8CcAyAfVOR887saRWxyy6P4dHJzjB19QkQzQrkJOYzp2TEZ3Zeg5FAfBESxxYgXW8zwHyHYYu9IvR1XVF+nFlFyb4PRMcQqGZufCf0aH2M2qVb/YMLAoU99h3MAO9ZYDmduSie5ITYAqTtPQCbrAYG/1/RElKlfkp57UowryGPLy0MV25s1h230dCleRhQKHu0R8pSIgy0vmg7JIGZVRaFWtHQpbz6awL9v7CaMPOLCnBAwRYdrw0QS4C0MzFKepKY7zVssbsMvamrd4BoNDyF+SmAzssQzmv1V29wnvo6VrAnMeueomTAfHJco4kZuKRoOUdO9pd/R1TR1DKB6qY0y/gY4GfZFXsVh9HRxLVYAmRQV09iotPlHNceKma+v2gLqeDIkq7eSkSbNd3xZRDxiYZViaQCZGkOdoKmXhy7zzBmJg97FIaFH8i5yWPmNT8CO5o2DIy1GeHs3slo4VgCxMyr/wtQzTI87YFDTaklw3Kk7i1MvUm2IfMdAM7KvCAuabUGLgPKYF57D5hPAtEBHfRH/aGYzzJssdllbrXo3nR1GKCtItOzw9UfYweQTiRGyUwWM4aKtiO1BzB19QaZxernSxDTNWBcNFM4l9Vr1COjn0+zehbmOFO1/Rl8AIj270oYPvO/pmTEolonTaV89ssE5Xuy9sjSEfOiTu1HYgeQdjlV1vkT6B4xLGdXGT4zr14H0FtkaMdp/Au17AbHaPWNMnHMh2Zj+8oUbX9m9sFyABEtDKJTCNrBbMU5aP5abJbpWT2md1Ur8NGuhBKNKmFKsAciiSFAtAeiC8ng55hxtUK4RnHEVePfrn63qHIO22xgbKco2dlMtCcz7Q/iA8br/Taq17vZd7auXQPC22Q979fhgsv7F4crt8ryhKGzc5j2AqkLmXlLIt6aoZwWCWj8aouMX80U4iv129W15+0x7gfF5T0GhsU9YfwShCdWADFz2m5QsNlGL4hB1aJmjBVgvsIoV/4RpEGMDxxTzx4MKB8FYc+i5ewkM3bQI+lGWYsy44Wl8fcvZk47mhT+EBgHhrmc9H+9yaMTjLJTt17xIztgR0dV721rL3nmnxu2+HRYX8jyxQsgLZ148How/2imU/lpq9/2vvNK8/Cq4jD+LeNIU9cuB2GxDC2AWDTXtHPY9gVkFxGwyFOURWB+ExFtW9cG9ttK8/cKtjirUQ8R32+kaLeDIPV5KumzGmT8RMESO7Ry5yQzdmwAMtYk0wrVMYr5DPbE12UXtIxjgtCUdO0SmSBEPx3VsJzFQZrU+Hnwpq76lQv/TR6fbQxXbgiiWxBaczZ2Jk1bxMT7gLEbQM8DXCbCHQOWWN4sgcwPn/Ey6spIPuMkFGfH2bm4DmskSEOTxAYgg3p2PyblpiCW+C3EFNc7tjBc+XsQvqhpzbx2EQA/rqr+w3zfFiz2DtpKYGLAJoOfMSwxmwARtQ2tyhvKawsrjEs7efvfqCtYq/aM88cGIKaungWij8oaxsw3Tl0vDo9Dx9aSrq4gIj/osObjA3nqS84eQdsxm7ns56EoPxwXyuCzi5aQ9pGsL1ulGy2HhB8ANKVVWUH42eNTimXxyyA8QWljAZAQiVGlzAZn7yBHpEPbYoY3PbOvB2VXIuzCRPMJGGEPD0Fxb9664l4/dy1eDOpAn36Vnv0PD8qpAB88eePrxxER05sabWprjVnKZ95JrFwxUR6x9x8FuyKVfjyoZz/jkTKDKs7v25VfYep+z/hqn/ruXFgyTjNs56th5kyWJxYAqS4GZK6UUpr5qYwn9lgw7G8aGz+j9wLq0QAWM2P/xoUVeASMS+HxssJw5YYg+4RxLapFrkk9CYQPAjTD/39iHFOwnQub6Trx79XTPOLbQDTt5f9nlA3b0WXkrNoBRU/VHhyl5ZHMBjE7yI+JzBg+zWAO8zyqvj0jz5uR0YHgfblgVdpaTDAeANHV3xORv5CbPjK/oo9sj9liqvoVBj4SstHOarB3LnHlnEIZgZvnrJ2L6esVdSmDtzHKlZc/kZoaN3Y7PjJNu5uAORPpmfH9ou1I9YSfWCaJmW8q2sK/OGzL4x+urMpnv8hM3wtzbNyKUp3op9h1gARLjOILDEu8v5FTTT2zmKGc2/DIUnZWmD2A/grPXVYYdi9v9+Z47GLPf3PsNlnFDLBwgeWMvRXqGzB2Guj3j59XfYN5/JFCWfxW1uSwdP5XAFj5AxFNDysjKF8n7pO6DhAzpx0LBec3dw6vp4rYpbAWT9WjbZ733HyUehR+3V4Czs8Q/UZmoQYdqXpJmdeuqNUciMF3Fy2xp4xMv1YXKUr1KNi/sfdeEtsufBIbZHhbpamWaGK6qVNvkgw78xfYeLhVvRvxdx8gunYVCG9vaiR7Xzfsynfq0Znzsv8Jhf7akTxv5juZsIxeFCuMp7C+qe4SBGZe+wGAL9QiZfY+V7QrP5EQA1NXl4FovNf5xYblND5+lhEagMbUte+A0NaN8xj4nylaov7FZgCdYwsQ6cQo5pemkZhXr4bSaGsCbRUR8hH5RU6M3xODcHHG42ULypUb5Zg2p2qYXszMWUfMmf84nmgm3/9cHXHVJ4loyyotu4cbtnt5M74o/179TFTUtR2oCfZHw3LeG6XutWR19Q0yqKsnM1HzpvXMfgvik+t/WmW/xFC+325nNZLP7FcL9M6dOlI5J8h9R2le9k3I0I0EUmu+PcDXFS1xkIxtZl7zF8wfRmn52YIltpfZN62eiZkbt9IeYPBNxLguw+JamVPC+vOhfYOBb8roHJrGw/uNstP2hkZdBYiZV28GqHHlEGaGI3at17mo+vbIq4+NR+GGdnhUjMwuE12jeO6ygbLrNxxt2Fe8umcgur7edzszn1C0RYN6Uq8o7ufGv7yHYT7TsMVJMmaZuvoxEJ2xKS3fw6DLp77knBUE8L4MP2QFU7RHZMYOR8MjUxSxTSeqnXQNINKJUYzLDds5vJ4jzZz6ISjU9lOaUBPp56cTLWPX+VGjOLHBXPbrrCjf2nwMHnFfErNkNtmjbwHVHy8z+nXl7SMbTl8vZbgqh7lCwCUE/CRIkpKZr97DtKePCvMfDFtIXQuEmrcJTF0DSEnPnkqknNbMgGb3HmZe80tcGs3kdPfv7G/kv25YomZ3qtETLPVmAr1pEz0DLIRSTv04KTQediGf7CX7a8/+Az+0o/knsX+JqKvnMtEH2uJ3dt9l2O4VbZE9SWjXAGLq2kNNQ6KZ7zNs8bp6jliVzx7kQflrJxwVxRh+NO/WFed9tUJaalWxZ7iHFS1XqvSqqau3g2hR9Vcf+FbRcqT2AKW89i0CpKrY+ynDU58Xs2Xi3ybHkUXhv1HbOhuw2RWAVMvZZKhpNlizMA1T9og4qtmJRs5VBcs5rFYew8TEq7GFMEsm4WtVHrt40F6+D1Dg7DpgQWoPYOpaefxSUco81z3KGHYvbkZr6uoJIDqnGV3QvzP4N0VLhK6xFXS8rgDEzGt++MXnGyrLGC7YTr5eQszgXBicUR/s1KVUUMc2oa+ZNDWoZw5nyvypytvk5G6ifFPXvg3C18b2DLcVbbHpp1odZcL0XpG9vR7UtfcxIVAMmoyP2fMOLJYrK2Voo6DpCkBKeW0NATs2MqDZ5Vir1fqicF5oGf7XPPF+k+tl+RXgM7r6rB+kGGSTPfEtQMwnF2wx6USqtqZhfMjsva1oV5p+1rYnqqGaReh3IebQvg/I2HGA+KU1KaMNNtaT1+NFMa/eLXU1XXT0Mqqj+QcBfdvERFxt2M6hk4mq2YnAItnI3U3eAszulPViO5k9wlim4tMvXyrKGveiM0MmemBQVz/NRD+VFStD16iPvQx/GJqOA6T2mfumqjPzz4q2+Ew9g0w9+1WQUjfsJIwjOs7jVyNkoU+OFq5umhkk2/5tk0QzxhWG7bxLxhZzXuZIZDJ/lKEdp2HgL0XLeacMj6mrp4NI6h5GRp5Pk6nw6xesFf+UpY+CrhsAORNEJ9ZVntkjFvl6YeYMZAfz1Wp920fhgK7KqLHh9YM3FcW5RWaTPdq3XX1iQljHew3LkVr01VMmou8Hi13z9pUto1rKq7dsdmzdirMZDxu2M78VEWF4Ow+QZkXWmC8ybPG+esYM5tXjGPQ/YYyNHU+NRqF+fJps375Vucy7PSVziW8XM28wbLGtTGjJuB/Ge5QwcDQB+zU68AiSj7JuNrZ4VlOfCwa+xrNDnveNQrny7U7PYccB0ujW1jeePN6rUBZ+Lduaj6mr94Co7t1Ipx3YynitflOXdM0vknBEVQfmZYYtPhxWHz99lpA9mkELGZhP5F++0vbM/AKBzizYzhdlS+wM5jJHsJK5NKwutfg6Edpea9zOAySv3lW/OjnfbFhi37rgmJc9EBnl+igd301ZzPzToi0+G0YHP7RkZIb6xHiQY8bzDmglojiMDvV/xLTLQJDaC0mN28FmRpP16ThAGtWxJc99d6Hsjt4D1HhMXbsChMOknJoEIuaPGbY4K4yqpq6eCKIzR98e1TsjvZPHn/V0fnBH7ECsPlovOjmMrQB/yrDEL8LxtsbVeYDo1SoYS2qovbpgOX6lEa+WSdXbYlYfSujFYJ1Zkt/0ThYwsUVEkP1Ba8ulOfekhK3mDM0oAuTDNBMV5u9dAEj2KyDlu5OVbZaAX9LVXxFR3ZyQMMZ3k8f/tjdsMbNZOHwtHf1qIqxoL1d1qdWXvBu2VXsRMu6M8keMA+TDtMPmzgOk5j6C12/hidn1qg76jVh4mrqukwUB2uHsiTKZ+cKiLeoWm2s0/sTw+E62Amik08PbYGtnS+2+yLM6mT9o2OLcds9HPfkdB0j1BjevPj4xwYk9/Fex7Hy5npJmPvtFQGlr/aNOT0ArZTPNfDUwcRdfZ2L+TMEWP+u0/hPH89NsN5B6NY028Yns6XTRiVqKdxwgvhKlvHo2gT7i/9tPyFEdMa9eznX1YlDXVocqah3ZVEUtiO8xLLFHGKmrcupenkK3VXmZ3awj5srkq4cZS4bHr1jpbqle3TQzVEbYJBpmXFq0nfeEYI2MpSsAeVDXXqMQ/jVmRcPk+5KuHUOEFZFZHANBisd7D5TF7WFU2WQvxrjGsJ3mFWH8NNh89s2AsjhT4QsXrBV3hxl7Ms9YP5fLAOwchbzJMthzjyyW3epFaLeergCk+hbRtWuJcDCaZIel6WJw7Ff/JMMWo8ezAR+/hvFgXvXbTM+ssno41ig7y2XEmHn1dwBVi+75hb+J6PSC5VwW5OZ9fJzRKjLZz4Lom9Ee575iSZjIABk/BKXpGkCG8tqrK8y3Z22x3QJgYy3Fw+QrBHVAp+j972lifDIsOKo/KvnMYYTMWKqpfOGCetUrmflpACtA3rX0ontjsyhdP9HNy9ARYP54u/u1E/N5BVuc0Kn5qTdO1wDiKzQ4L/uWRr09Ju5Vuu2oVsb3KyPCo+OLZWf8szKUuE37kPD5hiWOkxEkVb2S2WPCPcTkd5Lyiz/43bUY4G2Z6VVE2L1dn1K1bFDgHTxgVf4mY187aboKkGaGlXT1qUh/qfxau0zHFcqOXzuKVuWwvaeoczKuN8dTlNkMnqMQzWHQHGaeDdAcIp4zXqm9mb4T/+7/OhPR39nzzogiA+6BWdhSmaY+Pf5JE2QBvfw5G8SArtJWE6PmyqQbt1vN2AIkioaemzkvZONH/yStnMOMDRXMoKw2QyFvpstQak1OFuCMW1mzy2N4NMrJ26S8EfOTBbvaaappZl21BYSmro0ysjZKu2rK8vgXRll8qu3jSAwQW4CU9OzbiJRrJGyQJ+lCKU555RpTlvRq77/qPUOQKGC/kQ6TIlXXNypdW5XTLKK7VflB+GMMkOiPdxneqUWr0tUSpUEmZ5y22hAnqz4wHsKRqfCeske1Zl69GyB//5CMp0uJUfWcE2OARP8G8duhKfCWFmzXP7vv6LN6FuaMTNUO1Ni5a9cyhoIMbuqvhI/75YBkq5pv2mkqyIhdpK2RRNZFbRBbgEwOyIvSScxYBfCtRFwCc4k91zSG8XCUm8KhOZjlatoBYD4QRAeOV39k5vs9W7x+IeA0s2kshOMsInr5tIqZHyja4jXNeP2/my31nZcZIXqabiVGJe4NUp1gXRsG+Y0i2//4VQMBesi/boAPIGq+gCdoReTx1lCwLYO2AfNOBCysFdVKjO8N2M7XJof1D+raaUze83BxBxTeCqDXMdHJBJo90Xr/dMywxXbNNuiTO02134OtjxCkUVDro8lJiO0bxFd/MN/9tgZybpSjalR0TarS/dgwDHdx0XIbNj1tyyGHnJmhqZi9zxftyo9DC2gDY6wB4oe5Y3q1gslWbbC9syKZf23YomY1l2qle0V9FEQ1j443V5TvcS2xV73PtLGI6dsIJNW2rbOOqDNalxOjEvmJVf3M8svTKEqgTrGxmPAJSvjJUYordqrXX9HU1XNAFCiswo+nykJ8aHKPPr/D7vMZ7fcgLI6bHxrp49tTtEV3+q03UCzWbxBf72rtJ10rNa0EH+fV0KDiyMS6ukFN8OO7wDgbzBcDylwifjMTHUHADkFldZuewR8tWuLsbusxefzYA8RXeFU++1YPStfjcsJOXq3wdr/+1YtQLyLQW8PKTQufD/TpELNl64F10u5EAKT6qZXX/gJgs1q2nXRWmLH8I+Wi7RQm85p67dz8MGMknodxpWE7sfwkTAxAhnTsWiG11K78g3YtMvbY78o03vmpOsxYT/TVzSrct0unuMklxtEFuxpAGrsnMQAZe4s07ysSKxfzRnW9mL3rM3huololPXswkXJtrFTtmjLyeS3dUDFRABk9oVHXgGhWN5wVfEy+wLBENYtv4mPmNb/A9JHB5aWRo7aP4mJpogDiO62kqx8goq6VgQkycQp7+w/YlZsm8vgFo72sujZpn4pB7A5CS557aKHsXh2Ep5O0iQNI9VMrAQWs627OU3CvE9UCDdKHMaoxg8pJJEAGc+oiVihUVZCgDgpLXy9soqRrg0QYCCs3VXwB+jB2y+5EAmTsU+s8Ijq+W45rNK5/rq9UxNzJN+dDuez+rqJ0rAFlHH2zqU7haxN3yrbEAsQPJ6+o6ppYliOt0wTIzKsXALS0U5Mb63EYZdk+jN20I7EAqe5FYvo9T+weMTkpy69dK7ZSH09049EIV2qzcrMRDtWSqEQDJK5xWlOed7aZ3GnWzKunANSVHhctrZA2MbOH3Votg9Qm1TYRm2iA+JYM5jKHspLxw1Bi8fi1hou2UCcrU9KzpxLRFwDaOhaKdlEJBh4sWs7CLqogPXTiAVLdsOfVv8Up6G8Lz5leq5XDA4CW1TOHMmWWAHwYQFOlZypFhEkqnpEKgMQuTsv13mIMVxr2UvSTwWi6eoTHtJTAb0lU3aoWwZpxHX3BMF5uANSiuLaypwIg1Q27rv0IhM+11VuSwoOW7feLuwlVfR8IS4hob8lhEkrWuFFr3IxKD0D89Nxp6sNxidMi8HEFS5wfdMJHezFmj2Eox6XxQpGYTy7Y4oygfukWfWoAUt2LxCpOizcCdJxhOReFndxV89TdvQwtAWNpp6q7hNVVhs8/wJhOYvs4JkbV0z9VABn91FLvAdHrZCasEzTMfBsBZ7sj4o8Ln8SGMGP6+SNDenY/D7SECe+d2L4ujLxu8cSlpUEQ+1MHkPjGafEIQH8mz11RKbt/kSkcV2siRyuWZA4BK0sIeBeIpgWZ8K7RMntZFoX5Zfi1xxLzpA4gY59asY3TGl0Z/CwYl8DjFYXhysp6veGbraJ1s7HFs6p2OBQsYeaDiSjbjKd7f5fvZ9I9HTcfOZUAiXWc1qQ5YOAxMF9IwArDFneFXRx+ngln1KNAWArGPlH2Kg+r08t8jOEp653XTI4uaFluBwSkEiDVvUgu+wUoyg864MPIhmDGkEJYnvGc5a18ijyyA3YUavYYZloCotdGpmAYQcweAXsXbHFnGPZu86QWIHGN05KecOa7/LeKNiJ+v/OTWCfNN4nQ7yhMgL9fORYEPayc8Hz8acMSPw/P313O1ALEd+uqeZl3eJnMn7vr4hZH99vGEVaCsVzdIC6ZXABCVnq1mHU+uw+YljJwHBFtIcsbli6OtZx3Fm4AAAfbSURBVHaD2pJqgPjOiFucVtAJ2pSeNzLTVf5JWGbYvbJed+BmY5g65jK0lURY0Iw27N/Z408Uy+JXYfnjwpd6gMQuTiuymefnmfEngFcYduW6oCdho62htcUMvB/Mh0R4AmYC3ocNq3JzZKZ2UVDqAVLdsMcoTqsdc83gxwn4g+JhxUBZBM7Vr576ZdWjiXAciN4QRscxHb5XsMTpUTYiCqNLlDy9AZCYxWlFOYE1ZD0Cxgr2nPOLw34nrWBPaR4GSNGOBfFbmLGo4ZuF+SkA1xPoTwO2cwkBItho8afuCYCMvkXUE0B0TvynJEoN+R5mXk6orDBsrA0q2b+IfEbNvlEhZY7HPEtRaFsPIAI/Qy5WDgyL+5p1ugo6ZtzoewYgYxv2dZNbmsVtQtqiDzMzcFP2BbF4wdN4vi1jpFRozwBk9F5EHZHv4pS2GeflhiWOTZtV7banZwAyNFfd083S/7XbobGVz3ymYYuTYqtfTBXrGYD05h5kwqpj/zhY9GtyBQRi7wAkp/4cCn0yoH/SRH6VYTnvSJNBnbCldwCSV68H6MBOODWeYyQrFzwuPuwlgDwD0My4OL7TejDz/UVbdDeyt9NGRzBeTwDEjz0CacMR+Cu5IhJSCzduDu4NgOSyh0BRYtukpTOLgtcblpjRmbHSM0qvACRxyVPtWGIFy8kEDWpshx5JktkTACnp6goiOiZJE9MOXafB2TZJJXfa4YOgMnsCIGZeKwEwgjonbfTsODsX12FN2uxqpz2pB4idw7QXSN3QuyEmrywfcnn3wrC4t50LKm2yUw+QoXnq3m6Gbk3bxIWxJ+N5BywoV24Mw9urPKkHiKmrJ4LozF6d4E3sZvddhu1e0feFvAd6ASBnguhEeZekl5LAxxcs8bv0Whi9ZakHSElXb01/SwG5hcEen1Isi1/KUfepfA/0AkBeiGUn3G6sP/a+ZtiV73Zj6KSOmWqAVPOrM9pgUicnar2Z+SdFW8SiyVDUtrVLXqoBYua1owCE7s/RLqd3Ty7/1rDER7o3fvJGTjVABnXtNCacmrxpaZvGfzQs571tk55CwakGiKlrV4BwWArnLZRJzPy3oi0ODsXco0ypBkhJ1x4lQr5H53Zzs5nvMGyxV98f8h5ILUBWz8TMjTO0Z+Rd0ROUg4bl9HxMWpCZTi1AhnLZ/V1FWRnEGWmn9cuDFi0xJ+12RmlfagFi5tVTAPpFlM5KviweMSyRjJ6GMXF2egGiq8tA9MGY+Dk2avSTpoJNRWoBUsqrdxHo9cHckX7q7EZn9vzH8UT6LY3GwlQChAHFzKsjBFKjcVN6pKieM7BrGUPpsai9lqQSIP0Qk/qLhpgXJbWhZnuhUFt6KgHSDzGpv5QUeAcNWJXrurHYkjhmOgGia98B4atJnJB268yee2Sx7F7S7nHSIj+tAOmHmNRboR5/2CiLZWlZwO22I5UAKeW1NQTs2G7nJVE+sffZgl35aRJ174bOqQPI2rmY/nxWe6EbzkzCmAx8u2g530iCrnHQMXUAGdSz+zEpN8XBufHUgf/bsEQvt4EINC2pA0gpp36cFOrnXddZBsz8P0VbfCDQKulh4tQBxNTV00HUbzVWb1EzLjNs54geXvOBTE8jQG4C0X6BvNBLxMwrDVv0cCOhYJOdOoCUdLVfxaTBGmDw3UVL7BlsmfQudaoAMpjDPFa0cu9Op5Tlqw3L2UWKsk+UrrpYJT37NiLlmv681vcAMz9dtMWr+j6S80Cq3iAlPftZIuXHcqb3KBWzZ9gi06PWBzY7ZQBRzyOi4wN7occY3JecrRY+iQ09ZnYoc1MFEFNX7wTRG0J5ooeYyHNyhTJ6u6mp5HynCiAlXd1ARFtI2t6zZBlg4QLLebBnHRDA8NQA5OG5yIus9mgA23uWlCvem4trK7f0rAMCGJ4agJj9Vs/S006ee2ih7PZ4W2w5d6UGIIO6+mkm6odxS8w7MY4p2M6FEqQ9T5IagJTy6tkE6lcul1nSzB8zbHGWDGmv06QGIGZevRmgfXp9QuXs975kWJUfyNH2NlVqANI/wZJfyMz4ftF2+m0hJFyWCoCsnoU5G6dpj0nY2yfxPcB8pmGLfkqAxGpIBUD6haolZnoiCfMKwxZLA3L1JHkqADKYUz/CCp3dkzMYzuirDMt5RzjW3uJKBUDMvOZvOL/QW1PXirV8s2GJfVuR0Cu8qQBISdcuJUI/jVRy1TLz/UVbvFaSvKfJUgEQU1fvBdFuPT2TQYxnlA3b0YOw9CptOgCSV18CaGqvTmJwu3m9YYkZwfl6jyPxABnaFjPcLbXnem/qWrO430hHzn+JB0i/1YHcRE+mmgZn2x0t9JucNnFf4gHSr6QYDiDsODsX12FNOO7e4Uo8QEw9sxiUubx3piwaS8nl3QvD4t5opKVXSvIBktOOhYLz0ztF7bEs43kHLChXbmyP9PRITQFA1A9Bod+mZ0o6ZInnvd0oV/olktK+BzFzfYCEgRS73j7F4cqtYXh7iSfxb5BSTltCCpb30qS1bitvnKKImTuvwUjrstItIfkA0bMHEynXpnuaIrauH80r7dDEA+ThHBYIRVslbXGPEzLzC6orivPXwu5xV0iZn3iA+Fb2K7pLzTXAKCvMRw6Uxe2SHD1PlgqAmLp6DohO6PnZrOkAHgHjLiKcPWCJCwkQfT/Je+D/A1FrcqoKC5ToAAAAAElFTkSuQmCC";
	    	var searchImg = "data:image/png;base64,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";
	    	var topBox = "<div style='position:fixed;z-index:999999;background-color:#ccc;cursor:pointer;top:150px;left:0px;width:28px;'>"+
							"<img id='crack_vip_film_box' style='width:100%;display:block;margin: 15px 0px;' src='"+vipImg+"' title='点我VIP解析'>"+
							"<img id='crack_vip_search_box' style='width:100%;display:block;margin: 15px 0px;' src='"+searchImg+"' title='点我资源搜索'>"+
					 	 "</div>";
	    	
	    	//解析到特定线路方便维护
	    	var film_urls = serverResponseJson.film_urls;
	    	var defaultCrackVipUrl = "http://www.sosogif.com/v/s/?url=";
	    	if(!!film_urls && film_urls.length > 0){
	    		var url = film_urls[0].url;
	    		if(!!url){
	    			defaultCrackVipUrl = url;
	    		}
	    	}
	    	defaultCrackVipUrl = defaultCrackVipUrl + window_url;
    		//追加HTML
    		$("body").append(topBox);

	    	//绑定点击事件
	    	$("body").on("click","#crack_vip_film_box",function(){
		    	window.open(defaultCrackVipUrl, "_blank");
		    });
		    var searchUrl="https://www.quzhuanpan.com/source/search.action?q=%E7%94%B5%E5%BD%B1&currentPage=1";
		    $("body").on("click","#crack_vip_search_box",function(){
		    	window.open(searchUrl, "_blank");
		    });
    	}
    };
    operation.judgeMusicWebsite = function(){
		var websites = ["music.163.com/#/song?id=","music.163.com/#/album?id=","y.qq.com","www.kugou.com","www.kuwo.cn","www.xiami.com","music.baidu.com","music.taihe.com/",,"music.migu.cn"];
		for(var i=0;i<websites.length;i++){
			if(window_url.indexOf(websites[i])!=-1){
				return true;
			}
		}
		return false;		
	};
    operation.addMusicHtml = function(serverResponseJson){
    	if(operation.judgeMusicWebsite()){
    		var innnerCss = "";
	    	innnerCss += ".crack_vip_music_box_url{position:relative!important;background-color:#ccc!important;border:1px solid #ccc!important;font-size:13px!important;}";
			innnerCss += ".crack_vip_music_box_url:after{position:absolute!important; content: ''!important; width:0!important; height:0!important; left:-8px!important; top:6px!important; border-right:7px solid #ccc!important; border-top:7px solid transparent!important; border-bottom:7px solid transparent!important;}";
	    	innnerCss += '.line_choice_a_xs8c{color:#000!important; font-size:13px!important; text-decoration:none!important;}';
    		innnerCss += '.line_choice_a_xs8c:hover{color:#D11919!important;}';
	    	$("body").prepend("<style>"+innnerCss+"</style>");
	    	
	    	//左边图标
	    	var downloadMusicImg = "data:image/png;base64,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";
	    	var searchImg = "data:image/png;base64,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";
	    	var topBox = "<div style='position:fixed;z-index:999999;background-color:#ccc;cursor:pointer;top:150px;left:0px;width:28px;'>"+
					"<img id='crack_vip_music_box' class='crack_vip_music_box_236ss' style='width:100%;width:100%;display:block;margin: 15px 0px;' src='"+downloadMusicImg+"' title='点我音乐解析'>"+
					"<img id='crack_vip_search_box' style='width:100%;display:block;margin: 15px 0px;' src='"+searchImg+"' title='点我资源搜索'>"+
				 "</div>";
		    
		    //弹出线路选择,默认选择线路一
	    	var linkUrls = serverResponseJson.music_urls;
	    	var defaultCrackVipUrl = "";
	    	var linkUrlHtml = "<div class='crack_vip_music_box_url_236ss' style='position:fixed;top:150px;left:40px;background-color:#ccc;z-index:999999;display:none;'>";
	    	linkUrlHtml += "<div class='crack_vip_music_box_url'>";
	    	var linkUrlObj;
	    	for(var i=0;i<linkUrls.length;i++){
	    		linkUrlObj = linkUrls[i];
	    		linkUrlHtml += "<div style='padding:3px 8px;text-align:left;'><a class='line_choice_a_xs8c' href='"+linkUrlObj.url+encodeURIComponent(window_url)+"' target='_blank'>"+linkUrlObj.name+"</div>";
	    		if(i==0){
	    			defaultCrackVipUrl = linkUrlObj.url+encodeURIComponent(window_url);
	    		}
	    	}
	    	linkUrlHtml += "</div>";
	    	linkUrlHtml += "</div>";

    		//追加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();
			});
    	}
    };
    init.start();  //开启解析任务
})();

//集成下载知乎视频,作者:王超,版本:1.13,在此表示感谢,以下代码版权归原作者所有
//此脚本地址: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://v.vzuu.com/video/';
    const videoId = window.location.pathname.split('/').pop(); // 视频id
    const menuStyle = 'transform:none !important; left:auto !important; right:-0.5em !important;';
    const playerSelector = '#player';
    const controlBarSelector = playerSelector + ' > 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>';
    const svgCircle = '<circle cx="12" cy="12" r="8" fill="none" stroke-width="2" stroke="#555" />' +
        '<text x="50%" y="50%" dy=".4em" text-anchor="middle" fill="#fff" font-size="9"></text>' +
        '<path fill="none" r="8" transform="translate(12,12)" stroke-width="2" stroke="#fff" />';
    const svgConvert = '<circle cx="12" cy="12" r="8" fill="none" stroke-width="2" stroke="#fff" />' +
        '<path d="M13,7 L17,10 V11 H7 V10 H15 L12,8 Z M9,16 L7,14 V13 H17 V14 H9 L10,16 Z"></path>';
    const wechatIcon = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABuElEQVQ4T6WSv2uTQRjHv9/L+4YiCWpbo6jgJE5u4lIVAnYwl6SjIFLQv8HBRcFFBBcVoaXgIl0UMVwuBHR0sLSdClKogw5iqyIogjhE7itXUnkb3qagBzfc8+PzPPd9HuI/D7P5zrkJY8w5SSnJDWPMmrX21bAamwDv/R4ATwHYwWBJi0mSXK3Vaqt5IHrvxwG8BnB8SKUfks43m83lwRi22+27JK9FRwjhkDHmPoCLANTr9Q4kSfKI5JSk9XK5fKxarf7OQiLgE8mDfeNHSRWSaXxL+kByRNIzkl9IPq7X6++2Abz3PwFEDfLOCwC3JN0keRLAYQBfATwolUp3Yjexg5ckJ3Oy34QQrpN8TrKY419K0/RCFPG0pAWSJhsk6RLJGQB7AdyQNEXylKTbJM8CiHd2a4xXAMwBSLYgIYTLxpj5jDYjJMckfQZAkhVJ3/8ukvd+Q9IvAOMky5Kmo2i7LOq3TUC32z0aQjhjrX1CUtHW6XT2S3rf/8JOnIfbVnkwyjk3SbKzg4gLhUKhOhQQgc65EyTv9cd4pL8bowAmGo3Gyq6AvN5brda+YrFYsda+/SdAFvoH5C+l3GRotdcAAAAASUVORK5CYII=';
    let videos = []; // 存储各分辨率的视频信息
    let format = []; // 下载的格式; ts, mp4
    let blobs = null; // 存储视频段
    let ratio;
    let errors = 0;

    do {
        await wait(500);
    }
    while (!document.querySelector(controlBarSelector + '> div:nth-last-of-type(1)') || !document.querySelector(controlBarSelector + '> div:nth-last-of-type(1)').querySelectorAll('button')[0]);

    const domControlBar = document.querySelector(controlBarSelector);
    const domFullScreenBtn = document.querySelector(controlBarSelector + '> div:nth-last-of-type(1)');
    let domDownloadBtn = domFullScreenBtn.cloneNode(true); // 克隆全屏按钮为下载按钮
    let downloading = false;

    function wait(time) {
        return new Promise(function (resolve, reject) {
            setTimeout(resolve, time);
        });
    }

    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();
        });
    }


    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 bytesToSize(bytes) {
        let n = Math.log(bytes) / Math.log(1024) | 0;
        return (bytes / Math.pow(1024, n)).toFixed(0) + ' ' + (n ? 'KMGTPEZY'[--n] + 'B' : 'Bytes');
    }

    // 下载 m3u8 文件
    async function downloadM3u8(url) {
        const res = await fetchRetry(url, {}, 3);
        const m3u8 = await res.text();
        let i = 0;

        blobs = [];
        ratio = 0;
        errors = 0;

        // 初始化进度显示
        domDownloadBtn.querySelector('svg').innerHTML = svgCircle;
        updateProgress(0);

        m3u8.split('\n').forEach(function (line) {
            if (line.match(/\.ts/)) {
                blobs[i] = undefined;
                downloadTs(url.replace(/\/[^\/]+?$/, '/' + line), i++);
            }
        });
    }

    // 下载 m3u8 文件中的单个 ts 文件
    async function downloadTs(url, order) {
        let res;
        let blob;

        try {
            res = await fetchRetry(url, {}, 5);
            blob = await res.blob();

        } catch (e) {
            if (++errors == 1) {
                resetDownloadIcon();
                alert('下载视频失败,请重新下载。');
            }
            return;
        }

        ratio++;
        blobs[order] = blob;

        errors ? resetDownloadIcon() : updateProgress(Math.round(100 * ratio / blobs.length));

        store();
    }

    // 保存视频文件
    async function store() {
        for (let [index, blob] of blobs.entries()) {
            if (blob === undefined) return;
        }

        let blob = new Blob(blobs, {type: 'video/h264'});

        blobs = null;

        if (format == 'mp4-transform') {
            domDownloadBtn.querySelector('svg').innerHTML = svgConvert;
            blob = await convertToMp4(blob);
        }

        downloading = false;
        downloadBlob(blob);
    }

    // 下载 blob 里的视频
    function downloadBlob(blob) {
        let name = (new Date()).valueOf() + '.mp4'; //  + format
        let navigator = window.navigator;
        let url;

        // ArrayBuffer -> blob
        if (blob instanceof ArrayBuffer) {
            blob = new Blob([blob]);
        }

        // 结束进度显示
        resetDownloadIcon();

        // edge
        if (navigator && navigator.msSaveBlob) {
            navigator.msSaveBlob(blob, name);
        }
        else {
            url = URL.createObjectURL(blob);
            downloadUrl(url, name);
        }
    }

    // 下载指定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 resetDownloadIcon() {
        domDownloadBtn.querySelector('svg').innerHTML = svgDownload;
    }

    // 更新下载进度界面
    function updateProgress(percent) {
        let r = 8;
        let degrees = (percent == 100 ? 99.9999 : percent) / 100 * 360; // 进度对应的角度值
        let rad = degrees * (Math.PI / 180); // 角度对应的弧度值
        let x = (Math.sin(rad) * r).toFixed(2); // 极坐标转换成直角坐标
        let y = -(Math.cos(rad) * r).toFixed(2);
        let lenghty = Number(degrees > 180); // 大于180°时画大角度弧,小于180°时画小角度弧,(deg > 180) ? 1 : 0
        let paths = ['M', 0, -r, 'A', r, r, 0, lenghty, 1, x, y]; // path 属性

        domDownloadBtn.querySelector('svg > path').setAttribute('d', paths.join(' '));
        domDownloadBtn.querySelector('svg > text').textContent = percent;
    }

    // load QRCode js
    async function loadQrcode() {
        if (!unsafeWindow.qrcode) {
            return new Promise((resolve, reject) => {
                let script = document.createElement('script');
                script.src = 'https://cdn.rawgit.com/kazuhikoarase/qrcode-generator/3c72b1bb/js/qrcode.js';
                script.addEventListener('load', () => {
                    resolve();
                });
                document.body.appendChild(script);
            });
        }
    }

    // load ffmpeg js
    async function loadFfmpeg() {
        if (!unsafeWindow.ffmpegJS) {
            const res = await fetchRetry('https://cdn.rawgit.com/bgrins/videoconverter.js/42def8c4/build/ffmpeg.js');
            const js = await res.text();
        }
        return unsafeWindow.ffmpegJS;
    }

    // ts blob -> mp4 blob
    async function convertToMp4(blob) {
        let hasError = false;
        // const ffmpegJsUrl = 'https://cdn.rawgit.com/bgrins/videoconverter.js/42def8c4/build/ffmpeg.js';
        // const ffmpegJsUrl = 'https://gitee.com/dntc/videoconverter.js/raw/master/build/ffmpeg.js';
        const ffmpegJsUrl = 'https://coding.net/u/dntc/p/videoconverter.js/git/raw/master/build/ffmpeg.js';
        const orgPrompt = unsafeWindow.prompt;
        const buffer = await (new Response(blob)).arrayBuffer();
        const fileData = new Uint8Array(buffer);
        const importFfmpegJs = 'importScripts("' + ffmpegJsUrl + '");';
        const workerJs = importFfmpegJs + `
            function print(text) {
                postMessage({
                    type: 'stdout',
                    data: text
                });
            }

            onmessage = function(event) {
                const message = event.data;

                if (message.type === 'command') {
                    const module = {
                        files: message.files || [],
                        arguments: message.arguments || [],
                        print: print,
                        printErr: print,
                        TOTAL_MEMORY: message.TOTAL_MEMORY || false
                    };

                    postMessage({
                        type: 'start',
                        data: module.arguments.join(' ')
                    });

                    postMessage({
                      type: 'stdout',
                      data: 'Received command: ' + module.arguments.join(' ') +
                        ((module.TOTAL_MEMORY) ? '.  Processing with ' + module.TOTAL_MEMORY + ' bits.' : '')
                    });

                    const time = Math.floor((new Date()).getTime() / 1000);
                    const result = ffmpeg_run(module);
                    const totalTime = Math.floor((new Date()).getTime() / 1000) - time;

                    postMessage({
                        type: 'stdout',
                        data: 'Finished processing (took ' + totalTime + 'm)'
                    });

                    postMessage({
                        type : 'done',
                        data : result,
                        time : totalTime
                    });
                }
            };

            postMessage({
                type: 'ready'
            });
        `;
        const workerBlob = new Blob([workerJs], {'type': 'application/javascript'});
        const worker = new Worker(URL.createObjectURL(workerBlob));
        const parseArguments = function (text) {
            text = text.replace(/\s+/g, ' ');
            let args = [];
            // Allow double quotes to not split args.
            text.split('"').forEach(function (t, i) {
                t = t.trim();
                if ((i % 2) === 1) {
                    args.push(t);
                }
                else {
                    args = args.concat(t.split(' '));
                }
            });
            return args;
        };

        let files;

        return new Promise(function (resolve, reject) {
            worker.onmessage = function (event) {
                const message = event.data;

                if (message.type == 'ready') {
                    console.log('ffmpeg 格式转换代码加载完毕');

                    // worker.postMessage({
                    //     type: 'command',
                    //     arguments: ['-help']
                    // })

                    worker.postMessage({
                        type: 'command',
                        TOTAL_MEMORY: 268435456, // 256M, must be a power of 2
                        arguments: parseArguments('-i zhihu.ts -vf showinfo -strict -2 output.mp4'),
                        files: [
                            {
                                name: 'zhihu.ts',
                                data: fileData
                            }
                        ]
                    });
                }
                else if (message.type == 'start') {
                    console.log('Worker has received command');
                }
                else if (message.type == 'stdout') {
                    console.log(message.data);
                    if (!hasError && message.data.indexOf('TOTAL_MEMORY') != -1) {
                        hasError = true;
                        alert('分配的内存不足,转换出错。');
                    }
                }
                else if (message.type == 'done') {
                    // finishConvert();
                    const files = message.data;
                    resolve(new Blob([files[0].data]));
                }
            };
        });
    }

    // 获取视频信息
    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();

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

    // 鼠标事件 - 选择菜单项
    domDownloadBtn.addEventListener('pointerup', event => {
        let e = event.srcElement || event.target;

        if (downloading) {
            alert('当前正在执行下载任务,请等待任务完成。');
            return;
        }

        downloadUrl(videos[0].play_url);
    });

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