1. Nachrichten
  2. Forum
    1. Unerledigte Themen
    2. Forenregeln
  3. Spenden
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. camp-firefox.de
  2. Boersenfeger

Beiträge von Boersenfeger

  • Was hört Ihr gerade?

    • Boersenfeger
    • 26. Juni 2024 um 16:57

    Die größten Hits und ihre Geschichte

  • Violent Monkey Script "Remove Adblock Thing" entfernt in der neuen Version 5.6 die Grössenansicht im Menü

    • Boersenfeger
    • 26. Juni 2024 um 16:48

    Seit vor 3 Tagen das o.a. Script aktualisiert wurde, sind die Größen Miniplayer, Kinomodus verschwunden.

    CSS
    // ==UserScript==
    // @name         Remove Adblock Thing
    // @namespace    http://tampermonkey.net/
    // @version      5.6
    // @description  Removes Adblock Thing
    // @author       JoelMatic
    // @match        https://www.youtube.com/*
    // @icon         https://www.google.com/s2/favicons?sz=64&domain=youtube.com
    // @updateURL    https://github.com/TheRealJoelmatic/RemoveAdblockThing/raw/main/Youtube-Ad-blocker-Reminder-Remover.user.js
    // @downloadURL  https://github.com/TheRealJoelmatic/RemoveAdblockThing/raw/main/Youtube-Ad-blocker-Reminder-Remover.user.js
    // @grant        none
    // ==/UserScript==
    
    (function()
     {
        //
        //      Config
        //
    
        // Enable The Undetected Adblocker
        const adblocker = true;
    
        // Enable The Popup remover (pointless if you have the Undetected Adblocker)
        const removePopup = false;
    
        // Checks for updates (Removes the popup)
        const updateCheck = true;
    
        // Enable debug messages into the console
        const debugMessages = true;
    
        // Fix timestamps in the youtube comments for new method
        const fixTimestamps = true;
    
        // Enable custom modal
        // Uses SweetAlert2 library (https://cdn.jsdelivr.net/npm/sweetalert2@11) for the update version modal.
        // When set to false, the default window popup will be used. And the library will not be loaded.
        const updateModal = {
            enable: true, // if true, replaces default window popup with a custom modal
            timer: 5000, // timer: number | false
        };
    
    
        //
        //      CODE
        //
        // If you have any suggestions, bug reports,
        // or want to contribute to this userscript,
        // feel free to create issues or pull requests in the GitHub repository.
        //
        // GITHUB: https://github.com/TheRealJoelmatic/RemoveAdblockThing
    
        //
        // Varables used for adblock
        //
    
        // Store the initial URL
        let currentUrl = window.location.href;
    
        // Used for after the player is updated
        let isVideoPlayerModified = false;
    
        //
        // Variables used for updater
        //
    
        let hasIgnoredUpdate = false;
    
        //
        // Setup
        //
    
        //Set everything up here
        log("Script started");
    
        if (adblocker) removeAds();
        if (removePopup) popupRemover();
        if (updateCheck) checkForUpdate();
        if (fixTimestamps) timestampFix();
    
        // Remove Them pesski popups
        function popupRemover() {
    
            setInterval(() => {
                const modalOverlay = document.querySelector("tp-yt-iron-overlay-backdrop");
                const popup = document.querySelector(".style-scope ytd-enforcement-message-view-model");
                const popupButton = document.getElementById("dismiss-button");
    
                var video = document.querySelector('video');
    
                const bodyStyle = document.body.style;
                bodyStyle.setProperty('overflow-y', 'auto', 'important');
    
                if (modalOverlay) {
                    modalOverlay.removeAttribute("opened");
                    modalOverlay.remove();
                }
    
                if (popup) {
                    log("Popup detected, removing...");
    
                    if(popupButton) popupButton.click();
    
                    popup.remove();
                    video.play();
    
                    setTimeout(() => {
                        video.play();
                    }, 500);
    
                    log("Popup removed");
                }
                // Check if the video is paused after removing the popup
                if (!video.paused) return;
                // UnPause The Video
                video.play();
    
            }, 1000);
        }
    
        // undetected adblocker method
        // undetected adblocker method
        function removeAds() {
            log("removeAds()");
    
            setInterval(() => {
    
                if (window.location.href !== currentUrl) {
                    currentUrl = window.location.href;
                    isVideoPlayerModified = false;
                    clearAllPlayers();
                    removePageAds();
                }
    
                // Fix for youtube shorts
                if (window.location.href.includes("shorts")) {
                    log("Youtube shorts detected, ignoring...");
                    return;
                }
    
                if (isVideoPlayerModified){
                    removeAllDuplicateVideos();
                    return;
                }
    
                log("Video replacement started!");
    
                //
                // remove ad audio
                //
    
                var video = document.querySelector('video');
                if (video) video.volume = 0;
                if (video) video.pause();
                if (video) video.remove();
    
                //
                // Remove the current player
                //
    
                if (!clearAllPlayers()) {
                    return;
                }
    
                /**
                 * remove the "Ad blockers violate YouTube's Terms of Service" screen for safari
                 */
                let errorScreen = document.querySelector("#error-screen");
                if (errorScreen) {
                    errorScreen.remove();
                }
                
                //
                // Get the video ID from the URL
                //
    
                let videoID = '';
                let playList = '';
                let timeStamp = '';
                const url = new URL(window.location.href);
                const urlParams = new URLSearchParams(url.search);
    
                if (urlParams.has('v')) {
                    videoID = urlParams.get('v');
                } else {
                    const pathSegments = url.pathname.split('/');
                    const liveIndex = pathSegments.indexOf('live');
                    if (liveIndex !== -1 && liveIndex + 1 < pathSegments.length) {
                        videoID = pathSegments[liveIndex + 1];
                    }
                }
    
                if (urlParams.has('list')) {
                    playList = "&listType=playlist&list=" + urlParams.get('list');
                }
    
                if (urlParams.has('t')) {
                    timeStamp = "&start=" + urlParams.get('t').replace('s', '');
                }
    
                if (!videoID) {
                    log("YouTube video URL not found.", "e");
                    return null;
                }
    
                log("Video ID: " + videoID);
    
                //
                // Create new frame for the video
                //
    
                const startOfUrl = "https://www.youtube-nocookie.com/embed/";
              
                const endOfUrl = "?autoplay=1&modestbranding=1&rel=0";
                const finalUrl = startOfUrl + videoID + endOfUrl;
    
    
                const iframe = document.createElement('iframe');
    
                iframe.setAttribute('src', finalUrl);
                iframe.setAttribute('frameborder', '0');
                iframe.setAttribute('allow', 'accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share');
                iframe.setAttribute('allowfullscreen', true);
                iframe.setAttribute('mozallowfullscreen', "mozallowfullscreen");
                iframe.setAttribute('msallowfullscreen', "msallowfullscreen");
                iframe.setAttribute('oallowfullscreen', "oallowfullscreen");
                iframe.setAttribute('webkitallowfullscreen', "webkitallowfullscreen");
    
                iframe.style.width = '100%';
                iframe.style.height = '100%';
                iframe.style.position = 'absolute';
                iframe.style.top = '0';
                iframe.style.left = '0';
                iframe.style.zIndex = '9999';
                iframe.style.pointerEvents = 'all';
    
                const videoPlayerElement = document.querySelector('.html5-video-player');
                videoPlayerElement.appendChild(iframe);
                log("Finished");
    
                isVideoPlayerModified = true;
            }, 500);
            removePageAds();
        }
        //
        // logic functionm
        // 
    
        function removeAllDuplicateVideos() {
            const videos = document.querySelectorAll('video');
    
            videos.forEach(video => {
                if (video.src.includes('www.youtube.com')) {
                    video.muted = true;
                    video.pause();
                    video.addEventListener('volumechange', function() {
                        if (!video.muted) {
                            video.muted = true;
                            video.pause();
                            log("Video unmuted detected and remuted");
                        }
                    });
                    video.addEventListener('play', function() {
                        video.pause();
                        log("Video play detected and repaused");
                    });
    
                    log("Duplicate video found and muted");
                }
            });
        }
    
        function clearAllPlayers() {
        
            const videoPlayerElements = document.querySelectorAll('.html5-video-player');
        
            if (videoPlayerElements.length === 0) {
                console.error("No elements with class 'html5-video-player' found.");
                return false;
            }
        
            videoPlayerElements.forEach(videoPlayerElement => {
            const iframes = videoPlayerElement.querySelectorAll('iframe');
            iframes.forEach(iframe => {
                iframe.remove();
            });
        });
        
            console.log("Removed all current players!");
            return true;
        }
    
        //removes ads on the page (not video player ads)
        function removePageAds(){
    
            const sponsor = document.querySelectorAll("div#player-ads.style-scope.ytd-watch-flexy, div#panels.style-scope.ytd-watch-flexy");
            const style = document.createElement('style');
    
            style.textContent = `
                ytd-action-companion-ad-renderer,
                ytd-display-ad-renderer,
                ytd-video-masthead-ad-advertiser-info-renderer,
                ytd-video-masthead-ad-primary-video-renderer,
                ytd-in-feed-ad-layout-renderer,
                ytd-ad-slot-renderer,
                yt-about-this-ad-renderer,
                yt-mealbar-promo-renderer,
                ytd-statement-banner-renderer,
                ytd-ad-slot-renderer,
                ytd-in-feed-ad-layout-renderer,
                ytd-banner-promo-renderer-background
                statement-banner-style-type-compact,
                .ytd-video-masthead-ad-v3-renderer,
                div#root.style-scope.ytd-display-ad-renderer.yt-simple-endpoint,
                div#sparkles-container.style-scope.ytd-promoted-sparkles-web-renderer,
                div#main-container.style-scope.ytd-promoted-video-renderer,
                div#player-ads.style-scope.ytd-watch-flexy,
                ad-slot-renderer,
                ytm-promoted-sparkles-web-renderer,
                masthead-ad,
                tp-yt-iron-overlay-backdrop,
    
                #masthead-ad {
                    display: none !important;
                }
            `;
    
            document.head.appendChild(style);
    
            sponsor?.forEach((element) => {
                 if (element.getAttribute("id") === "rendering-content") {
                    element.childNodes?.forEach((childElement) => {
                      if (childElement?.data.targetId && childElement?.data.targetId !=="engagement-panel-macro-markers-description-chapters"){
                          //Skipping the Chapters section
                            element.style.display = 'none';
                        }
                       });
                }
             });
    
            log("Removed page ads (✔️)");
        }
    
        function changeTimestamp(timestamp) {
            const videoPlayerElements = document.querySelectorAll('.html5-video-player');
            videoPlayerElements.forEach(videoPlayerElement => {
                const iframes = videoPlayerElement.querySelectorAll('iframe');
                iframes.forEach(iframe => {
                    if (iframe.src.includes("&start=")) {
                        iframe.src = iframe.src.replace(/&start=\d+/, "&start=" + timestamp);
                    } else {
                        iframe.src += "&start=" + timestamp;
                    }
                });
            });
        }
    
        function timestampFix() {
            document.addEventListener('click', function(event) {
                const target = event.target;
    
                if (target.classList.contains('yt-core-attributed-string__link') && target.href.includes('&t=')) {
                    event.preventDefault();
                    const timestamp = target.href.split('&t=')[1].split('s')[0];
                    log(`Timestamp link clicked: ${timestamp} seconds`);
                    changeTimestamp(timestamp);
                }
            });
        }
    
        function observerCallback(mutations) {
            let isVideoAdded = mutations.some(mutation => 
                Array.from(mutation.addedNodes).some(node => node.tagName === 'VIDEO')
            );
    
            if (isVideoAdded) {
                log("New video detected, checking for duplicates.");
                // Ignore for youtube shorts
                if (window.location.href.includes("shorts")) {
                    log("Youtube shorts detected, ignoring...");
                    return;
                }
                removeAllDuplicateVideos();
            }
        }
    
        const observer = new MutationObserver(observerCallback);
        observer.observe(document.body, { childList: true, subtree: true });
    
        //
        // Update check
        //
    
        function checkForUpdate(){
    
            if (window.top !== window.self && !(window.location.href.includes("youtube.com"))){
                return;
            }
    
            if (hasIgnoredUpdate){
                return;
            }
    
            const scriptUrl = 'https://raw.githubusercontent.com/TheRealJoelmatic/RemoveAdblockThing/main/Youtube-Ad-blocker-Reminder-Remover.user.js';
    
            fetch(scriptUrl)
            .then(response => response.text())
            .then(data => {
                // Extract version from the script on GitHub
                const match = data.match(/@version\s+(\d+\.\d+)/);
                if (!match) {
                    log("Unable to extract version from the GitHub script.", "e")
                    return;
                }
    
                const githubVersion = parseFloat(match[1]);
                const currentVersion = parseFloat(GM_info.script.version);
    
                if (githubVersion <= currentVersion) {
                    log('You have the latest version of the script. ' + githubVersion + " : " + currentVersion);
                    return;
                }
    
                console.log('Remove Adblock Thing: A new version is available. Please update your script. ' + githubVersion + " : " + currentVersion);
    
                if(updateModal.enable){
                    // if a version is skipped, don't show the update message again until the next version
                    if (parseFloat(localStorage.getItem('skipRemoveAdblockThingVersion')) === githubVersion) {
                        return;
                    }
                    // If enabled, include the SweetAlert2 library
                    const script = document.createElement('script');
                    script.src = 'https://cdn.jsdelivr.net/npm/sweetalert2@11';
                    document.head.appendChild(script);
    
                    const style = document.createElement('style');
                    style.textContent = '.swal2-container { z-index: 2400; }';
                    document.head.appendChild(style);
    
                    // Wait for SweetAlert to be fully loaded
                    script.onload = function () {
    
                        Swal.fire({
                            position: "top-end",
                            backdrop: false,
                            title: 'Remove Adblock Thing: New version is available.',
                            text: 'Do you want to update?',
                            showCancelButton: true,
                            showDenyButton: true,
                            confirmButtonText: 'Update',
                            denyButtonText:'Skip',
                            cancelButtonText: 'Close',
                            timer: updateModal.timer ?? 5000,
                            timerProgressBar: true,
                            didOpen: (modal) => {
                                modal.onmouseenter = Swal.stopTimer;
                                modal.onmouseleave = Swal.resumeTimer;
                            }
                        }).then((result) => {
                            if (result.isConfirmed) {
                                window.location.replace(scriptUrl);
                            } else if(result.isDenied) {
                                localStorage.setItem('skipRemoveAdblockThingVersion', githubVersion);
                            }
                        });
                    };
    
                    script.onerror = function () {
                        var result = window.confirm("Remove Adblock Thing: A new version is available. Please update your script.");
                        if (result) {
                            window.location.replace(scriptUrl);
                        }
                    }
                } else {
                    var result = window.confirm("Remove Adblock Thing: A new version is available. Please update your script.");
    
                    if (result) {
                        window.location.replace(scriptUrl);
                    }
                }
            })
            .catch(error => {
                hasIgnoredUpdate = true;
                log("Error checking for updates:", "e", error)
            });
            hasIgnoredUpdate = true;
        }
    
        // Used for debug messages
        function log(log, level, ...args) {
    
            if(!debugMessages)
                return;
    
            const prefix = '🔧 Remove Adblock Thing:';
            const message = `${prefix} ${log}`;
            switch (level) {
                case 'error':
                    console.error(`❌ ${message}`, ...args);
                    break;
                case 'log':
                    console.log(`✅ ${message}`, ...args);
                    break;
                case 'warning':
                    console.warn(`⚠️ ${message}`, ...args);
                    break;
                default:
                    console.info(`ℹ️ ${message}`, ...args);
            }        
        }
    
    })();
    Alles anzeigen

    Könnte ein Findiger dies aus dem Script wieder entfernen?

    Ggf. liegt es daran, dass ich Violentmonkey nutze? Das war schon früher mal ein Problem. Da mussten Kleinigkeiten im Code angepasst werden.

  • Über 110.000 Websites verteilen Malware durch Supply-Chain-Attacke

    • Boersenfeger
    • 26. Juni 2024 um 15:48

    // Mira_Belle dieses Thema haben wir doch nun wirklich schon oft bis zum Erbrechen mit dir durch dekliniert. Ich weiß wirklich nicht, wieso du dies immer wieder auf den Markt schmeißt und damit Mitlesende verunsicherst.
    Höre auf, die Fakten so lange zu verdrehen bis es dir passt, vielen Dank!

  • Was schaut ihr gerade?

    • Boersenfeger
    • 26. Juni 2024 um 13:54

    Butterfly von Crazy Town

    Sad Story of Crazy Town Englisch

    RIP Shifty Shellshock

  • In memoriam

    • Boersenfeger
    • 26. Juni 2024 um 13:47

    Shifty Shellshock aka Seth Binzer Mitgründer und Rapper der Crossover Band Crazy Town ist im Alter von 49 Jahren gestorben.
    Der größte Hit war vermutlich Butterfly aus dem Jahr 2000!
    Eine Todesursache ist nicht bekannt. Drogen- und Alkoholprobleme waren in der Vergangenheit aber ständiger Begleiter des Musikers.

    RIP

  • Benutzt eigentlich noch jemand das "Suchfeld"?

    • Boersenfeger
    • 23. Juni 2024 um 15:57
    Zitat von Sören Hentzschel

    Wichtig wäre natürlich auch, dass möglichst alle, die Mozilla zeigen wollen, dass sie die separate Suchleiste nutzen, Telemetrie aktiviert haben. Sonst zieht Mozilla das nicht. ;)

    Die ist hier im Nightly, meinem Hauptbrowser sowieso aktiv ;)

  • Benutzt eigentlich noch jemand das "Suchfeld"?

    • Boersenfeger
    • 23. Juni 2024 um 15:25

    Sören Hentzschel Danke soweit! Die Frage nach einer ggf. für mich nötigen Möglichkeit der Änderung via Script wurde leider nicht besprochen..

  • Benutzt eigentlich noch jemand das "Suchfeld"?

    • Boersenfeger
    • 23. Juni 2024 um 14:52

    Sören Hentzschel Gibt es ein Ticket dazu, wo man ggf. seine Meinung hinterlegen kann, dass die Möglichkeit zur Nutzung NICHT entfernt wird?

    Wenn dies fruchtlos ist/bleibt, kann man die Funktion via Script beibehalten?

  • Benutzt eigentlich noch jemand das "Suchfeld"?

    • Boersenfeger
    • 23. Juni 2024 um 14:47

    Ich nutze zum Suchen NUR die Suchzeile. Ich habe mich daran gewöhnt, sie ist immer präsent und ich möchte sie nicht missen.


    Zum Leeren nutze ich ein Script von@aborix

    Code
    	/* Suchfeld leeren nach 4 Sekunden */
    	/* Author @aborix */
    
    	setTimeout(function() {
    	if (!window.BrowserSearch)
          return;
    	var searchbar = BrowserSearch.searchBar;
    	if (!searchbar)
          return;
    	var textbox = searchbar.textbox;
    	var tId;
    	textbox.addEventListener('input', function() {
          clearTimeout(tId);
          tId = setTimeout(function() {
             textbox.value = '';
             document.getElementById('PopupSearchAutoComplete').hidePopup();
          }, 4000);
    	});
    	}, 0);
    Alles anzeigen
  • Der Glückwunsch-Thread

    • Boersenfeger
    • 15. Juni 2024 um 10:57

    Palli Nachträglich auch von mir alles Gute und vor allem viel Gesundheit.. :)

  • FF-Fussball Thread

    • Boersenfeger
    • 15. Juni 2024 um 10:54

    Die nächsten Gegner dürfen gerne den gleichen Fehler begehen.... ^^

    Schön erkannt und kommentiert vom Co-Moderator

  • Firefox und Fritzbox

    • Boersenfeger
    • 11. Juni 2024 um 16:47

    Merkwürdig, aber mach doch mal, Firefox 127.0 sollte jetzt auch bei dir ankommen..

  • Der Glückwunsch-Thread

    • Boersenfeger
    • 10. Juni 2024 um 15:15

    Alles Gute und vor allem viel Gesundheit wünscht Dir der Boersenfeger

  • Nach heutigem Update funktioniert eine YouTube Seite nicht mehr

    • Boersenfeger
    • 3. Juni 2024 um 14:10

    Um der Aufregung wieder Herr zu werden....

    ich nutze das entsprechende Script, habe es gestern so nebenbei mit auch anderen auf eine neue Version gebracht. Nach einem Neustart ging dann die Seite nicht mehr, wie eigentlich erwartet. Mein Schussel war, dass ich die Aktualisierung des Scripts nicht damit in Verbindung gebracht habe. Wer kann ahnen, dass dann der Schalter umgelegt wird... jetzt weiß ich es. :)

    Alles wieder gut, wie ich schon in # 13 vermeldete. ;)

    Alles Weitere war dann unnötig! 8)

  • Nach heutigem Update funktioniert eine YouTube Seite nicht mehr

    • Boersenfeger
    • 2. Juni 2024 um 18:28

    Danke, das wars... ich hatte wohl irrtümlich die Seite mit dem vorhandenem Script gesperrt... alles wieder gut! :):thumbup:

  • Nach heutigem Update funktioniert eine YouTube Seite nicht mehr

    • Boersenfeger
    • 2. Juni 2024 um 18:16
    Zitat von 2002Andreas

    Das wird doch nun allen Usern hier immer wieder geraten, solltest du doch auch wissen;)


    Zitat von Boersenfeger

    Auch im angemeckerten Modus erhalte ich diese Mitteilung...

  • Nach heutigem Update funktioniert eine YouTube Seite nicht mehr

    • Boersenfeger
    • 2. Juni 2024 um 17:57

    Hä? Ich habe nichts Externes benutzt, sondern auf den Link im Screenshot geklickt, wie milupo vorschlug.

    Ein Test mit der Version 126 ergab nichts Auffälliges, da funktioniert die Seite.


    Auch im angemeckerten Modus erhalte ich diese Mitteilung... und nun?

  • Nach heutigem Update funktioniert eine YouTube Seite nicht mehr

    • Boersenfeger
    • 2. Juni 2024 um 17:47

    Danke fürs Testen. :)
    Nein, den Fehlerbehebungsmodus hatte ich noch nicht durch.
    Ich werde jetzt einfach Feierabend machen und morgen noch mal schauen.

    Danke soweit..

  • Nach heutigem Update funktioniert eine YouTube Seite nicht mehr

    • Boersenfeger
    • 2. Juni 2024 um 17:42

    Ja, da wird mir bescheinigt einen aktuellen Browser zu nutzen. ;)


  • Nach heutigem Update funktioniert eine YouTube Seite nicht mehr

    • Boersenfeger
    • 2. Juni 2024 um 17:39

    Diese Seite ergibt nach dem heutigen UpDate von Nightly eine Fehlermeldung

    Live Earthquake Monitoring on GlobalQuake
    24/7 Real time seismic monitoring, automatic location, depth and magnitude estimation of earthquakes using the GlobalQuake application. The displayed informa...
    www.youtube.com

    Andere YouTubevideos funktionieren.

    Liegts an der Seite?

    https://hg.mozilla.org/mozilla-central/rev/b1ba7de67667d1404fabb3accf66e2c5a8e53cf8
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0 ID:20240602092157

Unterstütze uns!

Jährlich (2025)

108,6 %

108,6% (705,72 von 650 EUR)

Jetzt spenden
  1. Kontakt
  2. Datenschutz
  3. Impressum
Community-Software: WoltLab Suite™
Mastodon