Mega4Upload Auto-Click

Auto Click mega4upload.net

スクリプトをインストールするには、Tampermonkey, GreasemonkeyViolentmonkey のような拡張機能のインストールが必要です。

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

スクリプトをインストールするには、TampermonkeyViolentmonkey のような拡張機能のインストールが必要です。

スクリプトをインストールするには、TampermonkeyUserscripts のような拡張機能のインストールが必要です。

このスクリプトをインストールするには、Tampermonkeyなどの拡張機能をインストールする必要があります。

このスクリプトをインストールするには、ユーザースクリプト管理ツールの拡張機能をインストールする必要があります。

(ユーザースクリプト管理ツールは設定済みなのでインストール!)

このスタイルをインストールするには、Stylusなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus などの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus tなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

(ユーザースタイル管理ツールは設定済みなのでインストール!)

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください
// ==UserScript==
// @name         Mega4Upload Auto-Click
// @namespace    https://github.com/BlazeFTL
// @description  Auto Click mega4upload.net
// @version      1.0
// @author       BlazeFTL
// @match        https://mega4upload.net/*
// @license      MIT
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // 1st Page Action
    const infoBtn = document.querySelector('.btn-sm.btn-info.btn');
    if (infoBtn) infoBtn.click();

    // 2nd Page Action
    const downloadBtn = document.querySelector('.downloadbtn.btn-success.btn-icon-split.btn-sm.btn');

    if (downloadBtn) {
        // Create an observer to watch for the "disabled" attribute being removed
        const observer = new MutationObserver((mutations) => {
            mutations.forEach((mutation) => {
                if (mutation.type === 'attributes' && mutation.attributeName === 'disabled') {
                    if (!downloadBtn.hasAttribute('disabled')) {
                        console.log('Disabled attribute removed! Clicking...');
                        downloadBtn.click();
                        observer.disconnect(); // Stop watching once clicked
                    }
                }
            });
        });

        // Start observing the button for attribute changes
        observer.observe(downloadBtn, { attributes: true });

        // Fallback: If Captcha is solved but observer missed the attribute change
        captchaSolved(() => {
            if (!downloadBtn.hasAttribute('disabled')) {
                downloadBtn.click();
            }
        });
    }

    // Your Captcha Detection Function
    function captchaSolved(callback) {
        let intervalId = setInterval(() => {
            try {
                const captcha = window.turnstile || window.hcaptcha || window.grecaptcha;
                if (captcha && typeof captcha.getResponse === 'function' && captcha.getResponse()) {
                    clearInterval(intervalId);
                    callback();
                }
                // Visual check for IconCaptcha
                if (document.querySelector('.iconcaptcha-modal__body-title')?.innerText.includes('complete')) {
                    clearInterval(intervalId);
                    callback();
                }
            } catch (e) {}
        }, 1000);
    }
})();