[🔍Bypass Age & Anti-Detected🔒] YouTube Adblocker

[🔍Bypass Age & Anti-Detected🔒] AdGuard For YouTube 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.

Από την 25/10/2025. Δείτε την τελευταία έκδοση.

θα χρειαστεί να εγκαταστήσετε μια επέκταση όπως το Tampermonkey, το Greasemonkey ή το Violentmonkey για να εγκαταστήσετε αυτόν τον κώδικα.

θα χρειαστεί να εγκαταστήσετε μια επέκταση όπως το Tampermonkey ή το Violentmonkey για να εγκαταστήσετε αυτόν τον κώδικα.

θα χρειαστεί να εγκαταστήσετε μια επέκταση όπως το Tampermonkey ή το Violentmonkey για να εγκαταστήσετε αυτόν τον κώδικα.

θα χρειαστεί να εγκαταστήσετε μια επέκταση όπως το Tampermonkey ή το Userscripts για να εγκαταστήσετε αυτόν τον κώδικα.

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

Θα χρειαστεί να εγκαταστήσετε μια επέκταση διαχείρισης κώδικα χρήστη για να εγκαταστήσετε αυτόν τον κώδικα.

(Έχω ήδη έναν διαχειριστή κώδικα χρήστη, επιτρέψτε μου να τον εγκαταστήσω!)

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.

(Έχω ήδη έναν διαχειριστή στυλ χρήστη, επιτρέψτε μου να τον εγκαταστήσω!)

// ==UserScript==
// @name:zh-CN      [🔍Bypass Age & Anti-Detected🔒] AdGuard For YouTube - YouTube 广告拦截器
// @name:es        [🔍Bypass Age & Anti-Detected🔒] AdGuard For YouTube - Bloqueador de Anuncios de YouTube
// @name:hi        [🔍Bypass Age & Anti-Detected🔒] AdGuard For YouTube - YouTube विज्ञापन ब्लॉकर
// @name           [🔍Bypass Age & Anti-Detected🔒] YouTube Adblocker
// @name:vi        [🔍Bypass Age & Anti-Detected🔒] AdGuard For YouTube - Công cụ bỏ qua quảng cáo
// @namespace      https://twisk.com
// @version        1.1.6
// @description:zh-CN   [🔍Bypass Age & Anti-Detected🔒] AdGuard For YouTube屏蔽所有YouTube广告,让您无需干扰、快速且私密地观看视频。
// @description:es       [🔍Bypass Age & Anti-Detected🔒] AdGuard For YouTube bloquea todos los anuncios de YouTube, permitiéndote ver videos sin interrupciones y de forma privada.
// @description:hi       [🔍Bypass Age & Anti-Detected🔒] AdGuard For YouTube सभी YouTube विज्ञापनों को ब्लॉक करता है, जिससे आप बिना रुकावट, तेज़ और निजी तरीके से वीडियो देख सकते हैं।
// @description         [🔍Bypass Age & Anti-Detected🔒] AdGuard For YouTube 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      [🔍Bypass Age & Anti-Detected🔒] AdGuard For YouTube 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             airpl4ne
// @author w_irylis
// @icon               https://i.ibb.co/k6kVh2wf/Untitled-design.png
// @match              https://www.youtube.com/*
// @match              https://m.youtube.com/*
// @grant              none
// @license            MIT
// @noframes
// ==/UserScript==


// adguard pro out now!!!!
// 💲Free Adblocker API at our Discord : https://discord.gg/Gvmd7deFtS
// 💦Free-To-Use , No Money Cost !
(function () {
    'use strict';

    let lastSkipTime = 0;
    const SKIP_DELAY = 500;

    function skipAds() {
        const player = document.querySelector('#movie_player, .html5-video-player');
        if (!player) return;

        const adIsPlaying =
            player.classList.contains('ad-showing') ||
            player.classList.contains('ad-interrupting') ||
            document.querySelector('.video-ads, .ytp-ad-module, .ytp-ad-text, .ytp-ad-preview');

        if (!adIsPlaying) return;

        const now = Date.now();
        if (now - lastSkipTime < SKIP_DELAY) return;

        const video = player.querySelector('video');
        if (video && video.duration) {
            const looksLikeAd =
                video.duration < 60 ||
                document.querySelector('.ytp-ad-text, .ytp-ad-skip-button-container, .ytp-ad-preview');

            if (looksLikeAd && !video.ended) {
                video.currentTime = video.duration;
                video.muted = true;
                lastSkipTime = now;
            } else {
                return;
            }
        }

        const skipButtons = [
            '.ytp-ad-skip-button',
            '.ytp-ad-skip-button-modern',
            '.ytp-skip-ad-button',
            'button.ytp-ad-skip-button',
            '.ytp-ad-overlay-close-button',
        ];

        skipButtons.forEach(selector => {
            const found = document.querySelectorAll(selector);
            found.forEach(btn => {
                if (btn.offsetParent !== null) {
                    btn.click();
                }
            });
        });

        if (player.classList.contains('ad-showing') || player.classList.contains('ad-interrupting')) {
            player.classList.remove('ad-showing', 'ad-interrupting');
        }

        if (video && video.paused) {
            video.play().catch(() => console.log('Error resuming video after ad.'));
        }
    }

    function removeAdElements() {
        const adSelectors = [
            'ytd-in-feed-ad-layout-renderer',
            'ytd-ad-slot-renderer',
            '#player-ads',
            '#masthead-ad',
            '.ytp-featured-product',
            'ytd-companion-slot-renderer',
            'ytd-player-legacy-desktop-watch-ads-renderer',
        ];

        adSelectors.forEach(selector => {
            document.querySelectorAll(selector).forEach(el => {
                if (el && el.parentNode) {
                    el.parentNode.removeChild(el);
                }
            });
        });

        const relatedItems = document.querySelectorAll('#related ytd-rich-item-renderer');
        relatedItems.forEach(item => {
            if (
                item.querySelector('ytd-ad-slot-renderer, [class*="ad"], [class*="sponsored"]') &&
                item.parentNode
            ) {
                item.parentNode.removeChild(item);
            }
        });
    }

    function bypassAgeGate() {
        const url = window.location.href;
        const ageMessage = document.querySelector(
            '.ytp-error-content, .ytp-error, [aria-label*="age-restricted"]'
        );

        if (ageMessage && url.includes('watch?v=')) {
            const videoId = url.match(/v=([^&]+)/)?.[1];
            if (videoId) {
                const newUrl = `https://www.youtube-nocookie.com/embed/${videoId}`;
                window.location.href = newUrl;
            } else {
                console.log('Could not find video ID in URL.');
            }
        } else if (url.includes('/v/')) {
            const player = document.querySelector('#movie_player, .html5-video-player');
            const video = player?.querySelector('video');
            if (video && video.paused) {
                video.play().catch(() => console.log('Error trying to play age-restricted video.'));
            }
        }
    }

    function handleAll() {
        try {
            skipAds();
            removeAdElements();
            bypassAgeGate();
        } catch (err) {
            console.log('Error while handling ads or restrictions:', err);
        }
    }

    function setupObserver() {
        const observer = new MutationObserver(mutations => {
            if (mutations.length > 50) return;
            handleAll();
        });

        observer.observe(document.body, {
            childList: true,
            subtree: true,
        });

        console.log('Mutation observer is running to detect ads.');
    }

    window.addEventListener('load', () => {
        console.log('Page loaded, ad handler started.');
        handleAll();
        setupObserver();
    });

    handleAll();

    setInterval(handleAll, 1000);
})();