1024videos vip

Automatically clears site data to bypass 5-video limit on 1024videos

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, Greasemonkey alebo Violentmonkey.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie, ako napríklad Tampermonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, % alebo Violentmonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey alebo Userscripts.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie, ako napríklad Tampermonkey.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie správcu používateľských skriptov.

(Už mám správcu používateľských skriptov, nechajte ma ho nainštalovať!)

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

(Už mám správcu používateľských štýlov, nechajte ma ho nainštalovať!)

// ==UserScript==
// @name         1024videos vip
// @namespace    1024videos_unlimited
// @version      1.0.0
// @author        codegeasse
// @description  Automatically clears site data to bypass 5-video limit on 1024videos
// @match        *://*.1024videos.com/*
// @match        *://*.1024video.com/*
// @run-at       document-start
// ==/UserScript==

(function() {
    'use strict';

    console.log('🚀 1024videos Unlimited - Starting...');

    // =============================================
    // Clear ALL storage immediately
    // =============================================
    function clearAllData() {
        console.log('🧹 Clearing all site data...');
        
        // Clear localStorage completely
        try {
            localStorage.clear();
            console.log('✅ localStorage cleared');
        } catch(e) {
            console.log('❌ localStorage clear failed:', e);
        }
        
        // Clear sessionStorage completely
        try {
            sessionStorage.clear();
            console.log('✅ sessionStorage cleared');
        } catch(e) {
            console.log('❌ sessionStorage clear failed:', e);
        }
        
        // Clear all cookies
        try {
            document.cookie.split(";").forEach(function(c) { 
                var name = c.split("=")[0].trim();
                document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/";
                document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/;domain=" + window.location.hostname;
                document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/;domain=." + window.location.hostname;
            });
            console.log('✅ Cookies cleared');
        } catch(e) {
            console.log('❌ Cookie clear failed:', e);
        }
    }
    // =============================================
    // Block storage writes for tracking keys
    // =============================================
    const originalSetItem = Storage.prototype.setItem;
    const originalClear = Storage.prototype.clear;
    const originalRemoveItem = Storage.prototype.removeItem;

    // Track which keys the site tries to use
    const blockedKeys = new Set();

    Storage.prototype.setItem = function(key, value) {
        // Log what the site is trying to save
        console.log('📝 Site trying to save:', key, '=', value);
        blockedKeys.add(key);
        
        // Block common tracking keys
        const trackingPatterns = [
            /view/i, /watch/i, /count/i, /limit/i, /free/i, 
            /trial/i, /quota/i, /usage/i, /history/i,
            /recent/i, /played/i, /seen/i, /visited/i, 
            /session/i, /time/i, /expire/i, /24hour/i,
            /daily/i, /video/i, /num/i, /total/i
        ];
        
        const isTracking = trackingPatterns.some(pattern => pattern.test(key));
        
        if (isTracking) {
            console.log('🚫 BLOCKED tracking key:', key);
            return; // Don't save it
        }
        
        // Allow other keys
        return originalSetItem.call(this, key, value);
    };

    Storage.prototype.clear = function() {
        console.log('📝 Site trying to clear storage');
        // Allow clearing but log it
        return originalClear.call(this);
    };

    Storage.prototype.removeItem = function(key) {
        console.log('📝 Site trying to remove:', key);
        return originalRemoveItem.call(this, key);
    };

    // =============================================
    // Run immediately
    // =============================================    clearAllData();

    // Also run when DOM is ready
    if (document.readyState === 'loading') {
        document.addEventListener('DOMContentLoaded', clearAllData);
    } else {
        clearAllData();
    }

    // Run after a short delay (in case site loads data later)
    setTimeout(clearAllData, 100);
    setTimeout(clearAllData, 500);
    setTimeout(clearAllData, 1000);
    setTimeout(clearAllData, 3000);

    // =============================================
    // Status indicator
    // =============================================
    function showStatus() {
        const statusDiv = document.createElement('div');
        statusDiv.style.cssText = `
            position: fixed;
            top: 10px;
            right: 10px;
            background: #2ed573;
            color: #000;
            padding: 10px 15px;
            border-radius: 5px;
            font-family: Arial, sans-serif;
            font-size: 12px;
            font-weight: bold;
            z-index: 999999;
            box-shadow: 0 2px 10px rgba(0,0,0,0.3);
        `;
        statusDiv.innerHTML = '♾️ Unlimited Mode Active<br><small style="font-weight:normal">Data cleared: ' + blockedKeys.size + ' keys blocked</small>';
        document.body.appendChild(statusDiv);

        // Show blocked keys in console
        if (blockedKeys.size > 0) {
            console.log('📊 Blocked tracking keys:', Array.from(blockedKeys));
        }
    }

    // Show status when page loads
    if (document.body) {
        showStatus();
    } else {
        document.addEventListener('DOMContentLoaded', showStatus);
    }
    // Clear data every 30 seconds
    setInterval(() => {
        clearAllData();
        console.log('🔄 Periodic cleanup done');
    }, 30000);

    // Clear data when leaving page
    window.addEventListener('beforeunload', clearAllData);

    // Clear data when tab becomes visible again
    document.addEventListener('visibilitychange', () => {
        if (!document.hidden) {
            clearAllData();
            console.log('🔄 Cleared on tab focus');
        }
    });

    console.log('✅ 1024videos Unlimited loaded successfully');
    console.log('💡 Watch unlimited videos - data will be auto-cleared');

})();