Tracking Redirect Nuker

Decode encoded URLs in links and replace them with the decoded URL

Version au 11/06/2024. Voir la dernière version.

// ==UserScript==
// @name         Tracking Redirect Nuker
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Decode encoded URLs in links and replace them with the decoded URL
// @author       yodaluca23
// @license      GNU GPLv3
// @match        *://*/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    function decodeAndReplaceLinks() {
        const links = document.querySelectorAll('a');
        links.forEach(link => {
            const href = link.getAttribute('href');
            const encodedIndex = href.indexOf('https%3A%2F%2F');
            if (encodedIndex !== -1) {
                const encodedPart = href.substring(encodedIndex);
                const decodedPart = decodeURIComponent(encodedPart);
                link.setAttribute('href', decodedPart);
            }
        });
    }

    // Run once when the page loads
    decodeAndReplaceLinks();

    // Run every time a change is detected on the page
    const observer = new MutationObserver(decodeAndReplaceLinks);
    observer.observe(document.body, { subtree: true, childList: true });
})();