1024videos vip

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

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey, Greasemonkey или Violentmonkey.

Для установки этого скрипта вам необходимо установить расширение, такое как Tampermonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Violentmonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Userscripts.

Чтобы установить этот скрипт, сначала вы должны установить расширение браузера, например Tampermonkey.

Чтобы установить этот скрипт, вы должны установить расширение — менеджер скриптов.

(у меня уже есть менеджер скриптов, дайте мне установить скрипт!)

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

(у меня уже есть менеджер стилей, дайте мне установить скрипт!)

// ==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');

})();