Desactiva los Dominios molestos de Para TMO

Un script que elimina las redireciones te tumanga online y agrega atajos de teclado!

// ==UserScript==
// @name         Desactiva los Dominios molestos de Para TMO
// @namespace    TUMANGAONLINE
// @version      3.6
// @description  Un script que elimina las redireciones te tumanga online y agrega atajos de teclado!
// @homepageURL  https://greasyfork.org/es/users/1211940-mao-oaks
// @icon         https://visortmo.com/favicon/android-chrome-192x192.png
// @author       mao_oaks
// @connect      *
// @license      Copyright MIT
// @match        *://*lectortmo.com/*
// @match        *://*zonatmo.com/*
// @match        *://*/*
// ==/UserScript==
(function () {
    const CASCADE = true;
    const paginado = CASCADE ? "cascade" : "paginated";

    // Directorio de páginas permitidas
    const paginas = {
        visortmo: null,
        zonatmo: null,
        };

    // Definir expresiones regulares para verificar las URLs
    const superregex = /\w+\/\w+\/[0-9a-f]{12,32}\/(null|cascade(\d{0,3})|paginated(\d{0,3})(?:\/\d{0,3})?)$/gm;
    const regexbasico = /\w+\/\w+\/[0-9a-f]{32}\/(null|cascade(\d{0,3})|paginated(\d{0,3})(?:\/\d{0,3})?)$/gm;

    var urlLimpia;

    // Obtener el hostname actual para comprobar si está en el diccionario
    const href_mask = window.location.hostname.replace(".com", "");
    const href_aReal = document.querySelector(".navbar-brand")?.getAttribute("href").match(/\w+\./gm)[0].replace(".","");

    // Limpiar la URL si coincide con el patrón básico
    urlLimpia = regexbasico.test(window.location.href)
        ? location.href.replace(/\w+\.\w+\/\w{4,8}\//gm, href_aReal + ".com/viewer/") : false;

    if (urlLimpia === false && superregex.test(window.location.href )) {
        // Obtener el valor de los parámetros del enlace del botón de Telegram
        var BuscarElement = href_aReal in paginas? document.querySelector(".btn-telegram")?.getAttribute("href") || "": "";
        var urlParams = new URLSearchParams(BuscarElement.split('?')[1]);
        urlLimpia = decodeURIComponent(urlParams.get('url')); // Obtener la URL decodificada
        }

    // Si el dominio actual no está en el diccionario de páginas permitidas
    if (!(href_mask in paginas) | !(urlLimpia == urlLimpia.replace(/null|paginated\d*/g, paginado))) {
        // Redirigir a la URL limpia con el formato deseado
        location.href = urlLimpia.replace(/cascade\d*|null|paginated\d*/g, paginado);
    } else {
        // Si el dominio está permitido, agregar eventos de navegación con teclas
        document.addEventListener("keydown", logKey);
        function logKey(e) {
           if (e.code === "ArrowUp") {
                goNextPage();
            } else if (e.code === "ArrowDown") {
                goPrevPage();
            } else if (e.code === "ArrowRight") {
                location = document.querySelector(".chapter-next a")?.href || location;
            } else if (e.code === "ArrowLeft") {
                location = document.querySelector(".chapter-prev a")?.href || location;
            }
        }
    }
})();