🗑️ Pro Upsell Remover (Layout Fixed + Error Killer)

Remove "Unlock pro models" + Error screens + Fix ALL layout issues

Dieses Skript sollte nicht direkt installiert werden. Es handelt sich hier um eine Bibliothek für andere Skripte, welche über folgenden Befehl in den Metadaten eines Skriptes eingebunden wird // @require https://update.greasyfork.org/scripts/574222/1800763/%F0%9F%97%91%EF%B8%8F%20Pro%20Upsell%20Remover%20%28Layout%20Fixed%20%2B%20Error%20Killer%29.js

Du musst eine Erweiterung wie Tampermonkey, Greasemonkey oder Violentmonkey installieren, um dieses Skript zu installieren.

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

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

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

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

Sie müssten eine Skript Manager Erweiterung installieren damit sie dieses Skript installieren können

(Ich habe schon ein Skript Manager, Lass mich es installieren!)

Advertisement:

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

Advertisement:

// ==UserScript==
// @name         🗑️ Pro Upsell Remover (Layout Fixed + Error Killer)
// @namespace    http://violentmonkey.github.io/
// @version      3.1
// @description  Remove "Unlock pro models" + Error screens + Fix ALL layout issues
// @author       You
// @match        *://*/*
// @grant        none
// @run-at       document-start
// @noframes
// ==/UserScript==

(function() {
    'use strict';

    console.log('☠️ UPSell + ERROR KILLER v4.1 - LOCKING ON ALL TARGETS...');

    // ========== STEP 1: IMMEDIATE CSS STRIKE ==========
    const killerCSS = document.createElement('style');
    killerCSS.id = 'upsell-killer';
    killerCSS.textContent = `
        /* Upsell targets */
        div.relative.z-10.p-3.sm\\:p-4,
        div[class*="relative z-10 p-3 sm:p-4"],
        div[class*="p-3 sm:p-4"][class*="z-10"] {
            all: unset !important;
            display: none !important !important;
            visibility: hidden !important !important;
            opacity: 0 !important !important;
            height: 0px !important !important;
            width: 0px !important !important;
            margin: 0 !important !important;
            padding: 0 !important !important;
            border: none !important !important;
            position: absolute !important !important;
            left: -10000px !important !important;
            top: -10000px !important !important;
            z-index: -100000 !important !important;
            transform: scale(0) !important !important;
            pointer-events: none !important !important;
            overflow: hidden !important !important;
        }

        /* ERROR SCREEN KILLER */
        div[style*="height: 100vh"],
        div[style*="height: 100vh"][style*="text-align: center"],
        div[style*="display: flex"][style*="flex-direction: column"][style*="align-items: center"][style*="justify-content: center"],
        h2[style*="font-size: 14px"][style*="font-weight: 400"][style*="line-height: 28px"] {
            display: none !important;
            visibility: hidden !important;
            height: 0 !important;
            width: 0 !important;
            opacity: 0 !important;
            position: absolute !important;
            left: -9999px !important;
            top: -9999px !important;
            z-index: -99999 !important;
        }

        /* Force children hidden */
        div.relative.z-10.p-3.sm\\:p-4 *,
        div[class*="relative z-10 p-3"] *,
        div[style*="height: 100vh"] * {
            display: none !important;
        }

        /* Layout repair */
        div.relative.z-10.p-3.sm\\:p-4 ~ *,
        div[class*="p-3 sm:p-4"] ~ *,
        div[style*="height: 100vh"] ~ * {
            margin-top: 0 !important;
            padding-top: 0 !important;
        }
    `;
    (document.head || document.documentElement).appendChild(killerCSS);

    // ========== STEP 2: DOM HUNTER ==========
    function huntAndDestroy() {
        let killed = false;

        // Exact upsell match
        const exactTarget = document.querySelector('div.relative.z-10.p-3.sm\\:p-4');
        if (exactTarget) {
            exactTarget.remove();
            console.log('🎯 EXACT UPSELL TARGET DESTROYED!');
            killed = true;
        }

        // ERROR SCREEN HUNT
        const errorTargets = document.querySelectorAll('div[style*="height: 100vh"], h2[style*="font-size: 14px"][style*="Application error"]');
        errorTargets.forEach(el => {
            if (el.textContent?.includes('Application error') || el.style?.height === '100vh') {
                el.remove();
                console.log('🚨 ERROR SCREEN DESTROYED!');
                killed = true;
            }
        });

        // Partial class match (upsell)
        const partialTargets = document.querySelectorAll('div[class*="relative"][class*="z-10"][class*="p-3"]');
        partialTargets.forEach(el => {
            if (el.querySelector('h2')?.textContent?.includes('Unlock')) {
                el.remove();
                console.log('🔥 PARTIAL UPSELL TARGET DESTROYED!');
                killed = true;
            }
        });

        // Text-based hunt (upsell + error)
        document.querySelectorAll('*').forEach(el => {
            const text = (el.textContent || '').toLowerCase();
            if (text.includes('unlock pro models') || text.includes('application error')) {
                const parent = el.closest('div[class*="relative"], div[class*="p-3"], div[style*="height: 100vh"]');
                if (parent) {
                    parent.remove();
                    console.log('💀 TEXT HUNT SUCCESS!');
                    killed = true;
                }
            }
        });

        return killed;
    }

    // ========== STEP 3: RELENTLESS ASSAULT ==========
    let killCount = 0;
    const assault = setInterval(() => {
        if (huntAndDestroy()) {
            killCount++;
            console.log(`⚡ KILL #${killCount} - Target eliminated!`);
        }

        // Check if page is fully loaded
        if (document.readyState === 'complete' && killCount >= 5) {
            clearInterval(assault);
            console.log('🏆 ASSAULT COMPLETE - ALL TARGETS ELIMINATED');
        }
    }, 10); // 10ms intervals - NO MERCY

    // ========== STEP 4: MUTATION SHIELD ==========
    function deployShield() {
        const shield = new MutationObserver(mutations => {
            for (let mutation of mutations) {
                if (mutation.type === 'childList') {
                    mutation.addedNodes.forEach(node => {
                        if (node.nodeType === 1) {
                            // New upsell div?
                            if (node.className && (
                                node.className.includes('relative') &&
                                node.className.includes('z-10') &&
                                node.className.includes('p-3')
                            )) {
                                node.remove();
                                console.log('🛡️ SHIELD: Upsell threat destroyed!');
                            }

                            // New ERROR screen?
                            if (node.style && (
                                node.style.height === '100vh' ||
                                (node.style.display === 'flex' && node.style.alignItems === 'center')
                            )) {
                                node.remove();
                                console.log('🛡️ SHIELD: Error screen destroyed!');
                            }

                            // Check for error text in children
                            const h2 = node.querySelector?.('h2');
                            if (h2?.textContent?.includes('Unlock') || h2?.textContent?.includes('Application error')) {
                                node.remove();
                                console.log('🛡️ SHIELD: Threat by text destroyed!');
                            }
                        }
                    });
                }
            }
        });

        if (document.documentElement) {
            shield.observe(document.documentElement, {
                childList: true,
                subtree: true,
                attributes: true,
                attributeFilter: ['class', 'style']
            });
        }
    }

    // ========== STEP 5: CSS REINFORCEMENT ==========
    setInterval(() => {
        const css = document.getElementById('upsell-killer');
        if (!css || css.sheet.cssRules.length === 0) {
            (document.head || document.documentElement).appendChild(killerCSS.cloneNode(true));
        }
    }, 500);

    // ========== INITIAL STRIKE ==========
    setTimeout(huntAndDestroy, 0);
    setTimeout(huntAndDestroy, 50);
    setTimeout(huntAndDestroy, 200);
    setTimeout(huntAndDestroy, 500);
    setTimeout(deployShield, 100);

    // ========== VICTORY CONFIRMATION ==========
    setTimeout(() => {
        console.log(`
        ☠️========== MISSION ACCOMPLISHED ==========
        ✅ Upsell Target: div.relative.z-10.p-3.sm:p-4 ✓
        ✅ ERROR Screen: height: 100vh + "Application error" ✓
        ✅ CSS: Deployed ✓
        ✅ Assault: 10ms intervals ✓
        ✅ Shield: Active ✓
        ✅ Total Kills: ${killCount}
        ☠️ NO SURVIVORS - CLEAN PAGE!
        `);
    }, 3000);

})();