Last active
December 12, 2021 02:39
-
-
Save pigfoot/135cdd2eaa0c14a9547c454d2d463b08 to your computer and use it in GitHub Desktop.
A fork/expansion of the user script "TKF's 虫洞" <https://greasyfork.org/en/scripts/380106-虫洞>
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ==UserScript== | |
// @name 虫洞 | |
// @icon https://kisssub.org/images/favicon/kisssub.ico | |
// @namespace https://gist.github.com/pigfoot/135cdd2eaa0c14a9547c454d2d463b08 | |
// @version 0.0.2 | |
// @description A fork/expansion of the user script "TKF's 虫洞" <https://greasyfork.org/en/scripts/380106-虫洞>. | |
// @author pigfoot Chen | |
// @include /^https?:\/\/(www\.)?kisssub\.org\/.*$/ | |
// @include /^https?:\/\/(www\.)?comicat\.org\/.*$/ | |
// @include /^https?:\/\/(www\.)?miobt\.com\/.*$/ | |
// @grant none | |
// ==/UserScript== | |
//主要 | |
var acgscript_config; !function () { | |
acgscript_config = { | |
"miobt":{ | |
"3":{ | |
"base_url":"https://cdn.acgscript.com/script/miobt/live2d","show_toggle":false | |
}, | |
"4":{ | |
"api_url":"http://v2.uploadbt.com","source":"cdn.acgscript.com" | |
} | |
} | |
}; | |
// -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> 种子列表增强 -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> | |
(function ($) { | |
var log_name = 'acgscript/bt_list_enhanced'; | |
console.log([log_name, { | |
'in_script': Config['in_script'], | |
'platform': Config['user_script']['platform'] | |
}]); | |
if (Config['user_script']['platform'] !== 'desktop') { | |
return false; | |
} | |
if ((Config['in_script'] !== 'index') && (Config['in_script'] !== 'search')) { | |
return false; | |
} | |
console.log([log_name, { | |
'execute': true | |
}]); | |
$(document).ready(function () { | |
//匹配BT列表顿 | |
if (!$(".clear > table#listTable > tbody.tbody > tr[class^='alt'] > td > a[href^='show']").length) { | |
return false; | |
} | |
var link; | |
var tracker = 'http://open.acgtracker.com:1096/announce'; | |
var copyTextToClipboard = function (text) { | |
var textArea = document.createElement("textarea"); | |
textArea.style.position = 'fixed'; | |
textArea.style.top = 0; | |
textArea.style.left = 0; | |
textArea.style.width = '2em'; | |
textArea.style.height = '2em'; | |
textArea.style.padding = 0; | |
textArea.style.border = 'none'; | |
textArea.style.outline = 'none'; | |
textArea.style.boxShadow = 'none'; | |
textArea.style.background = 'transparent'; | |
textArea.value = text; | |
document.body.appendChild(textArea); | |
textArea.select(); | |
try { | |
var successful = document.execCommand('copy'); | |
var msg = successful ? 'successful' : 'unsuccessful'; | |
console.log('Copying text command was ' + msg); | |
} catch (err) { | |
console.log('Oops, unable to copy'); | |
} | |
document.body.removeChild(textArea); | |
}; | |
//复制 | |
var copyMagnet = function () { | |
var i = 0; | |
var arr = new Array(""); | |
//获取所有勾上class为checkMagnet的checkbox(每行资源所对应的checkbox),遍历 | |
$(".checkMagnet:checked").each(function () { | |
//获取该checkbox的val,即磁链,放到数组中 | |
arr[i] = $(this).val(); | |
i += 1; | |
}); | |
//把数组以换行回车连接为一个字符串 | |
var multiMagnet = arr.join("\r\n"); | |
//弹出确认对话框,用户选择积极选项时把字符串放入剪贴板 | |
if (confirm("即将复制已选磁链,确认进行_")) { | |
copyTextToClipboard(multiMagnet); | |
} | |
}; | |
//全逿 | |
var checkAll = function () { | |
//获取所有资源所对应的checkbox,遍县 | |
$(".checkMagnet").each(function () { | |
//当全选复选框与当前复选框的勾选状态不一样时 | |
if ($(this).get(0).checked != $("#checkAll").get(0).checked) { | |
//点击当前复选框 | |
$(this).get(0).click(); | |
} | |
}); | |
}; | |
//全选状态的临界状态处理,即全选到差一个全选,以及差一个全选到全逿 | |
var checkThis = function () { | |
//如果当前checkbox不被勾上 | |
if ($(this).get(0).checked === false) { | |
//全选复选框也不可以被勾丿 | |
$("#checkAll").get(0).checked = false; | |
} | |
//如果当前checkbox被勾上并且所有资源所对应的checkbox都被勾上 | |
else if ($(this).get(0).checked === true && $(".checkMagnet:checked").length == $(".checkMagnet").length) { | |
//全选复选框也要被勾丿 | |
$("#checkAll").get(0).checked = true; | |
} | |
}; | |
link = $(".clear > table#listTable > tbody.tbody > tr[class^='alt'] > td > a[href^='show']"); | |
var headTh = $(".l3.tableHeaderOver"); | |
var newColumn = headTh.clone(); | |
newColumn.removeClass("l3").addClass("l31").css("width", "65px"); | |
var checkall = $("<input/>", {type: "checkbox", id: "checkAll", title: "全逿"}); | |
headTh.after(newColumn.text("").append(checkall).append($('<i class="fa fa-clipboard" id="copy_magnets"></i>'))); | |
//对全选复选框和其他复选框监听变更事件 | |
$("#checkAll").on("change", checkAll); | |
//对列表页表格中的每一衿 | |
if (link != null) { // 不可使用!==进行两者的比较,因为undefined !== null的值为true | |
link.each(function () { | |
//从资源页url中切出hex编码hash | |
var str = $(this).attr("href").substring(5, 45); | |
//构成磁链 | |
var magnet = "magnet:?xt=urn:btih:" + str + "&tr=" + tracker; | |
var td = $("<td/>"); | |
var check = $("<input/>", {type: "checkbox", class: "checkMagnet", value: magnet}); | |
//把整个元素放到后面的td丿 | |
var a = $("<a/>", {href: magnet, class: "magnet", html: '<i class="fa fa-magnet"></i>'}); | |
$(this).parent().after(td.append(check).append(a)); | |
}); | |
} | |
if ($(".checkMagnet")) { | |
//对checkMagnet类的变更事件绑定全选复选框的选中变更函数 | |
$(".checkMagnet").on("change", checkThis); | |
} | |
$('#copy_magnets').click(function () { | |
copyMagnet(); | |
}); | |
$('i.fa').css('color', $('.box').css('border-color')); | |
}); | |
})(jQuery); | |
// <- <- <- <- <- <- <- <- <- <- <- <- <- <- <- END <- <- <- <- <- <- <- <- <- <- <- <- <- <- <- | |
// -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> 生存模式BT下载链接 -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> | |
(function($){ | |
if(acgscript_config['miobt']['4']['loaded']){ | |
return false; | |
} | |
acgscript_config['miobt']['4']['loaded']=true; | |
var log_name='acgscript/miobt/bt_download'; | |
console.log([log_name,{ | |
'source':acgscript_config['miobt']['4']['source'],'loaded':acgscript_config['miobt']['4']['loaded'],'api_url':acgscript_config['miobt']['4']['api_url'],'mika_mode':Config['mika_mode']['enabled'],'in_script':Config['in_script'],'platform':Config['user_script']['platform'] | |
}]); | |
if(!Config['mika_mode']['enabled']){ | |
return false; | |
} | |
if(Config['in_script']!=='show'){ | |
return false; | |
} | |
if(!$('#box_download')){ | |
return false; | |
} | |
var api_url=acgscript_config['miobt']['4']['api_url']; | |
var torrent_url={ | |
"lite":api_url+'/?r=down&hash='+Config['hash_id'],'full':api_url+'/?r=down&hash='+Config['hash_id']+'&name='+Config['down_torrent_format'].replace('%s',Config['bt_data_title']) | |
}; | |
var magnet_url={ | |
'lite':'magnet:?xt=urn:btih:'+Config['hash_id'],'full':'magnet:?xt=urn:btih:'+Config['hash_id'] | |
}; | |
if(Config['user_script']['platform']=='desktop'){ | |
$('#box_download h2.title').text('下载地址'); | |
$('#magnet').attr('href',magnet_url.full).text('磁链下载'); | |
$('#download').attr('href',torrent_url.full).text('种子下载'); | |
$('#qrcode_magnet').removeAttr('href').text('磁链扫码'); | |
$('#qrcode_download').removeAttr('href').text('种子扫码'); | |
$('#qrcode_magnet_enlarged').attr('qr_content',magnet_url.full); | |
$('#qrcode_download_enlarged').attr('qr_content',torrent_url.lite); | |
var register_qrcode_event=function(sel,sel_enlarged){ | |
$(sel).click(function(){ | |
$('.qrcode_enlarged').html('').hide();$(sel_enlarged).qrcode({ | |
render:"canvas",size:256,fill:'#0480BE',background:'#FFF',quiet:1,mode:2,minVersion:10,label:$(sel_enlarged).attr('qr_label'),fontname:'"Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Heiti SC", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif',fontcolor:'darkorange',text:$(sel_enlarged).attr('qr_content') | |
}); | |
$(sel_enlarged).fadeIn(200); | |
}); | |
$(sel_enlarged).click(function(){ | |
$(this).hide(); | |
}); | |
}; | |
$(document).ready(function(){ | |
register_qrcode_event('#qrcode_magnet','#qrcode_magnet_enlarged');register_qrcode_event('#qrcode_download','#qrcode_download_enlarged'); | |
}); | |
} | |
else if(Config['user_script']['platform']=='mobile'){ | |
$('#torrent_url').attr('href',torrent_url.full).text('种子下载').click(function(){ | |
return(prompt('确认下载该种孿',torrent_url.full)?true:false); | |
}); | |
$('#magnet_url').attr('href',magnet_url.full).text('磁力下载').click(function(){ | |
return(prompt('确认下载磁链',magnet_url.full)?true:false); | |
}); | |
} | |
else{ | |
return false; | |
} | |
})(jQuery); | |
// <- <- <- <- <- <- <- <- <- <- <- <- <- <- <- END <- <- <- <- <- <- <- <- <- <- <- <- <- <- <- | |
}(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Don't click "Raw" to install otherwise it cannot be updated.
Install: https://gist.github.com/pigfoot/135cdd2eaa0c14a9547c454d2d463b08/raw/kisssub.user.js