🎉 欢迎访问GreasyFork.Org 镜像站!本镜像站由公众号【爱吃馍】搭建,用于分享脚本。联系邮箱📮

Greasy fork 爱吃馍镜像

Greasy Fork is available in English.

📂 缓存分发状态(共享加速已生效)
🕒 页面同步时间:2026/01/13 22:33:50
🔄 下次更新时间:2026/01/13 23:33:50
手动刷新缓存

Ultimate Performance Optimizer (Super Optimized)

A smart, safe, and user-configurable hybrid solution with a synced visual progress bar.

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!)

🚀 安装遇到问题?关注公众号获取帮助

公众号二维码

扫码关注【爱吃馍】

回复【脚本】获取最新教程和防失联地址

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!)

🚀 安装遇到问题?关注公众号获取帮助

公众号二维码

扫码关注【爱吃馍】

回复【脚本】获取最新教程和防失联地址

// ==UserScript==
// @name         Ultimate Performance Optimizer (Super Optimized)
// @namespace    http://zeta/
// @version      4.2
// @description  A smart, safe, and user-configurable hybrid solution with a synced visual progress bar.
// @author       Gugu8
// @match        *://*/*
// @run-at       document-start
// @grant        GM_addStyle
// @grant        GM_getValue
// @grant        GM_setValue
// ==/UserScript==

(function() {
    'use strict';

    // --- Configuration and Constants ---
    const UPO_CONFIG_KEY = 'upo_settings';
    const UPO_BLACKLIST_KEY = 'upo_blacklist';
    const BOOST_DURATION = 2250; // The total duration of the boost animation in milliseconds (2.25 seconds)

    const defaultConfig = {
        logLevel: 3, // 1: Error, 2: Warning, 3: Info
        keepAliveInterval: 300000,
        enablePreconnect: true,
        enableWillChange: true,
        lazyLoadMargin: '300px',
        prefetchMargin: '200px',
        enableNetworkThrottling: true,
        enablePrefetching: true
    };

    // --- Logger for Better Debugging ---
    const Logger = {
        log(level, message) {
            if (this.config.logLevel >= level) {
                const prefix = level === 1 ? 'Error' : level === 2 ? 'Warning' : 'Info';
                const color = level === 1 ? 'color: #dc3545' : level === 2 ? 'color: #ffc107' : 'color: #7952B3';
                console.log(`%c[UPO - ${prefix}] ${message}`, color);
            }
        },
        init(config) {
            this.config = config;
        }
    };

    // --- Main UPO Class for Encapsulation ---
    class UltimatePerformanceOptimizer {
        constructor() {
            this.config = this.loadConfig();
            Logger.init(this.config);

            this.isBoosted = false;
            this.lazyObserver = null;
            this.prefetchObserver = null;
            this.willChangeObserver = null;
            this.domObserver = null;
            this.upoContainer = null;
            this.boostButton = null;
            this.boostProgressSpan = null;
            this.boostTextSpan = null;
            this.hideButton = null;
            this.currentDomain = window.location.hostname;
        }

        // --- Core Functions ---
        loadConfig() {
            try {
                const storedConfig = GM_getValue(UPO_CONFIG_KEY, JSON.stringify(defaultConfig));
                return { ...defaultConfig, ...JSON.parse(storedConfig) };
            } catch (e) {
                Logger.log(1, `Failed to load config, using default. Error: ${e.message}`);
                return defaultConfig;
            }
        }

        setupLazyLoading() {
            if (!('IntersectionObserver' in window)) {
                Logger.log(2, 'IntersectionObserver not supported. Skipping lazy loading.');
                return;
            }
            if (this.lazyObserver) this.lazyObserver.disconnect();
            this.lazyObserver = new IntersectionObserver((entries, observer) => {
                entries.forEach(entry => {
                    if (entry.isIntersecting) {
                        const element = entry.target;
                        const src = element.getAttribute('data-lazy-src');
                        if (src) {
                            element.src = src;
                            element.removeAttribute('data-lazy-src');
                            Logger.log(3, `Lazy-loaded: ${src}`);
                        }
                        observer.unobserve(element);
                    }
                });
            }, { rootMargin: this.config.lazyLoadMargin });
            this.observeElements('[data-lazy-src]', this.lazyObserver);
            Logger.log(3, 'Lazy loading initialized.');
        }

        setupPrefetching() {
            if (!this.config.enablePrefetching || !('IntersectionObserver' in window)) {
                Logger.log(2, 'Prefetching is disabled or not supported.');
                return;
            }
            if (this.config.enableNetworkThrottling && this.isSlowConnection()) {
                Logger.log(3, 'Slow connection detected. Prefetching is disabled.');
                return;
            }
            if (this.prefetchObserver) this.prefetchObserver.disconnect();
            this.prefetchObserver = new IntersectionObserver((entries, observer) => {
                entries.forEach(entry => {
                    if (entry.isIntersecting) {
                        const link = entry.target;
                        this.tryPrefetch(link);
                        observer.unobserve(link);
                    }
                });
            }, { rootMargin: this.config.prefetchMargin });
            this.observeElements('a[href]', this.prefetchObserver);
            Logger.log(3, 'Prefetching initialized.');
        }

        // --- Helper Methods ---
        isSlowConnection() {
            const connection = navigator.connection || navigator.mozConnection || navigator.webkitConnection;
            return connection && (connection.effectiveType === 'slow-2g' || connection.effectiveType === '2g');
        }

        tryPrefetch(link) {
            try {
                const url = new URL(link.href, window.location.origin);
                if (url.hostname === window.location.hostname && !['/logout', '/login', '/account'].some(path => url.pathname.includes(path))) {
                    const prefetchLink = document.createElement('link');
                    prefetchLink.rel = 'prefetch';
                    prefetchLink.href = url.href;
                    document.head.appendChild(prefetchLink);
                    Logger.log(3, `Prefetched: ${url.href}`);
                }
            } catch (e) {
                Logger.log(1, `Error prefetching: ${link.href}, ${e.message}`);
            }
        }

        setupPreconnect() {
            if (!this.config.enablePreconnect) return;
            const preconnectDomains = new Set();
            setTimeout(() => {
                document.querySelectorAll('a[href]').forEach(link => {
                    try {
                        const url = new URL(link.href);
                        if (url.origin !== window.location.origin && !preconnectDomains.has(url.origin)) {
                            const preconnectLink = document.createElement('link');
                            preconnectLink.rel = 'preconnect';
                            preconnectLink.href = url.origin;
                            preconnectLink.crossOrigin = 'anonymous';
                            document.head.appendChild(preconnectLink);
                            preconnectDomains.add(url.origin);
                            Logger.log(3, `Preconnected to domain: ${url.origin}`);
                        }
                    } catch (e) { /* ignore malformed links */ }
                });
            }, 2000);
        }

        setupKeepAlive() {
            if (!this.config.keepAliveInterval) return;
            setInterval(() => {
                if (navigator.sendBeacon) {
                    const currentURL = window.location.href;
                    if (currentURL.includes('?')) {
                        Logger.log(2, 'A keep-alive beacon is being sent to a URL with a query string. This could interfere with analytics.');
                    }
                    navigator.sendBeacon(currentURL, '');
                    Logger.log(3, 'Sent keep-alive beacon.');
                }
            }, this.config.keepAliveInterval);
        }

        setupWillChange() {
            if (!this.config.enableWillChange || !('willChange' in document.documentElement.style)) return;
            if (this.willChangeObserver) this.willChangeObserver.disconnect();
            this.willChangeObserver = new IntersectionObserver((entries) => {
                entries.forEach(entry => {
                    entry.target.style.willChange = entry.isIntersecting ? 'transform, opacity' : 'auto';
                });
            }, { rootMargin: '100px' });
            this.observeElements('a, button, input[type="submit"]', this.willChangeObserver);
            Logger.log(3, 'Will-change optimization initialized.');
        }

        setupDOMObserver() {
            if (this.domObserver) this.domObserver.disconnect();
            this.domObserver = new MutationObserver((mutations) => {
                mutations.forEach((mutation) => {
                    if (mutation.type === 'childList' && mutation.addedNodes.length > 0) {
                        mutation.addedNodes.forEach((node) => {
                            if (node.nodeType === 1) { // Element node
                                if (this.lazyObserver) this.observeElements('[data-lazy-src]', this.lazyObserver, node);
                                if (this.prefetchObserver) this.observeElements('a[href]', this.prefetchObserver, node);
                                if (this.willChangeObserver) this.observeElements('a, button, input[type="submit"]', this.willChangeObserver, node);
                            }
                        });
                    }
                });
            });
            this.domObserver.observe(document.documentElement, { childList: true, subtree: true });
            Logger.log(3, 'DOM MutationObserver started.');
        }

        observeElements(selector, observer, root = document) {
            root.querySelectorAll(selector).forEach(el => {
                if (observer.takeRecords().every(record => record.target !== el)) {
                    observer.observe(el);
                }
            });
        }

        // --- UI & Event Handling ---
        createUI() {
            this.upoContainer = document.createElement('div');
            this.upoContainer.id = 'upo-container';
            this.upoContainer.innerHTML = `
                <button id="upo-hide-btn" title="Hide/Show UI (\`)">×</button>
                <button id="upo-boost-btn">
                    <span id="upo-boost-progress"></span>
                    <span id="upo-boost-text">BOOST PERFORMANCE</span>
                </button>
                <button id="upo-disable-btn">Disable for this Site</button>
            `;
            document.body.appendChild(this.upoContainer);

            this.boostButton = document.getElementById('upo-boost-btn');
            this.boostProgressSpan = document.getElementById('upo-boost-progress');
            this.boostTextSpan = document.getElementById('upo-boost-text');
            const disableButton = document.getElementById('upo-disable-btn');
            this.hideButton = document.getElementById('upo-hide-btn');

            this.boostButton.addEventListener('click', () => this.activateBoost());
            disableButton.addEventListener('click', () => this.disableForSite(disableButton));
            this.hideButton.addEventListener('click', () => this.toggleUIVisibility());
            document.addEventListener('keydown', (e) => {
                if (e.key === '`' || e.key === '~') {
                    e.preventDefault();
                    const tagName = e.target.tagName;
                    if (tagName === 'INPUT' || tagName === 'TEXTAREA') return;
                    this.toggleUIVisibility();
                }
            });
        }

        activateBoost() {
            if (this.isBoosted) return;
            this.isBoosted = true;

            const startTime = performance.now();
            const updateInterval = 50;
            let progressInterval;

            // Re-enable the transition for the boost animation
            this.boostProgressSpan.style.transition = `width ${BOOST_DURATION / 1000}s linear`;

            this.boostButton.classList.add('disabled', 'boosting');
            this.boostTextSpan.textContent = `BOOSTING... 0% 🚀`;
            this.boostProgressSpan.style.width = '100%';

            Logger.log(3, 'Activating performance boost...');

            progressInterval = setInterval(() => {
                const elapsed = performance.now() - startTime;
                const progress = Math.min(1, elapsed / BOOST_DURATION);
                const currentPercentage = Math.floor(progress * 100);

                this.boostTextSpan.textContent = `BOOSTING... ${currentPercentage}% 🚀`;

                if (currentPercentage >= 100) {
                    clearInterval(progressInterval);
                    this.finishBoost();
                }
            }, updateInterval);

            this.setupLazyLoading();
            this.setupPrefetching();
        }

        finishBoost() {
            this.boostTextSpan.textContent = 'PERFORMANCE OPTIMIZED! ✅';
            this.boostButton.classList.remove('boosting');

            // Wait 1 second to show the final message, then snap back
            setTimeout(() => {
                // Disable transition to make the snap instantaneous
                this.boostProgressSpan.style.transition = 'none';
                this.boostProgressSpan.style.width = '0%';

                // Wait a tiny bit before restoring the transition
                // This ensures the style change is applied before the transition is restored
                setTimeout(() => {
                    this.boostButton.classList.remove('disabled');
                    this.boostTextSpan.textContent = 'BOOST PERFORMANCE';
                    this.isBoosted = false;
                    // The transition will be re-enabled on the next `activateBoost` call
                }, 50);

            }, 1000);
        }

        toggleUIVisibility() {
            this.upoContainer.classList.toggle('hidden');
        }

        disableForSite(button) {
            const list = GM_getValue(UPO_BLACKLIST_KEY, []);
            if (!list.includes(this.currentDomain)) {
                list.push(this.currentDomain);
                GM_setValue(UPO_BLACKLIST_KEY, list);
                Logger.log(3, `Site '${this.currentDomain}' has been added to the blacklist. Please reload to see the effect.`);
                button.innerText = 'Disabled ✅';
                button.disabled = true;
            }
        }

        // --- Main Initialization ---
        init() {
            const blacklistedSites = GM_getValue(UPO_BLACKLIST_KEY, []);
            if (blacklistedSites.includes(this.currentDomain)) {
                Logger.log(3, `Site '${this.currentDomain}' is blacklisted. All optimizations are disabled. 🚫`);
                return;
            }
            Logger.log(3, 'UPO v19.0 - Ready to go! 🎉');

            this.setupPreconnect();
            this.setupKeepAlive();
            this.setupWillChange();
            this.setupDOMObserver();

            this.addStyles();
            this.createUI();
        }

        addStyles() {
            const style = `
                #upo-container {
                    position: fixed;
                    bottom: 20px;
                    right: 20px;
                    background-color: rgba(255, 255, 255, 0.95);
                    border: 2px solid #7952B3;
                    padding: 15px;
                    padding-top: 40px;
                    border-radius: 8px;
                    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.35);
                    z-index: 99999;
                    font-family: sans-serif;
                    text-align: center;
                    transition: all 0.3s ease;
                }
                #upo-container.hidden {
                    transform: translateY(200%);
                    opacity: 0;
                    pointer-events: none;
                }
                #upo-hide-btn {
                    position: absolute;
                    top: 5px;
                    right: 5px;
                    background: none;
                    border: none;
                    color: #7952B3;
                    font-size: 24px;
                    font-weight: bold;
                    line-height: 1;
                    padding: 0;
                    cursor: pointer;
                    transition: transform 0.2s ease;
                }
                #upo-hide-btn:hover {
                    transform: scale(1.2);
                }

                #upo-boost-btn {
                    position: relative;
                    background-color: #7952B3;
                    color: white;
                    border: none;
                    padding: 12px 20px;
                    border-radius: 5px;
                    font-size: 16px;
                    font-weight: bold;
                    cursor: pointer;
                    width: 100%;
                    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
                    overflow: hidden;
                    transition: background-color 0.2s ease, transform 0.1s ease, box-shadow 0.2s ease;
                    margin-bottom: 10px;
                }

                #upo-boost-progress {
                    position: absolute;
                    top: 0;
                    left: 0;
                    height: 100%;
                    width: 0%;
                    background-color: #28a745;
                    /* The transition is now controlled by JS */
                    z-index: 1;
                }

                #upo-boost-text {
                    position: relative;
                    z-index: 2;
                }

                #upo-boost-btn:not(.disabled):hover {
                    background-color: #6a4a9f;
                    transform: translateY(-1px);
                    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
                }
                #upo-boost-btn.disabled {
                    background-color: #aaa;
                    cursor: not-allowed;
                }

                #upo-disable-btn {
                    background: none;
                    color: #7952B3;
                    border: 1px solid #7952B3;
                    padding: 5px 10px;
                    font-size: 12px;
                    border-radius: 3px;
                    cursor: pointer;
                    width: 100%;
                }
            `;
            GM_addStyle(style);
        }
    }

    const upo = new UltimatePerformanceOptimizer();
    upo.init();
})();