Real-Debrid Downloader Helper

Adds 10 empty lines to textarea and toggles showlinks checkbox

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

You will need to install an extension such as Tampermonkey to install this script.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 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);
})();