磁力快显

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

目前為 2020-09-06 提交的版本,檢視 最新版本

// ==UserScript==
// @name         磁力快显
// @namespace    http://tampermonkey.net/
// @description  在磁力宝、磁力管家、Skrbt、无极磁链ØMagnet网站的搜索列表增加磁力链接显示,方便下载资源。
// @author       zxf10608
// @version      2.2
// @require      https://cdn.bootcss.com/jquery/3.5.1/jquery.min.js  
// @homepageURL  https://greasyfork.org/zh-CN/scripts/397490
// @include      *://cilibao*
// @include      *://www.ciliguanjia*
// @include      *://skrbt*
// @include      *://*0mag.net/search*
// @include      *://*6mag.net/search*
// @include      *://btsow.*/search/*

// @grant        GM_xmlhttpRequest
// @connect      0mag.net
// @connect      6mag.net
// @grant        GM_setClipboard 
// @grant        GM_notification
// @run-at       document-end
// @compatible   chrome
// @license      GPL License
// ==/UserScript==

(function() {
	
	var href1 = location.href.indexOf('cilibao');
	var href2 = location.href.indexOf('ciliguanjia');
	var href3 = location.href.indexOf('skrbt');
	var href4 = location.href.indexOf('mag.net/search');
	var href5 = location.href.indexOf('btsow');
	
	if (href4 == -1) {
		$(document).ready(function(){
			$('.common-link:odd,.search-tips,#cps-wrap,#cps-wrap').remove();//删除广告
		
			var hrefx = 'a[href*="detail"],a[href*="cili-"]';
			$(hrefx).each(function() {
				if (href1 == -1) {
					var Link =  $(this).attr('href').replace(/cili-|detail\/\w{4,5}\//, 'detail/');
				} else {
					var Link = $(this).attr('href');
				};
				
				if (href5 != -1) {
					$(this).attr('target','_blank');
				};
				
				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" >&nbsp;&nbsp;磁力链接</a>');
			});
		});
	};
	
	//ØMagnet
	if (href4 != -1) {
	//if (location.href.match(/0mag.net\/(search)listing)/) != null ) {
		var magnetCall = function(href,callback) {
			GM_xmlhttpRequest({ 
				method: "GET",
				url: href,
				onload: function(data,status) {
					if(data.readyState==4 && data.status==200){
						var txt = data.responseText;
						var hashtemp = txt.split('data=');
						var magnetHref =hashtemp[1].substring(0,60);
						callback(null,magnetHref);
					};
				},
				onerror: function (error) {
					callback(error);
				},
				ontimeout: function (error) {
					callback(error);
				},
			});
		};
		
		var magnetEl = $('a[href*="/!"]');
		console.log('磁力链接有'+magnetEl.length+'个');
		$(document).ready(function(){
			magnetEl.attr({'target':'_blank','style':'display:inline-block;'});
		});
		
		magnetEl.each(function(i) {
			var tempLink = $(this).attr('href');	
			magnetCall(tempLink,function(error,magnetHref) {
				if (error) {
				  console.log('异步加载请求失败');  
				  return
				  };
				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" style="display:inline-block;color:blue;">&nbsp;&nbsp;磁力链接</a>');
			});
			
 			if (i>25){
				console.log('磁力链接过多,已停止异步加载');
				return;
			}; 
			
		});
	};	
	
	$('body').on('click','.copy', function(event) {
		GM_setClipboard($(this).data('href'));
		GM_notification({
			title:'磁力快显提示:',
			text:'磁力链接复制成功!',
			timeout:2000,
		});
		return false;
	});
	
})();