// ==UserScript== // @name YouTube Lite (melhor experiência) // @name:es YouTube Lite (la mejor experiencia) // @name:en YouTube Lite (best experience) // @namespace http://linkme.bio/jhonpergon/?userscript=youtube_lite // @version 0.6 [Beta] // @description Deixa a interface do YouTube mais leve, some com a aba de shots e a abre o vídeo em uma página livre de anúncios e distrações. // @description:es Hace que la interfaz de YouTube sea más ligera, desaparece con la pestaña de tomas y abre el vídeo en una página libre de anuncios y distracciones. // @description:en It makes the YouTube interface lighter, disappears with the shots tab and opens the video on a page free of ads and distractions. // @author Jhon Pérgon // @match https://www.youtube.com/* // @match https://youtu.be/* // @match https://m.youtube.com/* // @icon https://icons.iconarchive.com/icons/designbolts/cute-social-media/256/Youtube-icon.png // @grant GM_addStyle // @license MIT // @downloadURL none // ==/UserScript== (function() { 'use strict'; GM_addStyle('@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.8.1/font/bootstrap-icons.css");'); // Array de palavras-chave que você não deseja ver dismissible ytd-rich-section-renderer var palavrasChave = ["funk", "MC", "Alok", "Champions", "Certanejo", "Mendonça", "Comédia","American","muambros", "Globinho","Podpah", "Golpista","MrBeast", "Felipe Neto","Pica Pau", "Pica-Pau", "Rir", "Bob Esponja","Funny", "Naruto","Ronaldinho", "Neymar", "Gols", "Esgotinho Clips","Gospel", "Goal","Galaxy","Iphone","TRAILERS", "Trailers", "Shelby", "Comprar", "Vender", "Restored", "Restaurando", "Pago", "Minecraft", "Kpop", "Army","Opala","Ei Nerd","GOKU","Goku", "SAMSUNG","Samsung","Caio Teixeira","DRAGON","Ball","Pobre","Alanzoka","GAMEPLY","alanzoka","60FPS","FPS", "HERÓI","Elite", "Jogos", "RTX","ULTRON","Anime","Cristiano Ronaldo","Life Media","Bonito","Jogar", "Jogo","Dragões","Kombat","KOMBAT", "Kratos", "War", "Rusty","BEN 10", "Alpha","Redpill","Maquiagem","Gatos","Bolo","Casimito","Casemiro","DJ", "Grupo Menos é Mais", "Você Sabia?", "Futbol","Futebol","Oração", "Esportes", "Placar", "BBB", "Pepsi", "Coca Cola", "Talent","Pipoca","Garage", "Desenho Animado","COD", "Produtos", "Produto", "Food", "Copa", "Faroeste", "Rodada", "Eliminatórias", "Favela", "Poesia Arcústica", "Renato Cariani", "4K"]; function converterParaArray() { // Obtém o valor da textarea const listaTexto = document.getElementById('listaDeTermos').value; // Divide o texto em termos separados por vírgulas const termosArray = listaTexto.split(','); // Remove espaços em branco em excesso em cada termo const termosLimpos = termosArray.map(termo => termo.trim()); // Exibe o resultado na página const resultado = document.getElementById('resultado'); resultado.textContent = JSON.stringify(termosLimpos); } // Função para verificar se uma palavra-chave está presente em um elemento function verificaPalavrasChave(elemento) { var texto = elemento.textContent.toLowerCase(); for (var i = 0; i < palavrasChave.length; i++) { var palavra = palavrasChave[i].toLowerCase(); if (texto.includes(palavra)) { return true; } } return false; } function getUrl(xxx) { try { if (typeof xxx !== 'string') { throw new Error('Input is not a string'); } const url = new URL(xxx); const vParam = url.searchParams.get('v'); if (vParam) { return vParam; } } catch (error) { console.error('Erro ao obter o valor do parâmetro "v":', error); } return null; } // Função para remover tags "ytd-rich-item-renderer" com base nas palavras-chave function removeTagsComPalavrasChave() { var elementos = document.querySelectorAll("ytd-rich-item-renderer"); elementos.forEach(function (elemento) { if (verificaPalavrasChave(elemento)) { elemento.remove(); } }); } // Função para remover todas as tags function removerTagsScript() { document.title = "Youtube (Lite)"; setTimeout(function(){ const scripts = document.querySelectorAll('script'); scripts.forEach(function(script) { script.parentNode.removeChild(script); }); const tagthumbnails = document.querySelectorAll('ytd-playlist-thumbnail'); tagthumbnails.forEach(function(thumbnail) { thumbnail.parentNode.removeChild(thumbnail); }); const iconsets = document.querySelectorAll('iron-iconset-svg'); iconsets.forEach(function(iconset) { iconset.parentNode.removeChild(iconset); }); const renderers = document.querySelectorAll('ytd-rich-shelf-renderer'); renderers.forEach(function(renderer) { renderer.parentNode.removeChild(renderer); }); const recomendados = document.querySelectorAll('ytd-watch-next-secondary-results-renderer'); recomendados.forEach(function(recomendado) { recomendado.parentNode.removeChild(recomendado); }); const xplayers = document.querySelectorAll('ytd-player'); xplayers.forEach(function(player) { player.parentNode.removeChild(player); //console.log("ok") }); const interactions = document.querySelectorAll('yt-interaction'); interactions.forEach(function(interaction) { interaction.parentNode.removeChild(interaction); //console.log("ok") }); const ychats = document.querySelectorAll('ytd-live-chat-frame'); ychats.forEach(function(ychat) { ychat.parentNode.removeChild(ychat); //console.log("ok") }); const players = document.querySelectorAll('video'); players.forEach(function(playerx) { playerx.parentNode.removeChild(playerx); }); const ycanvas = document.querySelectorAll('canvas'); ycanvas.forEach(function(ycanva) { ycanva.parentNode.removeChild(ycanva); }); const yminiplayers = document.querySelectorAll('ytd-miniplayer'); yminiplayers.forEach(function(yminiplayer) { yminiplayer.parentNode.removeChild(yminiplayer); //console.log("ok") }); const ytdAds = document.querySelectorAll('ytd-ad-slot-renderer'); ytdAds.forEach(function(ytdAd) { ytdAd.parentNode.removeChild(ytdAd); }); const ytdAd2s = document.querySelectorAll('ytd-rich-section-renderer'); ytdAd2s.forEach(function(ytdAd2) { ytdAd2.parentNode.removeChild(ytdAd2); }); const ytdAd3s = document.querySelectorAll('ytd-merch-shelf-renderer'); ytdAd3s.forEach(function(ytdAd3) { ytdAd3.parentNode.removeChild(ytdAd3); }); const ytdAd4s = document.querySelectorAll('tp-yt-paper-dialog'); ytdAd4s.forEach(function(ytdAd4) { ytdAd4.parentNode.removeChild(ytdAd4); }); const ytdAd5s = document.querySelectorAll('ytd-action-companion-ad-renderer'); ytdAd5s.forEach(function(ytdAd5) { ytdAd5.parentNode.removeChild(ytdAd5); }); const videosAds = document.querySelectorAll('.video-ads'); if (videosAds.length > 0) { videosAds.forEach(function(videosAd) { videosAd.parentNode.removeChild(videosAd); }); } ////Remover eventos pré-estabelecidos let cinematicsContainer = document.getElementById('cinematics-container'); if (cinematicsContainer) { const clonedElement = cinematicsContainer.cloneNode(true); cinematicsContainer.parentNode.replaceChild(clonedElement, cinematicsContainer); } /*const playerRemove = document.querySelectorAll('#player'); for (const element of playerRemove) { element.remove(); };*/ /*const xoverlays = document.querySelectorAll('.ytp-pause-overlay'); if (xoverlays.length > 0) { xoverlays.forEach(function(xoverlay) { xoverlay.style.display = "none"; xoverlay.parentNode.removeChild(xoverlay); }); } const thumbnails = document.querySelectorAll('.ytd-thumbnail'); if (thumbnails.length > 0) { thumbnails.forEach(function(xthumbnail) { xthumbnail.style.display = "none"; xthumbnail.parentNode.removeChild(xthumbnail); }); }*/ let mediaElements = document.querySelectorAll('video, audio'); if(mediaElements){ mediaElements.forEach(function (media) { if (typeof media.play === 'function') { media.play = function () {}; } }); } // Obtém todos os elementos pelo ID e os remove const elementsToRemove = document.querySelectorAll('#video-preview'); for (const element of elementsToRemove) { element.remove(); }; const adsInfo = document.querySelectorAll('#ads-info-button'); for (const element of adsInfo) { element.remove(); }; const links = document.querySelectorAll('a'); for (const link of links) { link.style.border = '1px solid transparent'; link.addEventListener('mouseover', function() { link.style.border = '1px solid #9ba2ff'; link.style.boxShadow = '2px 3px 4px #5c3299'; }); link.addEventListener('mouseout', function() { link.style.border = '1px solid transparent'; link.style.boxShadow = ''; }); if (link.href.indexOf('/watch?v=') !== -1) { console.log(link.href) let linkID = getUrl(link.href); console.log(linkID) link.setAttribute('href', `https://www.youtube-nocookie.com/embed/${linkID}?rel=0&controls=2&color=white&iv_load_policy=3&showinfo=0&modestbranding=1&hl=pt-BR&autoplay=1`); } //const clonedLink = link.cloneNode(true); //link.parentNode.replaceChild(clonedLink, link); } }, 500); } // Função para extrair o ID do vídeo da URL function getVideoIdFromUrl() { const url = window.location.href; const match = url.match(/[?&]v=([^&]+)/); if (match && match[1]) { return match[1]; } return null; } // Função para criar o iframe personalizado function createCustomIframe(videoId) { document.body.style.backgroundColor = "#06070b"; document.body.style.backgroundColor = "#06070b"; setTimeout(function(){ let mainplayer = document.getElementById('miniplayer-bar'); let outroBudega = document.getElementById('player-wrap'); if(outroBudega){ outroBudega.innerHTML = ``; } const yframes = document.querySelectorAll('iframe'); yframes.forEach(function(yframe) { yframe.parentNode.removeChild(yframe); }); const ytApps = document.querySelectorAll('ytd-player-microformat-renderer'); ytApps.forEach(function(ytApp) { ytApp.parentNode.removeChild(ytApp); }); let interfacex = document.getElementById('primary'); let menus = document.getElementById('upload-info'); if (mainplayer) { const hums = document.querySelectorAll('h1'); hums.forEach(function(hum) { hum.parentNode.removeChild(hum); }); //alert("trocou: "+localStorage.getItem('trocou')+" trocardeNovo: "+localStorage.getItem('trocardeNovo')) if(localStorage.getItem('atualReload') == "false" && localStorage.getItem('trocou') == "false" && localStorage.getItem('trocardeNovo') == "true"){ mainplayer.innerHTML = ``; localStorage.setItem('trocou', "true"); //alert("LIMPOU") } if(localStorage.getItem('atualReload') == "false" && localStorage.getItem('trocou') == "true" && localStorage.getItem('trocardeNovo') == "true"){ localStorage.setItem('trocardeNovo', "false"); //alert("ADD IFRAME") mainplayer.style.width = '98%'; mainplayer.style.maxWidth = '720px'; mainplayer.style.height = '85%'; mainplayer.style.maxHeight = '450px'; mainplayer.style.zIndex = '99999'; interfacex.style.maxWidth = '720px'; interfacex.style.height = 'auto'; interfacex.style.maxHeight = '450px'; interfacex.style.position = 'absolute'; interfacex.style.marginLeft = '0px'; interfacex.style.marginRight = '0px'; interfacex.style.right = '50%'; interfacex.style.left = '50%'; interfacex.style.bottom = '0'; interfacex.style.top = '10px'; interfacex.style.transform = 'translate(-50%, 0%)'; setTimeout(function(){ //alert("Pronto") mainplayer.innerHTML = ``; let customIframe = document.getElementById('xplayer'); customIframe.style.width = '720px'; customIframe.style.maxWidth = '95%'; customIframe.style.height = '98%'; customIframe.style.maxHeight = '420px'; customIframe.style.border = 'solid 1px #413746'; customIframe.style.borderRadius = '.6rem'; customIframe.style.position = 'absolute'; customIframe.style.right = '50%'; customIframe.style.left = '50%'; customIframe.style.transform = 'translate(-50%, 30px)'; customIframe.style.zIndex = '999999'; customIframe.style.backgroundImage = "url(https://i.pinimg.com/originals/cf/ce/2f/cfce2fa4cc0ccdc49cf1482c355a50b8.gif)"; menus.innerHTML += `