Scrolller Paywall Bypass

Attempts to bypass paywall on scrolller.com by removing overlays and restrictions

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         Scrolller Paywall Bypass
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Attempts to bypass paywall on scrolller.com by removing overlays and restrictions
// @author       Grok
// @match        *://*.scrolller.com/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // Function to remove paywall elements
    function removePaywall() {
        // Common paywall overlay selectors (adjust after inspecting the site)
        const paywallSelectors = [
            '.paywall',              // Generic class
            '.modal',               // Common overlay class
            '.overlay',             // Common overlay class
            '#paywall',             // Generic ID
            '[class*="premium"]',   // Classes with "premium" in the name
            '[class*="locked"]',    // Classes with "locked" in the name
            '[id*="premium"]',      // IDs with "premium" in the name
            '.subscription-prompt'  // Possible subscription popup
        ];

        // Remove elements matching the selectors
        paywallSelectors.forEach(selector => {
            const elements = document.querySelectorAll(selector);
            elements.forEach(el => {
                el.remove(); // Delete the element from the DOM
                console.log(`Removed element: ${selector}`);
            });
        });

        // Unlock scrolling (common paywall trick)
        document.body.style.overflow = 'auto';
        document.documentElement.style.overflow = 'auto';

        // Remove blur or opacity effects
        const blurredElements = document.querySelectorAll('[style*="blur"], [style*="opacity"]');
        blurredElements.forEach(el => {
            el.style.filter = 'none';
            el.style.opacity = '1';
            console.log('Cleared blur/opacity on element');
        });

        // Disable inline styles that hide content
        const hiddenElements = document.querySelectorAll('[style*="display: none"], [style*="visibility: hidden"]');
        hiddenElements.forEach(el => {
            el.style.display = 'block';
            el.style.visibility = 'visible';
            console.log('Unhid element');
        });
    }

    // Run immediately
    removePaywall();

    // Run again after a delay (in case paywall loads dynamically)
    setTimeout(removePaywall, 1000);
    setTimeout(removePaywall, 3000);

    // Observe DOM changes (for dynamic paywalls)
    const observer = new MutationObserver(() => {
        removePaywall();
    });
    observer.observe(document.body, { childList: true, subtree: true });

    // Optional: Spoof a logged-in state (if site checks localStorage/cookies)
    localStorage.setItem('isPremium', 'true');
    localStorage.setItem('loggedIn', 'true');
})();