// ==UserScript==
// @name 磁力快显
// @author zxf10608
// @version 3.0
// @namespace http://tampermonkey.net/
// @homepageURL https://greasyfork.org/zh-CN/scripts/397490
// @icon https://gitee.com/zxf10608/js/raw/master/magnet00.png
// @description 在磁力宝、BTSOW、无极磁链ØMagnet等的搜索列表增加磁力链接显示,方便快速下载资源。
// @require https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js
// @include *://clb*.*
// @include *://*mag.net/search*
// @include *://btsow*/search/*
// @include *://www.sokankan*
// @include *://www.btmovi*
// @include *://www.eclmy*
// @include *://cilixingqiu*.*
// @include *://bt4g.*
// @include *://sobt*.*
// @grant GM_xmlhttpRequest
// @connect *
// @grant GM_setClipboard
// @grant GM_notification
// @grant GM_openInTab
// @run-at document-end
// @compatible chrome
// @license GPL License
// @downloadURL none
// ==/UserScript==
(function() {
var mag_href = location.href.match(/mag\.net/)
var clb_href = document.title.indexOf('磁力宝');
if (mag_href == null) {
$(document).ready(function(){
$('.common-link:odd,.search-tips,#cps-wrap').remove();
$('a:not([href^="magnet:"])').each(function(){
var reg = /(^|\/|&|-|\.|\?|=|:)([a-fA-F0-9]{40})/;
var link = $(this).attr('href') || '';
if(reg.test(link)){
$(this).attr('target','_blank');
var newLink = 'magnet:?xt=urn:btih:' + link.match(reg)[2];
$(this).after('
');
};
});
});
}else{
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 (mag_href != null) {
link = 'https://'+location.host+link;
};
magnetCall(link).then(function(htmlTxt){
arr[i] = new Promise((resolve, reject) => {
var newLink = htmlTxt.match(/href="(magnet.{54}).*"/)[1];
magnetEl.eq(i).after('
');
resolve(i);
});
});
};
Promise.all(arr).then((res) => {
console.log('磁力链接已全部加载完成。');
}).catch((err) => {
console.log('磁力链接加载失败');
});
};
$('body').on('contextmenu click','.mag1', function(e) {
var link=$(this).attr('href')
if(e.type == 'click'){
GM_openInTab(link,false);
}else{
GM_setClipboard(link);
GM_notification({
title:'磁力快显:',
text:'磁力链接复制成功!',
timeout:2000,
});
};
return false;
});
})();