Veck.io Ad Blocker

Removes all advertisements from veck.io

Size

2.8 KB

Version

1.0.1

Created

Jan 25, 2026

Updated

23 days ago

1// ==UserScript==
2// @name		Veck.io Ad Blocker
3// @description		Removes all advertisements from veck.io
4// @version		1.0.1
5// @match		https://*.veck.io/*
6// @icon		https://veck.io/favicon/favicon.ico
7// ==/UserScript==
8(function() {
9    'use strict';
10
11    console.log('Veck.io Ad Blocker: Starting...');
12
13    // Function to remove ads
14    function removeAds() {
15        let adsRemoved = 0;
16
17        // Remove banner ads
18        const bannerAds = document.querySelectorAll('.banner-container[id*="banner"]');
19        bannerAds.forEach(ad => {
20            if (ad && ad.parentNode) {
21                console.log('Removing banner ad:', ad.id);
22                ad.remove();
23                adsRemoved++;
24            }
25        });
26
27        // Remove video ads
28        const videoAds = document.querySelectorAll('#videoad');
29        videoAds.forEach(ad => {
30            if (ad && ad.parentNode) {
31                console.log('Removing video ad');
32                ad.remove();
33                adsRemoved++;
34            }
35        });
36
37        // Remove any other common ad containers
38        const commonAdSelectors = [
39            '[id*="ad-"]',
40            '[class*="ad-container"]',
41            '[class*="advertisement"]',
42            '[id*="google_ads"]',
43            '[class*="google-ad"]'
44        ];
45
46        commonAdSelectors.forEach(selector => {
47            const ads = document.querySelectorAll(selector);
48            ads.forEach(ad => {
49                if (ad && ad.parentNode && !ad.classList.contains('ad-removed')) {
50                    console.log('Removing ad element:', selector);
51                    ad.classList.add('ad-removed');
52                    ad.remove();
53                    adsRemoved++;
54                }
55            });
56        });
57
58        if (adsRemoved > 0) {
59            console.log(`Veck.io Ad Blocker: Removed ${adsRemoved} ad(s)`);
60        }
61    }
62
63    // Debounce function to prevent excessive calls
64    function debounce(func, wait) {
65        let timeout;
66        return function executedFunction(...args) {
67            const later = () => {
68                clearTimeout(timeout);
69                func(...args);
70            };
71            clearTimeout(timeout);
72            timeout = setTimeout(later, wait);
73        };
74    }
75
76    // Initial ad removal
77    removeAds();
78
79    // Remove ads after page loads
80    if (document.readyState === 'loading') {
81        document.addEventListener('DOMContentLoaded', removeAds);
82    }
83
84    window.addEventListener('load', removeAds);
85
86    // Watch for dynamically added ads
87    const debouncedRemoveAds = debounce(removeAds, 500);
88    const observer = new MutationObserver(debouncedRemoveAds);
89
90    observer.observe(document.body, {
91        childList: true,
92        subtree: true
93    });
94
95    console.log('Veck.io Ad Blocker: Monitoring for ads...');
96})();
Veck.io Ad Blocker | Robomonkey