Real-Debrid Downloader Helper

Adds 10 empty lines to textarea and toggles showlinks checkbox

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         Real-Debrid Downloader Helper
// @namespace    https://greasyfork.org/en/users/807108-jeremy-r
// @author       JRem
// @version      1.1
// @description  Adds 10 empty lines to textarea and toggles showlinks checkbox
// @match        https://real-debrid.com/downloader
// @run-at       document-end
// @grant        none
// @license MIT
// ==/UserScript==


(function () {
    'use strict';

    function applyEdits() {
        const textarea = document.querySelector('#links');
        const checkbox = document.querySelector('input[name="showlinks"]');

        if (textarea) {
            textarea.value += '\n'.repeat(10);
        }
        if (checkbox) {
            checkbox.checked = true;
        }
    }

    function init() {
        const textarea = document.querySelector('#links');
        const checkbox = document.querySelector('input[name="showlinks"]');
        const resetBtn = document.querySelector('#clear_links');

        if (textarea && checkbox) {
            applyEdits();

            // Attach listener to Reset button
            if (resetBtn) {
                resetBtn.addEventListener('click', () => {
                    // Delay slightly to let Real-Debrid clear the textarea first
                    setTimeout(applyEdits, 50);
                });
            }

            console.log('Userscript applied: textarea padded, checkbox checked, reset hook added.');
            return true;
        }
        return false;
    }

    // Poll until elements exist
    let attempts = 0;
    const maxAttempts = 20; // ~10 seconds
    const interval = setInterval(() => {
        if (init() || attempts >= maxAttempts) {
            clearInterval(interval);
        }
        attempts++;
    }, 500);
})();