LeechTop – Skip Countdown & Bypass limit

Remove the 70s delay on leechtop.com download pages

目前為 2025-11-27 提交的版本,檢視 最新版本

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name         LeechTop – Skip Countdown & Bypass limit
// @namespace    http://tampermonkey.net/
// @version      1.2
// @description  Remove the 70s delay on leechtop.com download pages
// @author       ShadowLin21
// @match        https://leechtop.com/*
// @run-at       document-start
// @grant        none
// @license      GPL-3.0-or-later
// ==/UserScript==

(function() {
    'use strict';

    function clearAllCookies() {
        const cookieString = document.cookie;
        if (!cookieString) return;

        const cookies = cookieString.split(';');

        const domains = [location.hostname];
        const parts = location.hostname.split('.');
        if (parts.length > 2) {
            domains.push(parts.slice(-2).join('.'));
        }

        cookies.forEach(c => {
            const eq = c.indexOf('=');
            const name = (eq > -1 ? c.substr(0, eq) : c).trim();

            domains.forEach(domain => {
                document.cookie = name + '=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/;domain=' + domain;
            });

            document.cookie = name + '=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/';
        });
    }

    clearAllCookies();

    function unlockButton() {
        const btn = document.querySelector('a.go-download-direct');
        if (!btn) return false;

        if (!btn.classList.contains('zing-disabled')) return true;

        btn.classList.remove('zing-disabled');

        const secSpan = btn.querySelector('.sec-count');
        if (secSpan) secSpan.remove();

        btn.textContent = 'Download Now';

        return true;
    }

    function initUnlock() {
        let tries = 0;
        const maxTries = 50;
        const interval = 200;

        const timer = setInterval(() => {
            tries++;
            if (unlockButton() || tries >= maxTries) {
                clearInterval(timer);
            }
        }, interval);
    }

    if (document.readyState === 'complete' || document.readyState === 'interactive') {
        initUnlock();
    } else {
        window.addEventListener('DOMContentLoaded', initUnlock);
    }
})();