Skip to content

Instantly share code, notes, and snippets.

@pigfoot
Last active December 12, 2021 02:39
Show Gist options
  • Save pigfoot/135cdd2eaa0c14a9547c454d2d463b08 to your computer and use it in GitHub Desktop.
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-虫洞>
// ==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 <- <- <- <- <- <- <- <- <- <- <- <- <- <- <-
}();
@pigfoot
Copy link
Author

pigfoot commented Oct 6, 2019

Don't click "Raw" to install otherwise it cannot be updated.
Install: https://gist.github.com/pigfoot/135cdd2eaa0c14a9547c454d2d463b08/raw/kisssub.user.js

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment