1024videos vip

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

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

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

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 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');

})();