您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
NextShield屏蔽所有YouTube广告,让您无需干扰、快速且私密地观看视频。
// ==UserScript== // @name:zh-CN NextShield - YouTube 广告拦截器 // @name:es NextShield - Bloqueador de Anuncios de YouTube // @name:hi NextShield - YouTube विज्ञापन ब्लॉकर // @name NextSheild - Adblocker For Youtube [ FREE 2025 Update! ] // @name:vi NextSheild - Công cụ bỏ qua quảng cáo // @namespace https://twisk.com // @version 1.0.3 // @description:zh-CN NextShield屏蔽所有YouTube广告,让您无需干扰、快速且私密地观看视频。 // @description:es NextShield bloquea todos los anuncios de YouTube, permitiéndote ver videos sin interrupciones y de forma privada. // @description:hi NextShield सभी YouTube विज्ञापनों को ब्लॉक करता है, जिससे आप बिना रुकावट, तेज़ और निजी तरीके से वीडियो देख सकते हैं। // @description NextShield blocks all YouTube ads, letting you watch videos uninterrupted, faster, and privately for a smooth, ad-free viewing experience , boost your FPS while streaming videos. // @description:vi NextSheild chặn tất cả YouTube quảng cáo , tạo trải nghiệm xem video nhanh hơn , bảo mật hơn , không quảng cáo. // @author Airplane Mode - airpl4ne // @icon https://github.com/pillowslua/crackduo/blob/main/logo.png?raw=true // @match https://www.youtube.com/* // @match https://m.youtube.com/* // @grant none // @license MIT // @noframes // ==/UserScript== // if you need support or you want help , please contact us! // discord : t1wsk // discord server : https://discord.gg/m3EV55SpYw // we're going to make a YoutubeAdblocking API for free , if you want to use it , just contact us! // big thanks to airpl4ne for giving me ideas & free codes! (function() { 'use strict'; // css function applyMinimalStyles() { const style = document.createElement('style'); style.textContent = ` /* Notification styling */ .simple-notification { position: fixed; top: 20px; right: 20px; padding: 10px 20px; background: #333; color: #fff; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.2); z-index: 10000; font-family: Arial, sans-serif; font-size: 14px; opacity: 0; transform: translateY(-10px); transition: opacity 0.5s ease, transform 0.5s ease; } .simple-notification.show { opacity: 1; transform: translateY(0); } `; document.head.appendChild(style); } // notify function showNotification(message) { const notification = document.createElement('div'); notification.className = 'simple-notification'; notification.textContent = message; document.body.appendChild(notification); // fade in setTimeout(() => { notification.classList.add('show'); }, 100); // fade out & removing notifi setTimeout(() => { notification.classList.remove('show'); setTimeout(() => notification.remove(), 500); }, 3000); } // boost your video fps function enhanceVideoQuality() { const player = document.querySelector('video'); if (!player || player.dataset.qualityEnhanced) return; // Access YouTube player API const ytPlayer = document.querySelector('#movie_player'); if (!ytPlayer || !ytPlayer.getAvailableQualityLevels) return; // Mark as enhanced to prevent repeated attempts player.dataset.qualityEnhanced = 'true'; // Get available quality levels const qualities = ytPlayer.getAvailableQualityLevels(); // Prioritize highest quality (e.g., 'hd2160' for 4K, 'hd1080' for 1080p) const preferredQualities = ['hd2160', 'hd1440', 'hd1080', 'hd720', 'large', 'medium', 'small']; let selectedQuality = null; for (const quality of preferredQualities) { if (qualities.includes(quality)) { selectedQuality = quality; break; } } if (selectedQuality) { ytPlayer.setPlaybackQualityRange(selectedQuality); showNotification(`Video quality set to ${selectedQuality}!`); } else { showNotification('No higher quality available.'); } // Attempt to prioritize high FPS (e.g., 60fps) by checking available streams // Note: YouTube's API doesn't directly expose FPS, so we infer from quality labels const playbackData = ytPlayer.getVideoData(); if (playbackData && playbackData.isLive) { showNotification('Live stream detected; FPS optimization skipped.'); return; } // Re-check available qualities after setting to ensure high FPS const qualityLabels = ytPlayer.getAvailableQualityLevels(); const highFpsQuality = qualityLabels.find(q => q.includes('1080p60') || q.includes('720p60')); if (highFpsQuality && highFpsQuality !== selectedQuality) { ytPlayer.setPlaybackQualityRange(highFpsQuality); showNotification(`Switched to ${highFpsQuality} for higher FPS!`); } } // Ad-blocking functions function removeAntiAdblockPopup() { document.querySelectorAll('tp-yt-paper-dialog').forEach(dlg => { const isAdblockWarning = dlg.querySelector('a[href*="support.google.com"]') || /adblock|allow\s*ads|blocker/i.test(dlg.innerText); if (isAdblockWarning) { console.log("[Userscript] Popup anti-adblock détecté → suppression."); dlg.remove(); document.body.style.overflow = "auto"; showNotification('Anti-adblock popup removed!'); } }); const backdrop = document.querySelector('tp-yt-iron-overlay-backdrop.opened'); if (backdrop) { backdrop.remove(); document.body.style.overflow = "auto"; } } function bypassAgeRestriction() { const ageDialog = document.querySelector('ytd-enforcement-message-view-model'); const player = document.querySelector('video'); if (ageDialog) { ageDialog.remove(); showNotification('Age restriction bypassed!'); } if (player && player.paused && player.readyState === 0) { const isAgeBlocked = !!document.querySelector('ytd-player .ytd-watch-flexy[ad-blocked]'); const videoId = new URLSearchParams(window.location.search).get('v'); if (isAgeBlocked && videoId) { window.location.href = `https://www.youtube-nocookie.com/embed/${videoId}?autoplay=1`; } } } function skipAds() { const pipMode = document.querySelector('ytd-pip-container, ytd-miniplayer-player-container'); const adVideo = document.querySelector('.ad-showing video'); if (adVideo && adVideo.duration) { adVideo.currentTime = adVideo.duration; adVideo.muted = true; showNotification('Ad skipped!'); } const skipBtn = document.querySelector('.ytp-ad-skip-button, .ytp-ad-skip-button-modern'); if (skipBtn) { skipBtn.click(); showNotification('Ad skipped!'); } if (document.querySelector('.ad-showing')) { setTimeout(skipAds, 500); } } function removeAdBanners() { const selectors = [ '#player-ads', '#masthead-ad', '.ytp-ad-overlay-container', '.ytp-ad-image-overlay', '.yt-mealbar-promo-renderer', '.ytp-featured-product', 'ytd-merch-shelf-renderer', 'ytd-in-feed-ad-layout-renderer', 'ytd-engagement-panel-section-list-renderer' ]; selectors.forEach(sel => { document.querySelectorAll(sel).forEach(el => { el.remove(); showNotification('Ad banner removed!'); }); }); } function keepVideoPlayingEarly() { const video = document.querySelector('video'); if (!video || video.dataset.keepPlayingEarly) return; video.dataset.keepPlayingEarly = "true"; const onPause = () => { if (video.currentTime <= 5) { video.play().then(() => { showNotification('Video kept playing!'); }).catch(err => { console.warn("[Userscript] Impossible de play :", err); }); } }; video.removeEventListener('pause', onPause); video.addEventListener('pause', onPause); } // Initialize functionality applyMinimalStyles(); let debounceTimeout; const observer = new MutationObserver(() => { clearTimeout(debounceTimeout); debounceTimeout = setTimeout(() => { removeAntiAdblockPopup(); bypassAgeRestriction(); skipAds(); removeAdBanners(); keepVideoPlayingEarly(); enhanceVideoQuality(); }, 100); }); observer.observe(document.body, { childList: true, subtree: true }); })();