您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Add a button next to each magnet link to send it to Real-Debrid, with user-friendly API token setup and confirmation
当前为
// ==UserScript== // @name Send to Real-Debrid // @namespace http://tampermonkey.net/ // @version 0.2.2 // @description Add a button next to each magnet link to send it to Real-Debrid, with user-friendly API token setup and confirmation // @author dlee2 // @license MIT // @match *://*.nyaa.si/* // @grant GM_xmlhttpRequest // @grant GM_setValue // @grant GM_getValue // ==/UserScript== (function () { 'use strict'; // Function to get or ask for the API token function getApiToken() { let apiToken = GM_getValue('apiToken'); if (!apiToken) { const instructions = 'To use this script, you need to enter your Real-Debrid API token.\n' + 'You can find your API token in your Real-Debrid account settings.\n\n' + 'Please enter your Real-Debrid API token:'; apiToken = prompt(instructions, ''); if (apiToken) { GM_setValue('apiToken', apiToken); } else { alert('No API token provided. You can set it later by clicking a "Send to RD" button.'); return null; } } return apiToken; } // Function to send magnet link to Real-Debrid function sendToRealDebrid(magnetLink) { const API_TOKEN = getApiToken(); if (!API_TOKEN) { alert("Operation canceled: API token is not set."); return; } GM_xmlhttpRequest({ method: "POST", url: "https://api.real-debrid.com/rest/1.0/torrents/addMagnet", headers: { "Authorization": `Bearer ${API_TOKEN}`, "Content-Type": "application/x-www-form-urlencoded" }, data: "magnet=" + encodeURIComponent(magnetLink), onload: function (response) { var responseJson = JSON.parse(response.responseText); if (responseJson.id) { alert("Magnet link successfully sent to Real-Debrid!"); } else { console.error('Error adding magnet link:', response.responseText); alert("Failed to send magnet link to Real-Debrid."); } }, onerror: function (response) { console.error('Error sending request to Real-Debrid:', response.responseText); alert("Error occurred while sending request to Real-Debrid."); } }); } // Function to create a send button next to a magnet link function createSendButton(magnetLink) { let button = document.createElement('button'); button.textContent = 'Send to RD'; button.style.marginLeft = '10px'; button.addEventListener('click', function () { sendToRealDebrid(magnetLink); }); return button; } // Add send buttons next to all magnet links function addSendButtons() { let magnetLinks = document.querySelectorAll('a[href^="magnet:"]'); magnetLinks.forEach(link => { let sendButton = createSendButton(link.href); link.parentNode.insertBefore(sendButton, link.nextSibling); }); } // Run the function to add send buttons addSendButtons(); })();