日常折腾

破解不太灵资源站的油猴脚本

// ==UserScript==
// @name         影视资源下载增强脚本 (一次性版)
// @namespace    http://tampermonkey.net/
// @version      4.0
// @description  一次性移除遮罩层、模糊效果,启用磁力链接下载
// @author       You
// @grant        none
// @run-at       document-idle
// @match        https://web5.mukaku.com/*
// ==/UserScript==

(function() {
    'use strict';

    // 1. 立即注入CSS样式
    const style = document.createElement('style');
    style.textContent = `
        /* 立即隐藏遮罩层 */
        .bg-backdrop-layout,
        .vip-gate-overlay,
        [class*="overlay"]:not(.resource-item-card-modern),
        [class*="backdrop"]:not(.media-details-area) {
            display: none !important;
            visibility: hidden !important;
            opacity: 0 !important;
            pointer-events: none !important;
            z-index: -9999 !important;
        }

        /* 移除限制样式 */
        [style*="blur"],
        [style*="pointer-events"],
        [style*="user-select"] {
            filter: none !important;
            pointer-events: auto !important;
            user-select: auto !important;
            -webkit-user-select: auto !important;
        }

        /* 确保资源区域可交互 */
        .resource-items-group,
        .resource-item-card-modern,
        [class*="resource-item"] {
            pointer-events: auto !important;
            user-select: auto !important;
            -webkit-user-select: auto !important;
            filter: none !important;
        }

        /* 确保磁力链接可点击 */
        a[href^="magnet:"],
        a.magnet-link {
            pointer-events: auto !important;
            cursor: pointer !important;
            opacity: 1 !important;
        }

        /* 移除可能导致问题的类 */
        .disabled,
        .unavailable,
        .locked,
        .restricted {
            pointer-events: auto !important;
            opacity: 1 !important;
        }
    `;
    document.head.appendChild(style);

    // 2. 一次性执行函数
    function removeOverlayOnce() {
        console.log('开始一次性移除遮罩层...');

        // 移除遮罩层元素
        const overlays = document.querySelectorAll('.bg-backdrop-layout, .vip-gate-overlay, [class*="overlay"], [class*="backdrop"], [class*="mask"], [class*="lock"]');
        overlays.forEach(el => {
            el.remove();
            console.log('已移除:', el.className || el.tagName);
        });

        // 清除限制性内联样式
        const elementsWithRestrictions = document.querySelectorAll('[style*="blur"], [style*="pointer-events"], [style*="user-select"]');
        elementsWithRestrictions.forEach(el => {
            const style = el.style;
            if (style.filter && style.filter.includes('blur')) {
                style.filter = 'none';
            }
            if (style.pointerEvents === 'none') {
                style.pointerEvents = 'auto';
            }
            if (style.userSelect === 'none' || style.webkitUserSelect === 'none') {
                style.userSelect = 'auto';
                style.webkitUserSelect = 'auto';
            }
        });

        // 专门处理资源区域
        const resourceContainer = document.querySelector('.resource-list-wrapper');
        if (resourceContainer) {
            resourceContainer.style.pointerEvents = 'auto';
            resourceContainer.style.userSelect = 'auto';
            resourceContainer.style.filter = 'none';
        }

        // 确保磁力链接可点击
        const magnetLinks = document.querySelectorAll('a[href^="magnet:"]');
        magnetLinks.forEach(link => {
            link.style.pointerEvents = 'auto';
            link.style.cursor = 'pointer';
            link.style.opacity = '1';
            link.removeAttribute('disabled');
            link.removeAttribute('aria-disabled');
            link.classList.remove('disabled', 'unavailable', 'locked', 'restricted');
        });

        console.log('遮罩层移除完成');
    }

    // 3. 页面加载完成后执行一次
    if (document.readyState === 'complete') {
        // 页面已完全加载
        removeOverlayOnce();
    } else {
        // 等待页面加载完成
        window.addEventListener('load', removeOverlayOnce);
    }

    // 4. 备用:DOM内容加载完成后执行
    if (document.readyState === 'loading') {
        document.addEventListener('DOMContentLoaded', () => {
            setTimeout(removeOverlayOnce, 100);
        });
    }

    console.log('影视资源下载增强脚本已加载 v4.0');
})();