Enhance your browsing with Super Fast Load! Stop YouTube autoplay, add download buttons, and block ads, pop-ups, and trackers. Speed up slow connections, save data, and preload links for quick access. Hide cookie banners, disable location tracking, and block unnecessary scripts. Optimize for ###/Tor, lazy load images and videos, and boost download speeds. Improve website loading by optimizing media elements and reducing ad buffering. Experience faster, safer browsing today!
// ==UserScript== // @name super fast load // @namespace http://tampermonkey.net/ // @version 3 // @description Enhance your browsing with Super Fast Load! Stop YouTube autoplay, add download buttons, and block ads, pop-ups, and trackers. Speed up slow connections, save data, and preload links for quick access. Hide cookie banners, disable location tracking, and block unnecessary scripts. Optimize for ###/Tor, lazy load images and videos, and boost download speeds. Improve website loading by optimizing media elements and reducing ad buffering. Experience faster, safer browsing today! // @match *://*/* // @grant GM_xmlhttpRequest // @grant unsafeWindow // @require https://cdn.jsdelivr.net/npm/[email protected]/umd/browser/brotli.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/zstd/1.3.8/zstd.min.js // @connect * // این خط برای جلوگیری از پیغام دسترسی به منابع بینمرزی است // ==/UserScript== (function() { 'use strict'; const CONFIG = { resourceCache: new Map(), blockList: ['ads.example.com', 'tracking.example.com'], nonEssentialSelectors: ['script[src*="tracking"]', 'iframe[src*="advertisement"]', '.ad-banner', '.cookie-consent'], criticalResources: ['https://example.com/styles.css', 'https://example.com/script.js'], timeout: 500, maxRetries: 3, retryDelay: 1000, imageQuality: 50, preloadThreshold: 500, minifyCSS: true, minifyJS: true, }; // Fetch with timeout const fetchWithTimeout = async (url, options = {}) => { const controller = new AbortController(); const timeoutId = setTimeout(() => controller.abort(), CONFIG.timeout); try { const response = await fetch(url, { ...options, signal: controller.signal }); clearTimeout(timeoutId); return response; } catch (error) { clearTimeout(timeoutId); throw error; } }; // Inject CSS const injectCSS = (css) => { const style = document.createElement('style'); style.textContent = css; document.head.appendChild(style); }; // Preload links const preloadLinks = () => { const links = document.querySelectorAll('a[href]'); links.forEach(link => { if (!CONFIG.resourceCache.has(link.href)) { const linkElement = document.createElement('link'); linkElement.rel = 'prefetch'; linkElement.href = link.href; document.head.appendChild(linkElement); CONFIG.resourceCache.set(link.href, true); } }); }; // Compress images const compressImage = async (img) => { const canvas = document.createElement('canvas'); const ctx = canvas.getContext('2d'); canvas.width = img.naturalWidth; canvas.height = img.naturalHeight; ctx.drawImage(img, 0, 0); const compressedDataUrl = canvas.toDataURL('image/jpeg', CONFIG.imageQuality / 100); img.src = compressedDataUrl; }; // Optimize images const optimizeImages = async () => { const images = document.querySelectorAll('img'); images.forEach(async (img) => { if (img.complete && img.naturalWidth > 0) { await compressImage(img); } }); }; // Minify CSS const minifyCSS = (css) => { return css.replace(/\s+/g, ' ').trim(); }; // Minify JS const minifyJS = (js) => { return js.replace(/\s+/g, ' ').trim(); }; // Minify resources const minifyResources = async (url) => { const response = await fetch(url); if (!response.ok) throw new Error('Network response was not ok'); const text = await response.text(); if (url.endsWith('.css') && CONFIG.minifyCSS) { return minifyCSS(text); } else if (url.endsWith('.js') && CONFIG.minifyJS) { return minifyJS(text); } return text; }; // Load resource const loadResource = async (url, type) => { try { const text = await minifyResources(url); const blob = new Blob([text], { type: type === 'css' ? 'text/css' : 'application/javascript' }); const blobUrl = URL.createObjectURL(blob); const element = document.createElement(type === 'css' ? 'link' : 'script'); element[type === 'css' ? 'href' : 'src'] = blobUrl; element.rel = type === 'css' ? 'stylesheet' : undefined; element.defer = type !== 'css'; document.head.appendChild(element); } catch (error) { console.error('Failed to load resource:', url, error); } }; // Preload critical resources const preloadResources = () => { CONFIG.criticalResources.forEach(resource => { loadResource(resource, resource.endsWith('.css') ? 'css' : 'js'); }); }; // Block unnecessary requests const blockUnnecessaryRequests = () => { const originalOpen = XMLHttpRequest.prototype.open; XMLHttpRequest.prototype.open = function (method, url, ...args) { if (url.includes('captcha') || url.includes('cloudflare')) { return originalOpen.call(this, method, url, ...args); } if (CONFIG.blockList.some(domain => url.includes(domain))) { console.log(`Blocked request to: ${url}`); return; } return originalOpen.call(this, method, url, ...args); }; }; // Prevent data collection const preventDataCollection = () => { navigator.geolocation.getCurrentPosition = () => console.warn("Geolocation access blocked."); Object.defineProperty(navigator, 'userAgent', { get: () => 'Blocked User Agent' }); }; // Remove non-essential elements const removeNonEssentialElements = () => { CONFIG.nonEssentialSelectors.forEach(selector => { document.querySelectorAll(selector).forEach(element => { if (!element.src?.includes('captcha') && !element.src?.includes('cloudflare')) { element.remove(); } }); }); }; // Prevent autoplay without breaking video controls const preventAutoplay = () => { const stopAutoplay = (media) => { media.pause(); // Stop autoplay media.preload = 'none'; // Prevent preloading media.autoplay = false; // Disable autoplay media.setAttribute('data-autoplay-prevented', 'true'); // Mark video as autoplay prevented // Control play/pause with mouse click media.addEventListener('click', (event) => { event.stopPropagation(); // Prevent event propagation if (media.paused) { media.play(); // Play if paused } else { media.pause(); // Pause if playing } }); media.controls = false; // Disable default video controls // Hide large/small play buttons (if present) const playButton = media.closest('.ytp-large-play-button, .ytp-small-play-button'); if (playButton) { playButton.style.display = 'none'; } }; // Apply settings to all video and audio elements on the page document.querySelectorAll('video, audio').forEach(stopAutoplay); // Observe DOM changes to apply settings to new video and audio elements const observer = new MutationObserver((mutations) => { mutations.forEach((mutation) => { if (mutation.type === 'childList') { mutation.addedNodes.forEach((node) => { if (node.nodeName === 'VIDEO' || node.nodeName === 'AUDIO') { stopAutoplay(node); } else if (node.querySelectorAll) { node.querySelectorAll('video, audio').forEach(stopAutoplay); } }); } }); }); // Start observing the document body for changes observer.observe(document.body, { childList: true, subtree: true }); }; // Lazy load media const lazyLoadMedia = () => { const observer = new IntersectionObserver(entries => { entries.forEach(async entry => { if (entry.isIntersecting) { const media = entry.target; const response = await fetch(media.dataset.src); if (response.ok) { const blob = await response.blob(); media.src = URL.createObjectURL(blob); observer.unobserve(media); } } }); }, { threshold: 0.1, rootMargin: '200px' }); document.querySelectorAll('video[data-src], audio[data-src], img[data-src]').forEach(media => observer.observe(media)); }; // Enable lazy loading for images const enableLazyLoadImages = () => { document.querySelectorAll('img:not([loading])').forEach(img => { img.loading = 'lazy'; img.decoding = 'async'; img.referrerPolicy = 'no-referrer'; }); }; // Create download button const createDownloadButton = () => { const downloadIcon = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); downloadIcon.setAttribute('xmlns', 'http://www.w3.org/2000/svg'); downloadIcon.setAttribute('fill', 'currentColor'); downloadIcon.setAttribute('height', '24'); downloadIcon.setAttribute('viewBox', '0 0 24 24'); downloadIcon.setAttribute('width', '24'); downloadIcon.setAttribute('focusable', 'false'); downloadIcon.style.pointerEvents = 'none'; downloadIcon.style.display = 'block'; downloadIcon.style.width = '100%'; downloadIcon.style.height = '100%'; downloadIcon.style.opacity = '0.2'; const path = document.createElementNS('http://www.w3.org/2000/svg', 'path'); path.setAttribute('d', 'M17 18v1H6v-1h11zm-.5-6.6-.7-.7-3.8 3.7V4h-1v10.4l-3.8-3.8-.7.7 5 5 5-4.9z'); downloadIcon.appendChild(path); const downloadButton = document.createElement('button'); downloadButton.id = 'ytdl-download-button'; downloadButton.classList.add('ytp-button'); downloadButton.title = 'Left click to download as video, right click as audio only'; downloadButton.appendChild(downloadIcon); const interval = setInterval(() => { const controls = document.querySelector('.ytp-right-controls'); if (controls && !document.getElementById('ytdl-download-button')) { controls.insertBefore(downloadButton, controls.firstChild); clearInterval(interval); } }, 1000); downloadButton.addEventListener('click', (event) => { if (event.button === 0) { showModal(); } else if (event.button === 2) { showModal(true); } }); }; // Show modal const showModal = (isAudioOnly = false) => { const overlay = document.createElement('div'); overlay.id = 'modal-overlay'; overlay.onclick = hideModal; const modalContent = document.createElement('div'); modalContent.id = 'modal-content'; const iframe = document.createElement('iframe'); const videoID = new URLSearchParams(window.location.search).get('v'); if (videoID) { const url = isAudioOnly ? `https://www.y2mate.com/youtube/${videoID}/audio` : `https://www.y2mate.com/youtube/${videoID}`; iframe.src = url; } modalContent.appendChild(iframe); overlay.appendChild(modalContent); document.body.appendChild(overlay); overlay.style.display = 'flex'; }; // Hide modal const hideModal = () => { document.getElementById('modal-overlay')?.remove(); }; // Monitor connection const monitorConnection = async () => { while (true) { try { const response = await fetch('https://www.google.com/generate_204', { method: 'GET', mode: 'no-cors' }); if (response.status >= 200 && response.status < 300) { console.log("Internet is stable."); } else { throw new Error("Connectivity issue detected."); } } catch (error) { console.warn("Internet connection lost! Attempting to reconnect..."); reconnectNetwork(); } await new Promise(resolve => setTimeout(resolve, 3000)); } }; // Reconnect network const reconnectNetwork = async () => { console.log("Reconnecting to the network..."); try { await clearDNSCache(); console.log("DNS cache cleared."); navigator.serviceWorker.getRegistrations().then(registrations => { registrations.forEach(reg => reg.unregister()); console.log("Service workers reset."); }); if (navigator.connection && navigator.connection.type) { navigator.connection.type = "wifi"; console.log("Network interface reinitialized."); } console.log("Reconnection attempt completed."); } catch (error) { console.error("Error during reconnection process:", error); } }; // Clear DNS cache const clearDNSCache = async () => { try { await Promise.all([ fetch('https://1.1.1.1/generate_204', { method: 'GET', mode: 'no-cors' }), fetch('https://8.8.8.8/generate_204', { method: 'GET', mode: 'no-cors' }), ]); console.log("DNS cache refreshed."); } catch (error) { console.warn("Failed to refresh DNS cache:", error); } }; // Enhance request stability const enhanceRequestStability = () => { const originalFetch = window.fetch; window.fetch = async (...args) => { for (let attempt = 1; attempt <= CONFIG.maxRetries; attempt++) { try { const response = await originalFetch(...args); if (response.ok) return response; } catch (error) { console.warn(`Fetch attempt ${attempt} failed. Retrying...`, error); } await new Promise(resolve => setTimeout(resolve, CONFIG.retryDelay)); } console.error("Fetch failed after 5 retries."); throw new Error("Failed to stabilize request."); }; const originalXMLHttpRequest = window.XMLHttpRequest; window.XMLHttpRequest = function () { const xhr = new originalXMLHttpRequest(); xhr.addEventListener("error", () => { console.warn("XHR failed. Retrying..."); setTimeout(() => xhr.open(xhr.method, xhr.url, true), CONFIG.retryDelay); }); return xhr; }; }; // Optimize based on conditions const optimizeBasedOnConditions = async () => { const networkInfo = await getNetworkInfo(); const deviceInfo = getDeviceInfo(); console.log('Network Info:', networkInfo); console.log('Device Info:', deviceInfo); if (networkInfo.effectiveType === 'slow-2g' || networkInfo.effectiveType === '2g') { console.log('Slow network detected. Applying aggressive optimizations...'); preloadResources(); enhanceRequestStability(); enableLazyLoadImages(); optimizeImages(); } else if (networkInfo.effectiveType === '3g') { console.log('3G network detected. Applying moderate optimizations...'); preloadResources(); enableLazyLoadImages(); optimizeImages(); } else { console.log('Fast network detected. Applying light optimizations...'); enableLazyLoadImages(); optimizeImages(); } }; // Check if mobile const isMobile = () => window.matchMedia('(max-width: 768px)').matches; // Save mobile resources const saveMobileResources = () => { const elements = document.querySelectorAll('img[src], video[src], script[src], link[rel="stylesheet"]'); const mobileResources = new Set(); elements.forEach(el => { const src = el.src || el.href; if (src) { mobileResources.add(src); } }); sessionStorage.setItem('mobileResources', JSON.stringify([...mobileResources])); console.log('Mobile resources captured:', [...mobileResources]); }; // Block desktop resources const blockDesktopResources = () => { const storedResources = sessionStorage.getItem('mobileResources'); if (!storedResources) { console.warn('No mobile resources found. Please visit the site in mobile mode first.'); return; } const mobileResources = new Set(JSON.parse(storedResources)); const blockRequest = (url) => { if (!mobileResources.has(url)) { console.warn(`Blocked desktop-only resource: ${url}`); return true; } return false; }; const originalFetch = window.fetch; window.fetch = function (...args) { if (blockRequest(args[0])) { return Promise.reject(new Error('Blocked by Tampermonkey script')); } return originalFetch.apply(this, args); }; const originalXHR = window.XMLHttpRequest.prototype.open; window.XMLHttpRequest.prototype.open = function (method, url, ...rest) { if (blockRequest(url)) { console.warn(`Blocked XHR request: ${url}`); return; } return originalXHR.apply(this, [method, url, ...rest]); }; }; // Improve page cache const improvePageCache = () => { const cacheKey = 'pageCache'; const cachedData = localStorage.getItem(cacheKey); if (cachedData) { const parsedData = JSON.parse(cachedData); console.log('Loaded from cache:', parsedData); } else { console.log('No cache found. Creating new cache...'); localStorage.setItem(cacheKey, JSON.stringify({ timestamp: Date.now(), data: 'example data' })); } }; // Lazy load all elements const lazyLoadAllElements = () => { const observer = new IntersectionObserver(entries => { entries.forEach(entry => { if (entry.isIntersecting) { const element = entry.target; if (element.tagName === 'IMG' && element.dataset.src) { element.src = element.dataset.src; } else if (element.tagName === 'VIDEO' && element.dataset.src) { element.src = element.dataset.src; } else if (element.tagName === 'IFRAME' && element.dataset.src) { element.src = element.dataset.src; } else if (element.tagName === 'DIV' && element.dataset.style) { element.style = element.dataset.style; } observer.unobserve(element); } }); }, { threshold: 0.1, rootMargin: '200px' }); document.querySelectorAll('img[data-src], video[data-src], iframe[data-src], div[data-style]').forEach(element => observer.observe(element)); }; // Function to optimize media elements const optimizeMediaElements = () => { const mediaElements = document.querySelectorAll('video, audio'); mediaElements.forEach(media => { media.preload = 'auto'; media.autoplay = false; media.loop = false; media.controls = true; media.muted = false; }); }; // Function to block ad-related scripts const blockAdScripts = () => { const scripts = document.querySelectorAll('script'); scripts.forEach(script => { if (script.src && script.src.includes('ads')) { script.remove(); } }); }; // Function to optimize network requests const optimizeNetworkRequests = () => { const originalFetch = window.fetch; window.fetch = function(resource, init) { const url = typeof resource === 'string' ? resource : resource.url; if (url.includes('ads') || url.includes('tracking')) { return Promise.reject(new Error('Blocked ad or tracking request')); } return originalFetch(resource, init); }; }; // Function to delay non-essential scripts const delayNonEssentialScripts = () => { const scripts = document.querySelectorAll('script[type="text/javascript"]'); scripts.forEach(script => { if (!script.src && !script.async && !script.defer) { script.defer = true; } }); }; // Inject CSS injectCSS(` #ytdl-download-button { position: relative; top: 0; left: 0; background-color: transparent; border: none; cursor: pointer; z-index: 1000; } #modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); display: none; justify-content: center; align-items: center; z-index: 2000; } #modal-content { background-color: white; padding: 20px; border-radius: 8px; width: 80%; max-width: 600px; } #modal-content iframe { width: 100%; height: 400px; border: none; } .ytp-large-play-button, .ytp-small-play-button { display: none !important; } video::-webkit-media-controls { display: none !important; } `); // Initialize optimizations preloadResources(); monitorConnection(); enhanceRequestStability(); optimizeBasedOnConditions(); blockUnnecessaryRequests(); preventDataCollection(); removeNonEssentialElements(); preventAutoplay(); lazyLoadMedia(); enableLazyLoadImages(); optimizeImages(); preloadLinks(); improvePageCache(); lazyLoadAllElements(); optimizeMediaElements(); blockAdScripts(); optimizeNetworkRequests(); delayNonEssentialScripts(); // Event listeners window.addEventListener('yt-navigate-finish', () => { preventAutoplay(); createDownloadButton(); }); window.addEventListener('load', () => { preventAutoplay(); createDownloadButton(); }); const originalPushState = history.pushState; history.pushState = function() { originalPushState.apply(this, arguments); preventAutoplay(); }; const originalReplaceState = history.replaceState; history.replaceState = function() { originalReplaceState.apply(this, arguments); preventAutoplay(); }; // Mobile/desktop detection if (isMobile()) { console.log('Mobile mode detected. Capturing resources...'); saveMobileResources(); } else { console.log('Desktop mode detected. Blocking extra resources...'); blockDesktopResources(); } console.log("Ultimate Page Load Optimizer with Advanced Lazy Loading and Speed Up Website Loading is active."); })();