1024videos vip

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

スクリプトをインストールするには、Tampermonkey, GreasemonkeyViolentmonkey のような拡張機能のインストールが必要です。

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

スクリプトをインストールするには、TampermonkeyViolentmonkey のような拡張機能のインストールが必要です。

スクリプトをインストールするには、TampermonkeyUserscripts のような拡張機能のインストールが必要です。

このスクリプトをインストールするには、Tampermonkeyなどの拡張機能をインストールする必要があります。

このスクリプトをインストールするには、ユーザースクリプト管理ツールの拡張機能をインストールする必要があります。

(ユーザースクリプト管理ツールは設定済みなのでインストール!)

このスタイルをインストールするには、Stylusなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus などの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus tなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

(ユーザースタイル管理ツールは設定済みなのでインストール!)

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください
// ==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');

})();