您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
OURBITS种子信息克隆
// ==UserScript== // @name OURBITS Info Clone // @namespace XingXing_OURBITS // @author XingXing // @description OURBITS种子信息克隆 // @grant GM_xmlhttpRequest // @include *ourbits.club/torrents* // @include *ourbits.club/upload* // @require https://cdn.bootcss.com/jquery/2.2.4/jquery.min.js // @icon https://ourbits.club/bitbucket/37C58PIC7IT_1024.jpg // @version 20181201 // @run-at document-end // ==/UserScript== // https://cdn.bootcss.com/jquery/2.2.4/jquery.min.js // https://ourbits.club/js/jquery-1.11.3.min.js // 脚本预处理阶段 const jq = jQuery.noConflict(); const SetAnonymous = false; //设置匿名[true,false] (function() { if (jq('table#torrenttable.torrents').length) { jq('table#torrenttable.torrents tr:first td.colhead:first').after('<td class="colhead">Clone</td>'); jq('table.torrents tr:gt(0)').each(function() { let tr = jq(this); if (tr.find('table.torrentname').length) { let id = tr.find('table.torrentname a:first').attr('href').match(/id=(\d+)/)[1]; tr.find('td:first').after('<td class="rowfollow"><a title="点击克隆种子信息" target="_blank" href="/upload.php#clone_' + id + '"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH3AUIEBkrj+YiQwAAAxtJREFUSMellc1rXGUUxn/nPee8d2aaJpOYmqSV1lTciOJGKJSCCK7dFXQhuHMvdeXSpXtxmb+gS0Eh0p0gUsVWEZWkMeAHCcHGNGYmc+9xMZ/pJM4U7+rycu95zvN7zr1HADbfucL/vVbXtk49l9HiEiUgDUCmqBmBtBAp/0vERu6fBrkVotdCSJOqSwBRbQp89Nujzr1moWMkVte2hgIS1bsHzavv71y8TiSbVB+A5u79G3N/3L1w2O68t+BVO1WJEHkI7IZ0BfuVEvDS/tLL/PXsqxDl5OqiVOcW0N/vvb5bxvq81yvNipZHO1J1PpSoboekgYAAkszJrl37kwIQxd1oa902Ll5fqZ57geb58zR3719a3vzsA4n2HWBvwCIANSUXDpVO4SBhZpCU48Yi7fnLtJvzHFii2r5zIbWOZhHdOwFbVfGckWoyokgJcwMBs0R2JbvhriBDBjbsH0yVnB1i4hCBKOZGiGCquDs5Z9ysO+NxQqDnwJRcZJjCAZJwM44R1AzPjheOuTP6GZ2CyKGawkHqOuhItzHPTs4+wDYuEIFaIucpHaSEuoEIZkNE5j1EfeyPO0jFlA5EEXdEZODAs6PuINKPYFxAngARvUBNuxnkIpN8Qsj2BIiih0it+9F5dqR3dmbIOTsxpYPK7QSinB3c6Iw8NubAiwxlZyqBjnUFzIaIKndKYSyDAEJFyPUalFMgUgVLQPQQdUMu3WghPDZFUkXE963v1m/6U8uI5e6pCPQfjpE/oAhE0Prmc/6WOtRmKIpMzpmOOyJQRffN4T5Q+6T189ezrY1vr4lIAmK/XV5taX1Z5xY5bck90gYbV15jeeUZZptz5HqNoEOUZfQ33WgGf0LcojxuBMhSPZXrDw7f0nP2cTEzV4jlIdgBV2Ph4QMu/XRIufcVB6q0frlLHB18Kcl26Ld12tLfO6rYOaqKRqpuWuKGwNg/XICaCg0DGxr8VczWCLYROXu5f/rGCkmETgRfbP/D2g/71O3k+NYMXlmq8ebzM7y4WIyKnGjizOvHty8PRuzMYRKwdHqnq2tb/AtfUe1KQr9mZwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxNi0wOS0xN1QxNToxNzo0NyswODowMIu/JeMAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTItMDUtMDhUMTY6MjU6NDMrMDg6MDCbVEygAAAATXRFWHRzb2Z0d2FyZQBJbWFnZU1hZ2ljayA3LjAuMS02IFExNiB4ODZfNjQgMjAxNi0wOS0xNyBodHRwOi8vd3d3LmltYWdlbWFnaWNrLm9yZ93ZpU4AAAAYdEVYdFRodW1iOjpEb2N1bWVudDo6UGFnZXMAMaf/uy8AAAAYdEVYdFRodW1iOjpJbWFnZTo6SGVpZ2h0ADUxMo+NU4EAAAAXdEVYdFRodW1iOjpJbWFnZTo6V2lkdGgANTEyHHwD3AAAABl0RVh0VGh1bWI6Ok1pbWV0eXBlAGltYWdlL3BuZz+yVk4AAAAXdEVYdFRodW1iOjpNVGltZQAxMzM2NDY1NTQzfWYZJAAAABJ0RVh0VGh1bWI6OlNpemUAMTYuOUtCML+chwAAAF90RVh0VGh1bWI6OlVSSQBmaWxlOi8vL2hvbWUvd3d3cm9vdC9zaXRlL3d3dy5lYXN5aWNvbi5uZXQvY2RuLWltZy5lYXN5aWNvbi5jbi9zcmMvMTA2NjIvMTA2NjI1NC5wbme2gbXWAAAAAElFTkSuQmCC"></a></td>'); } }); return; } jq('form#compose table tr:eq(1)').before('<td class="rowhead nowrap" valign="top" align="right">引用种子链接</td><td class="rowfollow" valign="top" align="left"><input type="text" style="width:320px;" id="clone_from" placeholder="请输入种子ID或链接..." onkeypress="if(event.keyCode==13){clone_btn.click();}"/><input type="button" id="clone_btn" style="size:100px;" value=" 克 隆 "> <span>[克隆状态:</span><span id="clone_info">请输入要克隆的种子编号或者链接</span><span>]</span></td>'); function requestData(url, successHandle, timeoutHandle) { GM_xmlhttpRequest({ method: 'GET', url: url, timeout: 5000, onreadystatechange: successHandle, ontimeout: timeoutHandle, }); } function requestJson(url, successHandle, timeoutHandle) { requestData(url, function(response) { if (response.readyState == 4) { successHandle(JSON.parse(response.responseText)); } }, function(response) { timeoutHandle(response); }); } jq("input#info").css('width', '580px'); jq("input#info").after('<input type="button" id="query_btn" style="width:70px;" value=" 查 询 ">'); jq("input#query_btn").click(function() { var query_input = jq("input#info").val().trim(); var Search_From_API = function(url, callback) { requestJson(url, function(res, resj) { let search_html = callback(res, resj); if (search_html) { jq('span#search_res').remove(); jq('#compose>table>tbody>tr:eq(8)>td.rowfollow>font').after(search_html).show(); jq("a.search_choose").click(function() { jq('input#info').val(jq(this).attr("data-url")); jq('span#search_res').remove(); }); } }, function() {}); }; Search_From_API("https://api.douban.com/v2/movie/search?q=" + query_input, function(resj) { let search_html = ""; if (resj.total !== 0) { search_html = '<span id="search_res"><hr><table style="width: 100%" align="center"><tr><td class="colhead" align="center">年代</td><td class="colhead" align="center">类别</td><td class="colhead" align="center">标题</td><td class="colhead" align="center">豆瓣链接</td><td class="colhead" align="center">行为</td></tr>'; for (let i_douban = 0; i_douban < resj.subjects.length; i_douban++) { let i_item = resj.subjects[i_douban]; search_html += "<tr><td class='rowfollow' align='center'>" + i_item.year + "</td><td class='rowfollow' align='center'>" + i_item.subtype + "</td><td class='rowfollow'>" + i_item.title + "</td><td class='rowfollow'><a href='" + i_item.alt + "' target='_blank'>" + i_item.alt + "</a></td><td class='rowfollow' align='center'><a href='javascript:void(0);' class='search_choose' data-url='" + i_item.alt + "'>选择</a></td></tr>"; } search_html += "</table></span>"; } return search_html; }); }); jq('#clone_btn').click(function() { // jq('#torrent').removeAttr('onchange'); var seedfrom = jq('#clone_from').val().trim().match(/(\d+)/)[1]; var info = jq('#clone_info'); if (/\d+/.test(seedfrom)) { info.text('正在读取...'); jq.get('//ourbits.club/details.php?id=' + seedfrom, function(resp) { info.text('正在分析...'); var title = resp.match(/<title>[\s\S]*<\/title>/gi)[0]; var body = resp.match(/<body[^>]*>[\s\S]*<\/body>/gi)[0]; var page = jq(body); var seed_info = page.find('td#outer table'); var seed_descr = seed_info.find('div#kdescr'); //标题 title = title.match(/quot;([\s\S]*)"/); if (title) { jq('input#name').val(title[1]); } // 副标题 var sub_title = ""; if (page.find('td#outer table tr:eq(1) td:eq(1) a').length) { sub_title = page.find('td#outer table:eq(1) tr:eq(1) td:eq(1)').text(); } else { sub_title = page.find('td#outer table tr:eq(1) td:eq(1)').text(); } if (sub_title) { jq("input[name='small_descr']").val(sub_title); } // 匿名发布 jq("input[name=uplver]").attr("checked", SetAnonymous); // IMDB链接 var imdb_or_douban_link = ""; if (seed_info.find('div#imdbinfo').length) { let imdblink_t = seed_info.find('div#imdbinfo a:first').attr('href'); if (imdblink_t.match(/www\.imdb\.com/)) { imdb_or_douban_link = imdblink_t; } } if (imdb_or_douban_link == "" && seed_info.find('div#doubaninfo').length) { let doubanlink_t = seed_info.find('div#doubaninfo a:first').attr('href'); if (doubanlink_t.match(/movie\.douban\.com/)) { imdb_or_douban_link = doubanlink_t; } } if (imdb_or_douban_link == "") { let imdb_match = seed_descr.text().match(/(http[\S]{0,2}\/\/www\.imdb\.com\/title\/tt\d+)/); if (imdb_match) { imdb_or_douban_link = imdb_match[1] + "/"; } else { let douban_match = seed_descr.text().match(/(http[\S]{0,2}\/\/movie\.douban\.com\/subject\/\d+)/); if (douban_match) { imdb_or_douban_link = douban_match[1] + "/"; } } } jq("input#info").val(imdb_or_douban_link); // jq("input[name=uplver]").attr("checked", true); // 简介 if (seed_descr.find('div.codetop').length) { seed_descr.find('div.codetop').remove(); seed_descr.find('div.codemain').remove(); } if (seed_descr.find('fieldset').length) { seed_descr.find('fieldset').remove(); } if (seed_descr.find('img').length) { var img_src = seed_descr.find('img:first').attr("src"); if (img_src.match(/http[\S]{0,2}\/\//)) { img_src = "[img]" + img_src + "[/img]"; } else { img_src = "[img]https://ourbits.club/" + img_src + "[/img]"; } SmileIT(img_src + seed_descr.text(), 'upload', 'descr'); } else { SmileIT(seed_descr.text(), 'upload', 'descr'); } // 视频参数 var seed_type = seed_info.find('tr:eq(2) td:eq(1)').text(); if (seed_type) { var regx = ""; var fillarea_pre = ["类型: ", "媒介: ", "编码: ", "音频编码: ", "分辨率: ", "", "制作组: "]; var fillarea = ["type", "medium_sel", "codec_sel", "audiocodec_sel", "standard_sel", "processing_sel", "team_sel"]; for (var i = 0; i < fillarea.length; i++) { jq("select[name='" + fillarea[i] + "'] option").each(function() { var option_str = jq(this).text(); if (i === 0) option_str = option_str.replace(/\/[\s\S]+/, "").trim(); regx = new RegExp(fillarea_pre[i] + option_str, 'i'); if (regx.test(seed_type)) { jq(this).attr('selected', 'selected'); seed_type = seed_type.replace(regx, ""); return false; } }); } } info.text('克隆完成'); }); } else { info.text('请输入要克隆的种子编号或者链接'); } }); jq(document).ready(function() { let match = location.href.match(/#clone_(\d+)/); if (match) { history.pushState("", document.title, window.location.pathname + window.location.search); jq('#clone_from').val(match[1]); jq('#clone_btn').click(); } }); })();