磁力快显

在磁力宝、磁力管家、Skrbt、无极磁链ØMagnet等的搜索列表增加磁力链接显示,方便下载资源。

目前為 2020-10-14 提交的版本,檢視 最新版本

// ==UserScript==
// @name         磁力快显
// @namespace    http://tampermonkey.net/
// @description  在磁力宝、磁力管家、Skrbt、无极磁链ØMagnet等的搜索列表增加磁力链接显示,方便下载资源。
// @author       zxf10608
// @version      2.5
// @require      https://cdn.bootcss.com/jquery/3.5.1/jquery.min.js  
// @homepageURL  https://greasyfork.org/zh-CN/scripts/397490
// @include      *://cilibao*
// @include      *://clb*.*
// @include      *://bt4g.*
// @include      *://www.ciliguanjia*
// @include      *://www.yhg*.*/search/*
// @include      *://skrbt*
// @include      *://*mag.net/search*
// @include      *://btsow.*/search/*
// @grant        GM_xmlhttpRequest
// @connect      *
// @grant        GM_setClipboard 
// @grant        GM_notification
// @run-at       document-end
// @compatible   chrome
// @license      GPL License
// ==/UserScript==

(function() {
	
	var href1 = document.title.indexOf('磁力宝');
	var href2 = location.href.indexOf('ciliguanjia');
	var href3 = location.href.indexOf('skrbt');
	var href4 = location.href.indexOf('mag.net');
	var href5 = location.href.indexOf('btsow');
	var href6 = location.href.indexOf('yhg');
	
	if (href4 == -1 && href6 == -1) {
		$(document).ready(function(){
			$('.common-link:odd,.search-tips,#cps-wrap').remove();
		
			var hrefx = 'a[href*="detail"],a[href*="cili-"],a[href*="/magnet/"],a[href*="hash"]';
			$(hrefx).each(function() {
				if (href5 != -1) {
					$(this).attr('target','_blank');
					var reg =/detail\/hash\//;
				}else{
					var reg =/cili-|(detail\/\w{4,5}|magnet|hash)\//;
				};
				var Link =  $(this).attr('href').replace(reg,'detail/');
				var tempLink = Link.split('/detail/');
				var magnetHref = 'magnet:?xt=urn:btih:' + tempLink[1].substring(0,40);
				$(this).after('<a class="copy" data-href='+magnetHref+' href="javascript: void(0);" target="_blank" style="display:inline-block;" title="复制磁力链接">&nbsp;复制</a>');
				$(this).after('<a class="magnet" href='+magnetHref+' target="_blank"  title='+magnetHref+'>&nbsp;&nbsp;磁力链接</a>');
			});
		});
	};
	

	if (href4 != -1 || href6 != -1) {
		function magnetCall(href){
			return new Promise(function(resolve, reject){
				GM_xmlhttpRequest({
					method: 'GET',
					url: href,
					onload: function(data,status) {
						if(data.readyState==4 && data.status==200){
							var htmlTxt = data.responseText;
							resolve(htmlTxt);
						};	
					},
					onerror: function(error) {
						reject(error);
					},
				});
			});
		};
		
		var magnetEl = $('a[href*="/!"],a[href*="hash"]');
		console.log('磁力链接有'+magnetEl.length+'个');
		$(document).ready(function(){
			magnetEl.attr({'target':'_blank','style':'display:inline-block;'});
		});
		
		if (magnetEl.length<20){
			var n = magnetEl.length; 
		}else{
			var n = 20; 
		};

        let arr = []; 
        for (let i = 0; i < n; i++) {
			var Link = magnetEl.eq(i).attr('href');
			if (href6 != -1) {
				Link = 'https://'+location.host+Link;
			};
						
			magnetCall(Link).then(function(htmlTxt){
				arr[i] = new Promise((resolve, reject) => {
					var magnetHref = htmlTxt.match(/href="(magnet.{54}).*"/)[1];
					magnetEl.eq(i).after('<a target="_blank" class="copy" data-href='+magnetHref+' href="javascript: void(0);" style="display:inline-block;" title="复制磁力链接">&nbsp;复制</a>');
					magnetEl.eq(i).after('<a href='+magnetHref+' class="magnet" target="_blank" title='+magnetHref+' style="display:inline-block;color:blue;">&nbsp;&nbsp;磁力链接</a>');
					resolve(i);
				});
            });
        };
		
        Promise.all(arr).then((res) => {
			console.log('磁力链接已全部加载完成。');
        }).catch((err) => {
            console.log('磁力链接加载失败');
        });

	};	
	
	$('body').on('click','.copy', function(event) {
		GM_setClipboard($(this).data('href'));
		GM_notification({
			title:'磁力快显提示:',
			text:'磁力链接复制成功!',
			timeout:2000,
		});
		return false;
	});
	
})();