// ==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.7
// @description Deixa a interface do YouTube mais leve, some com a aba de shots e 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://m.youtube.com/*
// @match https://music.youtube.com/*
// @icon https://icons.iconarchive.com/icons/designbolts/cute-social-media/256/Youtube-icon.png
// @grant GM_addStyle
// @license MIT
// @compatible chrome
// @compatible firefox
// @compatible opera
// @compatible edge
// @compatible safari
// @compatible berry browser
// ==/UserScript==
(function() {
'use strict';
GM_addStyle('@import url("https://cdn.jsdelivr.net/npm/[email protected]/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 = `<iframe id="xplayer" src="https://www.youtube-nocookie.com/embed/${videoId}?rel=0&controls=2&color=white&iv_load_policy=3&showinfo=0&modestbranding=1&hl=pt-BR" allow="accelerometer; autoplay; gyroscope; picture-in-picture" frameborder="0" frameborder="autoplay" scrolling="no" sandbox="allow-scripts allow-same-origin" referrerpolicy="no-referrer" allowfullscreen=""></iframe>`;
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 += `<div style="width: 10px; height: 18px; padding: 8px 25px; overflow: hidden; margin: 5px; background-color: #2a292b; border: 1px solid #afc2ff; border-radius: 2em;"><a style="text-decoration: none; padding: 8px 20px; margin-left: -25px; color: rgb(246, 241, 255); font-size: 1.6rem;" href="https://www.y2mate.com/pt/youtube/${videoId}" target="_blank"><i class="bi bi-download"></i></a><div>`;
}, 500);
localStorage.setItem('atualReload', "true");
}else if(localStorage.getItem('atualReload') == "true"){
mainplayer.innerHTML = ``;
mainplayer.style.width = '98%';
mainplayer.style.maxWidth = '720px';
mainplayer.style.height = '85%';
mainplayer.style.maxHeight = '450px';
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(){
mainplayer.innerHTML = `<iframe id="xplayer" src="https://www.youtube-nocookie.com/embed/${videoId}?rel=0&controls=2&color=white&iv_load_policy=3&showinfo=0&modestbranding=1&hl=pt-BR&autoplay=1" allow="accelerometer; autoplay; gyroscope; picture-in-picture" frameborder="0" frameborder="autoplay" scrolling="no" autoplay="autoplay" sandbox="allow-scripts allow-same-origin" referrerpolicy="no-referrer" allowfullscreen=""></iframe>`;
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 += `<div style="width: 10px; height: 18px; padding: 8px 25px; overflow: hidden; margin: 5px; background-color: #2a292b; border: 1px solid #afc2ff; border-radius: 2em;"><a style="text-decoration: none; padding: 8px 20px; margin-left: -25px; color: rgb(246, 241, 255); font-size: 1.6rem;" href="https://www.y2mate.com/pt/youtube/${videoId}" target="_blank"><i class="bi bi-download"></i></a><div>`;
}, 500);
localStorage.setItem('atualReload', "true");
}
}else{
alert("NOTA: Os elementos da interface padrão falharam, então você será diretamente encaminhando para o player do youtube-nocookie.")
localStorage.setItem('atualReload', "true");
// Remove todo o conteúdo da <body>
window.location.href = `https://www.youtube-nocookie.com/embed/${videoId}?rel=0&controls=2&color=white&iv_load_policy=3&showinfo=0&modestbranding=1&hl=pt-BR&autoplay=1`;
}
// Altera o título da página para "Youtube Lite"
document.title = "Youtube (Lite)";
}, 2100);
}
// Função para limpar todos os cookies do site na primeira vez
function limparCookies() {
if(localStorage.getItem('verificarCookies') == null){
localStorage.setItem('verificarCookies', "primeiraVez");
}
if (localStorage.getItem('verificarCookies') == "primeiraVez"){
alert("NOTA: Você está acessando com o Youtube Lite pela primeira vez, para garantir seu correto funcionamento vamos limpar os cookies e reiniciar a página.")
localStorage.setItem('verificarCookies', "tudoSuave");
var cookies = document.cookie.split(';');
for (var i = 0; i < cookies.length; i++) {
var cookie = cookies[i];
var igualPos = cookie.indexOf('=');
var nome = igualPos > -1 ? cookie.substr(0, igualPos) : cookie;
document.cookie = nome + '=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/';
}
window.location.reload();
}
}
// Função para verificar a URL a cada 2 segundos
function checkURL() {
limparCookies();
removerTagsScript();
removeTagsComPalavrasChave();
const currentURL = window.location.href;
if (currentURL !== localStorage.getItem('lastCheckedURL') && currentURL.includes("/watch?v=")) {
window.location.reload();
localStorage.setItem('lastCheckedURL', currentURL);
localStorage.setItem('trocou', "false");
localStorage.setItem('trocardeNovo', "true");
localStorage.setItem('atualReload', "false");
const videoId = getVideoIdFromUrl();
if (videoId) {
createCustomIframe(videoId);
}
}
}
// Inicia o loop para verificar a URL a cada 1 segundos
setInterval(checkURL, 550);
// Verifica a URL quando o script é carregado pela primeira vez
const videoId = getVideoIdFromUrl();
if (videoId) {
createCustomIframe(videoId);
}
// CÓDIDIGO IMPORTADO
const equalText1 = "Skip Ads";
const equalText2 = "Skip Ad";
function addNewStyle(newStyle) {
var styleElement = document.getElementById('styles_js');
if (!styleElement) {
styleElement = document.createElement('style');
styleElement.type = 'text/css';
styleElement.id = 'styles_js';
document.getElementsByTagName('head')[0].appendChild(styleElement);
}
styleElement.appendChild(document.createTextNode(newStyle));
}
function skipAd(){
console.log("Tried to skip a ad");
if(document.getElementsByClassName("ytp-ad-skip-button").length > 0){
if(document.getElementsByClassName("ytp-ad-skip-button")[0].childNodes[0].textContent === equalText1 || document.getElementsByClassName("ytp-ad-skip-button")[0].childNodes[0].textContent === equalText2){
document.getElementsByClassName("ytp-ad-skip-button")[0].click();
} else {
setTimeout(skipAd(), 1000);
}
}
}
addNewStyle('.ytp-ad-overlay-slot {display:none !important;}');
setInterval(function (){
if(window.location.href.substring(0,30) == "https://www.youtube.com/watch?"){
skipAd();
}
}, 2500);
})();