// ==UserScript==
// @name SIS一键下种
// @namespace SIS增强脚本
// @author jimmly
// @version 1.6.18
// @description 增加页面顶部底部按钮和一键下种按钮
// @create 2022-9-20
// @include http://sexinsex.net/bbs/*
// @include http://174.127.195.176/bbs/*
// @include *sis001*
// @include http://174.127.195.201/bbs/*
// @include http://174.127.195.183/bbs/*
// @include http://174.127.195.186/bbs/*
// @include http://174.127.195.188/bbs/*
// @include http://174.127.195.173/bbs/*
// @include http://174.127.195.187/bbs/*
// @include http://174.127.195.182/bbs/*
// @include http://174.127.195.184/bbs/*
// @include http://67.220.90.10/bbs/*
// @include http://67.220.90.4/bbs/*
// @include http://172.127.195.213/bbs/*
// @include http://172.127.195.190/bbs/*
// @license MIT
// @run-at document-idle
// ==/UserScript==
/**
* @typedef { import('jquery') } $
* @typedef { import('jQuery') } jQuery
*/
var addStyle = function (css) {
var s = document.createElement('style');
s.appendChild(document.createTextNode(css));
document.getElementsByTagName('head')[0].appendChild(s);
}
addStyle(`
a:link{color:green;}
a:hover{color:red;}
a:active{color:yellow;}
a:visited{color:orange;}
`)
;
(function (withJQuery) {
withJQuery(/** @param { $ } $ */function ($, win) {
$('a').removeAttr('style')
let mm = `opacity:1;-moz-transition-duration:0.2s;-webkit-transition-duration:0.2s;border-radius:5px 5px 5px 5px;cursor:pointer;position:fixed;top:15%;width:40px;height:120px;left:0px;z-index:9999`;
let container = $(document.createElement('div')).css({
'cssText': mm
});
let topref = 80;
//最顶按钮
let aa = `opacity:0.3;-moz-transition-duration:0.2s;-webkit-transition-duration:0.2s;
background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4RDY5NzMwMUU5NEJFMjExQjQ4NkI4QUQ0MEI3RkIzMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpCMDg5QzBEMjRCRUExMUUyQkJFNkZFQkYyNTMxNzEyNSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpCMDg5QzBEMTRCRUExMUUyQkJFNkZFQkYyNTMxNzEyNSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4RDY5NzMwMUU5NEJFMjExQjQ4NkI4QUQ0MEI3RkIzMSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4RDY5NzMwMUU5NEJFMjExQjQ4NkI4QUQ0MEI3RkIzMSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Poa+yUsAAABySURBVHja7NfBCkAhCETRpg/v1y2hfWmKBCO4ffdsXhFEpFVOb8VDwN8AAEP3SaB/gWfXaFj2Dvd3AuJPiKi4GxEZdyGi42ZERtyEyIpfIzLjV4js+BEB63W8Tj45HGzgZUQAAQQQ8BUAfJoRUA2YAgwAW/KKqewhSvEAAAAASUVORK5CYII=") no-repeat scroll 50% 50% rgba(0, 0, 0, 0.7);
border-radius:5px 5px 5px 5px;cursor:pointer;position: absolute;top:${topref}px;width:40px;height:40px;left:0px;z-index:9999`;
let a = $(document.createElement('span')).css({
'cssText': aa
});
let abc = a;
a.click(function () {
window.scrollTo(0, 0);
});
container.append($(a));
if (window.location.href.indexOf("thread") != -1) {
//下载按钮
let bb = `opacity:0.3;-moz-transition-duration:0.2s;-webkit-transition-duration:0.2s;
background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjI3QzE0QkM5NEJFODExRTI5QzU0REU5NjgzMkRERUJGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjI3QzE0QkNBNEJFODExRTI5QzU0REU5NjgzMkRERUJGIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MjdDMTRCQzc0QkU4MTFFMjlDNTRERTk2ODMyRERFQkYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MjdDMTRCQzg0QkU4MTFFMjlDNTRERTk2ODMyRERFQkYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz43+dIzAAABGUlEQVR42mL8//8/w0ACJoYBBgPugFFACmAG4kAgXgrEZ4D4DxSfgYoFQtXQBKgD8Ukg/k8An4SqpSooAuJvRFgOw9+geqgCukiwGB13UWp5OAWWw3A4uZazAfETKjjgNtQskkEUFSyHYVhO6SUlgS4lwmB0QNUEeoNGDoDh7YSi5gONHfAfGiUYCS8HiA8QaQClDgClDS2YZmkgPk+iAZQ6AB4KIJ9fIkMzNRxwlQEa7P8HyAGgtMZwmAQNdUTkoDoSzPsM0vCTRFfXUclyeBT8JCPo6qhgOQhPAGk8Rmb81VFoOSgb6oI051NQzteRaTnc95RkQ0owRlEsTSdH4K2M2KDRcYAGFp8ntTqmG2Ac7RuOeAcABBgAGLrbhINPh9cAAAAASUVORK5CYII=") no-repeat scroll 50% 50% rgba(0, 0, 0, 0.7);
border-radius:5px 5px 5px 5px;cursor:pointer;
position: absolute;top:${topref + 40}px;width:40px;height:40px;left:0px;z-index:9999`;
let b = $(document.createElement('span')).css("cssText", bb)
b.click(function () {
let url = $(".t_attachlist > dt > a:eq(1)").prop('href');
let filename = $("div.mainbox.viewthread>h1").text().trim() + '.torrent';
console.log(filename)
$.ajax({
url,
success: function (result, status, xhr) {
let alink = document.createElement('a');
alink.download = filename;
alink.href = $(result).find("#downloadBtn").prop('href');
document.body.appendChild(alink);
alink.click();
},
error: function (xhr, status, error) {
console.log(status, error)
}
});
});
abc = abc.add(b)
container.append($(b));
}
else {
$('tr').hover(function () {
// $(this).find('*').each(function (item) {
// $(this).data('oldcolor', $(this).css("background-color"))
// })
$(this).find('*').css("background-color", "#9AAAC7")
},
function () {
$(this).find('*').css("background-color", '');
});
}
//最低按钮
let cc = `opacity:0.3;-moz-transition-duration:0.2s;-webkit-transition-duration:0.2s;
background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4RDY5NzMwMUU5NEJFMjExQjQ4NkI4QUQ0MEI3RkIzMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpCMUNEQjZCQTRCRUExMUUyOEVDN0EyM0RFNkVBQ0MzRCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpCMUNEQjZCOTRCRUExMUUyOEVDN0EyM0RFNkVBQ0MzRCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4RDY5NzMwMUU5NEJFMjExQjQ4NkI4QUQ0MEI3RkIzMSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4RDY5NzMwMUU5NEJFMjExQjQ4NkI4QUQ0MEI3RkIzMSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PglexFoAAACVSURBVHja7JfRCsAgCEVz9N/jfrmzlz2MZmoDYSgIQd7bgcSImLllxtGSowDSAbpXQERq10pTU11BARRAARTAPwBk5mPM/Wda3opJQns8XlNiCHkzoZ6hbX4AgaX/qmADAiZvS1EAAmZfa6EDAi5PT7EBAm4/r0CBQMgrIppAIOrToxNMxKcMmHsd9aH6mhVANsAlwADuz2Iyd6ydewAAAABJRU5ErkJggg==") no-repeat scroll 50% 50% rgba(0, 0, 0, 0.7);
border-radius:5px 5px 5px 5px;cursor:pointer;position: absolute;top:${topref + 80}px;width:40px;height:40px;left:0px;z-index:9999`;
let c = $(document.createElement('span')).css('cssText', cc);
abc.add(c)
.hover(
function (item) {
$(this).css('opacity', 1)
}, function (item) {
$(this).css('opacity', 0.3)
});
c.click(function () {
window.scrollTo(0, document.body.scrollHeight);
});
container.append($(c));
win.__wait = 20;
let fast = $(document.createElement('button')).text('[+]').attr('id', '_fbtn'),
middle = $(document.createElement('button')).text('[||]').attr('id', '_mbtn'),
slow = $(document.createElement('button')).text('[-]').attr('id', '_sbtn');
container.append(fast).append($('<br />'))
.append(middle).append($('<br />'))
.append(slow).append($('<br />'))
win.__wait = 900
win.__step = 100;
fast.click(function () {
if (win.__wait > 5) {
win.__wait = win.__wait / 1.5
} else {
win.__wait = 5
}
});
slow.click(function () { win.__wait *= 1.5 });
win.___func = function () {
win.______h = $(document).scrollTop() + win.__step;
if (win.______h >= $(document).height() - $(window).height()) {
clearTimeout(win.___t)
// win.___t = setTimeout(win.___func, 30000)
} else {
$(document).scrollTop(win.______h);
win.___t = setTimeout(win.___func, win.__wait)
}
};
$(document).keydown(function (event) {
let e = event || window.event;
let k = e.keyCode || e.which;
if (k === 16) {
// isCtrl = true;
$('#_mbtn').click()
} else if (k === 38) { //up
event.stopPropagation()
$('#_sbtn').click()
} else if (k === 40) {//down
event.stopPropagation()
$('#_fbtn').click()
}
})
$().add(fast).add(middle).add(slow)
.width(35)
.css({
'font-size': 10, 'font-background': 'gray', 'padding': '1px',
'text-align': 'center', 'vertical-align': 'middle', 'margin': '2px',
'opacity': '0.9', 'background': 'white'
}).hover(
function (item) {
$(this).css('border', '1px solid black')
}, function (item) {
$(this).css('border', 'none')
});
middle.click(function () {
if (!!!win.___t) {
win.___func();
} else {
clearTimeout(win.___t)
win.___t = 0
}
})
container.appendTo('body');
$(window).blur(function () {
clearTimeout(win.___t)
win.___t = 0
}).focus(function () {
win.___func();
})
})
})(function (callback, safe) {
if (typeof jQuery == "undefined") {
let script = document.createElement("script")
script.type = "text/javascript"
script.src = "https://code.jquery.com/jquery-3.6.1.min.js"
if (safe) {
let cb = document.createElement("script")
cb.type = "text/javascript"
cb.textContent = "jQuery.noConflict();(" + callback.toString() + ")(jQuery, window);"
script.addEventListener("load", function () {
document.head.appendChild(cb)
})
} else {
let dollar = undefined
if (typeof $ != "undefined") dollar = $
script.addEventListener("load", function () {
jQuery.noConflict()
$ = dollar
callback(jQuery, window)
})
}
document.head.appendChild(script)
} else {
setTimeout(function () {
//Firefox supports
callback(jQuery, typeof unsafeWindow === "undefined" ? window : unsafeWindow)
}, 30)
}
});