A potential way to cut all ties with YouTube - The scripts I had ChatGPT make for Invidious instances helped so much

https://lemmy.zip/post/52493929

A potential way to cut all ties with YouTube - The scripts I had ChatGPT make for Invidious instances helped so much - Lemmy.zip

I will start by saying that I use ublock to remove the upvote/downvote system. I don’t believe in that nonsense. So, I won’t see it. You’ll have to use your words. https://greasyfork.org/en/scripts/548556-invidious-clean-view-with-list-view-of-thumbnails-and-threshold-control [https://greasyfork.org/en/scripts/548556-invidious-clean-view-with-list-view-of-thumbnails-and-threshold-control] ::: spoiler spoiler // ==UserScript== // @name Invidious Clean View with List View of Thumbnails, and Threshold Control // @namespace http://tampermonkey.net/ // @version 2.2 // @license MIT // @description Clean Invidious: remove short/hashtag videos, shorts links, login/subscribe prompts, with adjustable short video threshold and persistent settings. // @match https://yewtu.be/* // @match https://inv.nadeko.net/search?* // @match https://invidious.nerdvpn.de/* // @match https://*/watch* // @match https://*/channel/* // @match https://*/feed/popular* // @match https://*/feed/trending* // @grant none // @run-at document-start // @downloadURL https://update.greasyfork.org/scripts/548556/Invidious%20Clean%20View%20with%20List%20View%20of%20Thumbnails%2C%20and%20Threshold%20Control.user.js // @updateURL https://update.greasyfork.org/scripts/548556/Invidious%20Clean%20View%20with%20List%20View%20of%20Thumbnails%2C%20and%20Threshold%20Control.meta.js // ==/UserScript== (function () { 'use strict'; // === EARLY HIDE (only UI clutter, not videos!) === function injectEarlyHideCSS() { if (!isSupportedPage()) return; // only run on watch/channel/feed pages const style = document.createElement('style'); style.id = 'early-hide-style'; style.textContent = ` a[href*="/shorts"], .user-field, .flex-right > .video-data, .pure-u-lg-1-5.pure-u-1:nth-of-type(3), .h-box:nth-of-type(3), .h-box:nth-of-type(5), .feed-menu, .comments, views, footer, a[href*="/login?"] { display: none !important; } .h-box:nth-of-type(3), .h-box > [href^="/channel/"] { display: none !important; } `; document.documentElement.appendChild(style); } // Load short video threshold from localStorage let SHORT_VIDEO_THRESHOLD_SECONDS = parseInt(localStorage.getItem('shortVideoThreshold'), 10) || 63; function removeEarlyHideCSS() { const style = document.getElementById('early-hide-style'); if (style) style.remove(); } function injectListViewCSS() { if (document.getElementById('list-view-style')) return; const style = document.createElement('style'); style.id = 'list-view-style'; style.textContent = ` /* Only apply list view styles to feeds/search/channel pages */ body:not(.watch-page) .thumbnail img { display: none !important; } body:not(.watch-page) .pure-u-1.pure-u-md-1-4 { width: 100% !important; display: block !important; margin-bottom: 10px; border-bottom: 1px solid #444; padding-bottom: 10px; } body:not(.watch-page) .video-card-row.flexible { flex-wrap: wrap; gap: 10px; } body:not(.watch-page) .video-card-row a { font-weight: bold; display: block; } body:not(.watch-page) .channel-name { color: #888; font-size: 0.9em; } `; document.documentElement.appendChild(style); } // Mark body on watch pages function markPageType() { if (location.pathname.startsWith("/watch")) { document.body.classList.add("watch-page"); } else { document.body.classList.remove("watch-page"); } } function removeListViewCSS() { const style = document.getElementById('list-view-style'); if (style) style.remove(); } // Toggle UI creation function createToggleUI() { const container = document.createElement('div'); container.style.position = 'fixed'; container.style.bottom = '15px'; container.style.right = '15px'; container.style.backgroundColor = 'rgba(0,0,0,0.7)'; container.style.color = 'white'; container.style.padding = '8px 12px'; container.style.borderRadius = '8px'; container.style.zIndex = '9999'; container.style.fontFamily = 'Arial, sans-serif'; container.style.fontSize = '14px'; container.style.userSelect = 'none'; container.style.cursor = 'default'; container.style.display = 'flex'; container.style.alignItems = 'center'; container.style.gap = '8px'; const label = document.createElement('label'); label.textContent = 'List View'; label.style.cursor = 'pointer'; const checkbox = document.createElement('input'); checkbox.type = 'checkbox'; const enabled = localStorage.getItem('invidiousListViewEnabled'); checkbox.checked = (enabled === null || enabled === 'true'); checkbox.style.cursor = 'pointer'; checkbox.addEventListener('change', () => { if (checkbox.checked) { injectListViewCSS(); localStorage.setItem('invidiousListViewEnabled', 'true'); } else { removeListViewCSS(); localStorage.setItem('invidiousListViewEnabled', 'false'); } }); label.prepend(checkbox); container.appendChild(label); document.body.appendChild(container); } function createWidget() { const widgetContainer = document.createElement('div'); widgetContainer.style.position = 'fixed'; widgetContainer.style.top = '10px'; // Move down so it doesn’t overlap the search bar widgetContainer.style.right = '10px'; widgetContainer.style.backgroundColor = 'rgba(0, 0, 0, 0.7)'; widgetContainer.style.padding = '10px'; widgetContainer.style.color = 'white'; widgetContainer.style.borderRadius = '8px'; widgetContainer.style.zIndex = '9999'; widgetContainer.style.display = 'flex'; // vertical stack widgetContainer.style.flexDirection = 'column'; widgetContainer.style.gap = '6px'; // spacing between elements const label = document.createElement('label'); label.innerHTML = 'Short Video<br>Threshold<br>(seconds):'; widgetContainer.appendChild(label); const input = document.createElement('input'); input.type = 'number'; input.min = '30'; input.max = '600'; input.value = SHORT_VIDEO_THRESHOLD_SECONDS; input.style.width = '100%'; // full width in vertical layout input.addEventListener('input', () => { SHORT_VIDEO_THRESHOLD_SECONDS = parseInt(input.value); valueDisplay.textContent = input.value + 's'; localStorage.setItem('shortVideoThreshold', input.value); }); widgetContainer.appendChild(input); const valueDisplay = document.createElement('span'); valueDisplay.textContent = `${SHORT_VIDEO_THRESHOLD_SECONDS}s`; widgetContainer.appendChild(valueDisplay); document.body.appendChild(widgetContainer); } function removeShortVideos() { document.querySelectorAll('.pure-u-1.pure-u-md-1-4').forEach(col => { const timeEl = col.querySelector('.length'); // Do not run if on playlist page of channel if (location.pathname.match(/^\/channel\/[^\/]+\/playlists$/)) { return; // Exit early if on a playlists page } // If no length element, treat it as a short and remove it if (!timeEl) { col.remove(); return; } const parts = timeEl.textContent.trim().split(":").map(p => parseInt(p, 10)); let totalSeconds = 0; if (parts.length === 3) { // H:MM:SS totalSeconds = parts[0] * 3600 + parts[1] * 60 + parts[2]; } else if (parts.length === 2) { // MM:SS totalSeconds = parts[0] * 60 + parts[1]; } else { // Anything unexpected – remove col.remove(); return; } if (totalSeconds < SHORT_VIDEO_THRESHOLD_SECONDS) { col.remove(); } }); } function removeHashtagVideos() { document.querySelectorAll('.pure-u-1.pure-u-md-1-4').forEach(col => { const titleAnchor = col.querySelector('.video-card-row a[href^="/watch"]'); if (titleAnchor && titleAnchor.textContent.includes('#')) { col.remove(); } }); } function removeShortsLinks() { document.querySelectorAll('a[href*="/shorts"]').forEach(link => { const container = link.closest('.pure-u-1') || link.parentElement; container ? container.remove() : link.remove(); }); } function removeVideoData() { document.querySelectorAll('.flex-right > .video-data').forEach(el => el.remove()); } function removeplaylist() { document.querySelectorAll('.pure-u-lg-1-5.pure-u-1:nth-of-type(3)').forEach(el => el.remove()); } function removeSubscribe() { document.querySelectorAll('.user-field').forEach(el => { if (el.textContent.toLowerCase().includes('subscribe')) el.remove(); }); const subBtn = document.querySelector('#subscribe.pure-button-primary.pure-button'); if (subBtn) subBtn.remove(); document.querySelectorAll('.pure-button-primary.pure-button').forEach(el => { if (el.textContent.trim().toLowerCase() === 'subscribe') el.remove(); }); } function removeLoginLinks() { document.querySelectorAll('a[href*="/login?"]').forEach(link => { const container = link.closest('.pure-u-1') || link.parentElement; container ? container.remove() : link.remove(); }); } function removeYTLinks() { const links = document.querySelectorAll('a[href*="youtube.com"]'); links.forEach(link => link.remove()); // removes each YouTube link from the DOM } function removeExtras() { const feedMenu = document.querySelector('.feed-menu'); if (feedMenu) feedMenu.remove(); const comments = document.querySelector('.comments'); if (comments) comments.remove(); const views = document.querySelector('#views'); if (views) views.remove(); const footer = document.querySelector('footer'); if (footer) footer.remove(); } function removeMaxResThumbnails() { // Remove img tags with maxres document.querySelectorAll('img[src*="maxres.jpg"]').forEach(img => img.remove()); // Remove poster attributes from videos document.querySelectorAll('video[poster*="maxres.jpg"]').forEach(video => video.removeAttribute('poster')); // Remove meta tags with maxres document.querySelectorAll('meta[content*="maxres.jpg"]').forEach(meta => meta.remove()); } function cleanAll() { removeShortVideos(); removeHashtagVideos(); removeShortsLinks(); removeVideoData(); removeSubscribe(); removeLoginLinks(); removeYTLinks(); removeExtras(); removeplaylist(); removeMaxResThumbnails(); } const observer = new MutationObserver(() => removeMaxResThumbnails()); observer.observe(document, { childList: true, subtree: true }); // Fallback: periodic cleanup for stubborn dynamic content setInterval(removeMaxResThumbnails, 500); function observeDOMChanges() { const observer = new MutationObserver(cleanAll); observer.observe(document.body, { childList: true, subtree: true }); } function watchUrlChanges() { let lastPath = location.pathname + location.search; setInterval(() => { const currentPath = location.pathname + location.search; if (currentPath !== lastPath) { lastPath = currentPath; cleanAll(); } }, 500); } // Utility: check if we're on a supported page function isSupportedPage() { return ( location.pathname.startsWith("/search") || location.pathname.startsWith("/channel/") || location.pathname.startsWith("/feed/popular") || location.pathname.startsWith("/feed/trending") ); } // Run createWidget only on supported pages function setupWidgets() { if (!isSupportedPage()) return; // skip if not supported // Always add the widget createWidget(); // Restore toggle state (default = true) const enabled = localStorage.getItem('invidiousListViewEnabled'); if (enabled === null || enabled === 'true') { injectEarlyHideCSS(); injectListViewCSS(); } // Always add toggle UI createToggleUI(); } window.addEventListener('DOMContentLoaded', () => { cleanAll(); observeDOMChanges(); watchUrlChanges(); markPageType(); setupWidgets(); // this now controls where the widgets and styles run }); })(); ::: https://greasyfork.org/en/scripts/548558-invidious-remove-all-caps-mrbeast-keyword-channel-filter-with-exclusions-redirect [https://greasyfork.org/en/scripts/548558-invidious-remove-all-caps-mrbeast-keyword-channel-filter-with-exclusions-redirect] ::: spoiler spoiler // ==UserScript== // @name Invidious: Remove ALL CAPS + $ + MrBeast + Keyword + Channel Filter (with exclusions) + Redirect // @namespace local // @version 4.5 // @license MIT // @description Hides search results with ALL CAPS, $ signs, blocked keywords and emojis, or blacklisted channels. Redirects feeds, and allows safe acronyms like NVIDIA or NASA. // @match https://yewtu.be/* // @match https://inv.nadeko.net/* // @match https://invidious.nerdvpn.de/* // @match https://*/watch* // @match https://*/feed/popular* // @match https://*/feed/trending* // @grant none // @run-at document-start // @downloadURL https://update.greasyfork.org/scripts/548558/Invidious%3A%20Remove%20ALL%20CAPS%20%2B%20%24%20%2B%20MrBeast%20%2B%20Keyword%20%2B%20Channel%20Filter%20%28with%20exclusions%29%20%2B%20Redirect.user.js // @updateURL https://update.greasyfork.org/scripts/548558/Invidious%3A%20Remove%20ALL%20CAPS%20%2B%20%24%20%2B%20MrBeast%20%2B%20Keyword%20%2B%20Channel%20Filter%20%28with%20exclusions%29%20%2B%20Redirect.meta.js // ==/UserScript== (function () { 'use strict'; // Redirect feed pages to search /* */ const path = window.location.pathname; if (path === '/feed/popular' || path === '/feed/trending') { const base = window.location.origin; window.location.replace(`${base}/search`); return; } /* */ // Allowed words (whitelisted acronyms, companies, etc.) that cancels out blockedKeywords and all CAPS filter; emoji filtering still applies. const allowedAllCapsPatterns = [ /^asus$/i, /^amd$/i, /^usa$/i, /^cpu$/i, /^gpu$/i, /^hd$/i, /^ssd$/i, /^ram$/i, /^ddr$/i, /^usb$/i, /^rip$/i, /^hw$/i, /^opening(s)?$/i, /^ost$/i, /^amv$/i, /^viz$/i, /^fanmade$/i, /^sleep$/i, ]; function isAllCapsWord(word) { const clean = word.replace(/[^\p{L}]/gu, ''); // keep letters only if (allowedAllCapsPatterns.some(pattern => pattern.test(clean))) return false; return clean.length > 2 && clean === clean.toUpperCase(); } // === EARLY HIDE (only UI clutter, not videos!) === function injectEarlyHideCSS() { const style = document.createElement('style'); style.textContent = ` a[href*="/shorts"], .user-field, .flex-right > .video-data, .pure-u-lg-1-5.pure-u-1:nth-of-type(3), .feed-menu, footer, a[href*="/login?"] { display: none !important; } `; document.documentElement.appendChild(style); } injectEarlyHideCSS(); const blockedKeywords = [ "%", "didn't go as planned", "didn't go to plan", "here's why", "i couldn't lose", "i couldn’t lose", "i'm back", "i'm broke", "i'm building", "i'm buying", "i'm changing", "i'm cleaning", "i'm creating", "i'm dead", "i'm done", "i'm dying", "i'm giving away", "i'm going to", "i'm helping", "i'm hiring", "i'm leaving", "i'm losing", "i'm making", "i'm not", "i'm opening", "i'm poor", "i'm quitting", "i'm reacting", "i'm rebuilding", "i'm recreating", "i'm repairing", "i'm restoring", "i'm selling", "i'm spending", "i'm starting", "i'm testing", "i'm tired of", "i'm tired", "i'm transforming", "i'm trapped", "i'm trying", "i'm turning", "i'm using", "i'm winning", "i'm working", "i've bought", "i've built", "i've changed", "i've created", "i've done", "i've failed", "i've fixed", "i've found", "i've given", "i've got", "i've grown", "i've learned", "i've lost", "i've made", "i've met", "i've never", "i've opened", "i've paid", "i've quit", "i've realized", "i've repaired", "i've replaced", "i've seen", "i've spent", "i've survived", "i've tested", "i've tried", "i've used", "i've won", "id never", "id quit", "id spend", "id try", "ill build", "ill buy", "ill change", "ill create", "ill do", "ill fix", "ill make", "ill never", "ill pay", "ill spend", "ill try", "ill win", "im back", "im broke", "im building", "im buying", "im changing", "im cleaning", "im creating", "im done", "im dying", "im giving away", "im going to", "im helping", "im hiring", "im leaving", "im losing", "im making", "im not", "im opening", "im poor", "im quitting", "im reacting", "im rebuilding", "im recreating", "im repairing", "im restoring", "im selling", "im spending", "im starting", "im testing", "im tired", "im transforming", "im trapped", "im trying", "im turning", "im using", "im winning", "im working", "ive bought", "ive built", "ive changed", "ive created", "ive done", "ive failed", "ive fixed", "ive found", "ive given", "ive got", "ive grown", "ive learned", "ive lost", "ive made", "ive met", "ive never", "ive opened", "ive paid", "ive quit", "ive realized", "ive repaired", "ive replaced", "ive seen", "ive spent", "ive survived", "ive tested", "ive tried", "ive used", "ive won", "i’d never", "i’d quit", "i’d spend", "i’d try", "i’ll build", "i’ll buy", "i’ll change", "i’ll create", "i’ll do", "i’ll fix", "i’ll make", "i’ll never", "i’ll pay", "i’ll spend", "i’ll try", "i’ll win", "shouldn't have been", "shouldn’t have been", "we're not", "you're being", "you’re being watched", "you’re not ready", ' ai', '!', '#', '..', '?', 'a lie', 'a.i', 'about to burst', 'absolutely hilarious', 'actually real', 'actually works', 'ai ', 'ai: ', 'alarming trend', 'almost lost it', 'alternate universe', 'ancient aliens', 'are out of control', 'are ruining', 'are taking over', 'artificial intelligence', 'asmondgold', 'bad news for fruit', 'bank collapse', 'be like', 'before it’s too late', 'behind', 'biggest mistake', 'bizarre', 'blows my mind', 'brainrot', 'breaks the internet', 'but eating', 'called out', 'canceled', 'cancelled', 'caught on camera', 'challenge', 'chatgpt destroys', 'chatgpt', 'cheating', 'claps back', 'could ruin everything', 'craziest', 'daily dose', 'dangerous trend', 'dangerously exciting', 'deletes a random', 'destroyed by', 'did not go as planned', 'did not go to plan', 'did something about it', 'did you know', 'dirty', 'disaster', 'disney', 'disturbing reason', 'do destruction', 'do this now', 'donald trump', 'don’t miss this', 'elon musk warns', 'elon', 'ended horribly', 'epic', 'euros', 'everyone is talking about', 'everything is falling apart', 'explained', 'exploiting', 'expose', 'exposed online', 'exposed', 'exposing', 'feel the same anymore', 'final warning', 'finally happened', 'forbidden knowledge', 'forcing', 'fortnite', 'freakiest', 'fruit crisis', 'fruit industry secret', 'fruit is a disaster', 'funny', 'gambled my', 'gambling experience', 'gambling my', 'game changer', 'gamers nexus', 'gamersnexus', 'get the best of me', 'gets destroyed', 'getting worse', 'giveaway', 'giving strangers', 'gone horribly wrong', 'gone wrong', 'got caught', 'got the best of me', 'had to see this', 'has arrived', 'has died', 'he lost it', 'he said', 'her reaction was priceless', 'here is why', 'hidden danger', 'how a', 'how crime works', 'how i', 'how one', 'how to', 'hyperinflation warning', 'i accidentally', 'i adopted', 'i almost died', 'i almost died', 'i almost', 'i am dead', 'i amazed', 'i analyze', 'i answered', 'i asked', 'i beat', 'i became', 'i became', 'i bought', 'i bought', 'i broke', 'i brought', 'i built', 'i built', 'i can\'t believe', 'i can’t believe', 'i caught', 'i challenged', 'i changed', 'i cleaned', 'i cloned', 'i convinced', 'i cooked', 'i crashed', 'i create', 'i created', 'i cried', 'i cut', 'i discovered', 'i donate', 'i donated', 'i double', 'i download', 'i earned', 'i escaped', 'i experienced', 'i explored', 'i exposed', 'i failed', 'i fell into', 'i fell into', 'i fixed', 'i flew', 'i flew', 'i found', 'i gambled', 'i gave', 'i got', 'i got', 'i grew', 'i guessed', 'i hacked', 'i hacked', 'i have no', 'i have no', 'i have to', 'i have to', 'i help', 'i help', 'i hire', 'i hired', 'i hit', 'i invested', 'i joined', 'i learned', 'i left', 'i let greed', 'i let greed', 'i lied', 'i lost my', 'i lost my', 'i lost', 'i made', 'i made', 'i met', 'i moved', 'i never thought', 'i never thought', 'i opened', 'i ordered', 'i paid', 'i picked', 'i played', 'i played', 'i predicted', 'i pretended', 'i proved', 'i put', 'i put', 'i quit', 'i reacted', 'i realized', 'i recorded', 'i repaired', 'i replaced', 'i responded', 'i revealed', 'i ruined', 'i saved', 'i saved', 'i saw', 'i sent', 'i shared', 'i shocked', 'i showed', 'i solved', 'i spent', 'i stole', 'i surprised', 'i survived', 'i switched', 'i switched', 'i taught', 'i tested', 'i tested', 'i told', 'i took', 'i traded', 'i trained', 'i trained', 'i tried to', 'i tried', 'i tried', 'i turned', 'i turned', 'i uncovered', 'i used to', 'i used', 'i used', 'i visited', 'i warned', 'i warned', 'i was forced', 'i was forced', 'i went', 'i went', 'i woke up', 'i won', 'i wore', 'i wore', 'i worked for', 'i wrote', 'i\'m in this', 'impossible', 'insane', 'internet is furious', 'is advancing', 'is all over', 'is dead', 'is dying', 'is easy', 'is going to be true', 'is hard', 'is out of control', 'is real', 'is taking over', 'is this the end', 'is toxic', 'is... easy', 'isnt a theory anymore', 'isn’t a theory anymore', 'is… easy', 'it\'s finally over', 'it\'s time to', 'it’s happening', 'just dropped', 'killed', 'last chance', 'leaked', 'legendary', 'life changing', 'linus sebastian', 'linus tech tips', 'linustechtips', 'linux vs windows', 'linux’s big moment', 'marvel', 'massive leak', 'might be real', 'mind blowing', 'minecraft', 'most anticipated', 'mr beast', 'mr best', 'mr. beast', 'mr. best', 'mr.beast', 'mrbeast', 'musk', 'must watch', 'my experience', 'my greatest', 'my life is over', 'my losses', 'my money', 'my paycheck', 'mystery solved', 'nature’s mistake', 'next level', 'no longer a theory', 'no longer alive', 'nobody talks about', 'not a theory anymore', 'now!', 'official trailer', 'openai secret', 'oscura verdad', 'pay for stranger', 'perfectly balanced', 'poison', 'portrait video nanny canon', 'prank', 'random system32', 'react', 'reacting', 'reaction', 'reacts', 'reality', 'right now!', 'robert pg', 'roblox', 'ruining our lives', 'running out of seeds', 'saved lives', 'secret history of', 'seedless fruit', 'she said', 'shocking inflation', 'shocking', 'shorts', 'should not', 'silent disaster', 'skynet moment', 'so much money', 'sora 1', 'sora 2', 'squid game', 'switch from', 'switched back', 'switched to', 'switching back', 'switching from', 'switching to', 'taken over', 'taylor swift', 'tech is doomed', 'terrifying future', 'terrifying truth', 'than you think', 'thank you all', 'thank you for everything', 'thank you guys', 'the absolute', 'the ai uprising', 'the best way', 'the biggest', 'the bubble will burst', 'the coolest', 'the dark truth', 'the dumbest', 'the end of', 'the hidden', 'the market is crashing', 'the most', 'the truth about', 'this broke me', 'this can’t be real', 'this changes everything', 'this explains everything', 'this has to be', 'this is horrible', 'this is not a drill', 'this is the best', 'this is what happens', 'this is why', 'this won’t last long', 'threat to nature', 'tiktok banned', 'tiktok exposed', 'tiktok', 'top ', 'top 10', 'top 5', 'truly massive', 'trust me', 'tráiler oficial', 'ultimate', 'unbelievable', 'undeniable proof', 'viral', 'wait for it', 'waiting to happen', 'warning for everyone', 'watch this before', 'watch until the end', 'we built', 'we found', 'we got this instead', 'we need to talk', 'we need to', 'we tried', 'we were wrong about', 'what happens if', 'what if', 'what no one tells you', 'what really happened', 'what they don’t teach you', 'why i', 'why seedless', 'why this', 'will end', 'with no exploits', 'without a', 'won\'t save us', 'won\'t save you', 'worse than i', 'worse than we', 'yall are going', 'yall are gonna', 'you are not safe', 'you have to see', 'you must know', 'you need to', 'you should', 'you won\'t believe', 'you won’t believe', 'you won’t survive this', 'your money', 'youtube drama', 'you’ll go broke', // Additions to filter mainstream ragebait / geopolitical drama 'china', 'dubai', 'russia', 'gaza', 'trump', 'putin', 'north korea', 'iran', 'netanyahu', 'ukraine', 'syria', 'venezuela', 'india', 'turkey', 'israel', 'palestine', 'brazil', 'myanmar', 'africa', ]; const blockedChannels = [ "kent's tech world", "sam o'nella academy", "terror ted’s tales", "we're in hell", '5-minute crafts', 'a life after layoff', 'according to nicole', 'action retro', 'actual jake', 'adam conover', 'adam savage\’s tested ', 'adam something', 'ahoy', 'airrack', 'alan becker', 'all time', 'alphasniper97', 'alphastein', 'answer in progress', 'asmongold', 'austin evans', 'barely sociable', 'beam in serie', 'beast philanthropy', 'beast reacts', 'beast', 'beastreacts', 'belyves', 'ben azelart', 'ben eater', 'benijugoso', 'berleezy', 'best fails', 'big a', 'bigclivedotcom', 'blake the snake', 'boffy', 'boy boy', 'brent rivera', 'brentech', 'brick technology', 'bright side', 'britec09', 'brodie robertson', 'buzzfeedvideo', 'captain disillusion', 'carrerita', 'caseoh', 'casey neistat', 'cashblox', 'casually explained', 'caylusblox', 'celebrity drama', 'cerostv', 'cgp grey', 'chasing chano', 'chris heria', 'chris stuckmann', 'chris titus tech', 'christophe', 'christopher flannigan', 'chubbyemu', 'cinemassacre', 'circletoonshd', 'ciência todo dia', 'cleo abram', 'clownfish tv', 'clutch gaming highlights', 'cocomelon', 'code bullet', 'codyslab', 'coffeezilla ', 'coffeezilla', 'coldfusion', 'cole hastings', 'collins key', 'computerphile', 'connor is lost', 'corridor crew', 'coryxkenshin', 'crashcourse', 'crazy pranks 24/7', 'critical role', 'cybercpu tech', 'dafuq!?boom!', 'daily dose of internet', 'daily dose', 'daily fails', 'dani', 'dankpods', 'danny duncan', 'danny gonzalez', 'dareen younes', 'dave2d', 'david bombal', 'david dobrik', 'dead air vhs', 'decoding the unknown', 'defunctland', 'dhar mann', 'diamondbolt', 'distrotube', 'dobre brothers', 'doing it with briggs', 'dom brack', 'donald j trump', 'donpanchis', 'dougdougdoug', 'drama alert', 'dream', 'drew gooden', 'drossrotzank', 'drunken intelligence', 'dude perfect', 'dw documentary', 'eckhartsladder', 'el robot de platón', 'electroboom', 'emergency awesome', 'emkay', 'emma thorne', 'emplemon', 'engween', 'epic gamer moments', 'eric murphy', 'eroxblox', 'eta prime', 'explainingcomputers', 'extreme pranksters', 'exurb1a', 'fabiano', 'failarmy', 'faister gaming', 'faze clan', 'faze rug', 'fern', 'fgteev', 'fifa', 'fireship', 'folding ideas', 'foltyn', 'fortnite battle clips', 'fredrik knudsen', 'gadget unboxings', 'gameranx', 'gamers nexus', 'gamestar', 'gaming nexus', 'garbage time', 'gardiner bryant', 'gigguk', 'gnca - gamersnexus consumer advocacy', 'greatscott!', 'guava juice', 'h3h3 productions', 'half as interesting', 'hamedloco spielt', 'hay day', 'hbomberguy', 'holy baam', 'hoots hootman', 'huebi', 'i did a thing', 'ibaitv', 'incognito mode', 'infinite', 'influencers in the wild', 'inquisitormaster', 'insider', 'internet gossip', 'internet historian', 'is gogeth', 'itsfunneh', 'jack clips', 'jack doherty', 'jacksepticeye', 'jacob geller', 'jake paul', 'james julier art tutorials', 'janky rondo', 'jason mcbason', 'jay foreman', 'jaystation', 'jayztwocents', 'jcs - criminal psychology', 'jeff geerling', 'jehxtp', 'jelly', 'jim browning', 'jimmy donaldson', 'jimmythegiant', 'joe bart games', 'joe scott', 'john hammond', 'johnny harris', 'jontronshow', 'jordan matter', 'josh johnson', 'jozhi7', 'karl jobst', 'keepittechie', 'kitboga', 'ksi', 'kurtis conner', 'kurzgesagt – in a nutshell', 'kyle hill', 'lankybox', 'lastweektonight', 'latte asmr', 'lawful masses with leonard french', 'lazarbeam', 'learn linux tv', 'legaleagle', 'lemmino', 'lexi rivera', 'lgr', 'life hack master', 'linus tech tips', 'liquid marshall', 'liron segev', 'lisbug', 'liuss', 'lmg clips', 'logan paul', 'lol esports vods español casteos ibai', 'lol esports', 'louis rossmann', 'low level', 'lta español', 'lucrew', 'ludwig', 'luke smith', 'lyna', 'mandjtv extra', 'mando', 'mark rober', 'markiplier', 'marques brownlee', 'meatcanyon', 'memes daily', 'mental outlaw', 'metaphysical', 'michael horn', 'michael mjd', 'michael reeves', 'minecraft best moments', 'minutephysics', 'modern vintage gamer', 'moon', 'more perfect union', 'morecaseoh', 'morgz', 'morgz', 'mouzakrobat', 'mr. geil', 'mrbeast हिन्दी', 'mrbeast', 'mrwhosetheboss', 'mumbo jumbo', 'mysterious remote', 'nakeyjakey', 'naomi brockwell tv', 'networkchuck', 'nexpo', 'nick digiovanni', 'nick jackson', 'nilered', 'no text to speech', 'nocturn', 'noel miller', 'not just bikes', 'noway4u', 'numberphile', 'ontan', 'optimum', 'orangepeanut', 'overeasy', 'oversimplified', 'paluten', 'papaplatte gaming', 'papaplatte uncut', 'pbs eons', 'pbs space time', 'pc security channel', 'pelicomic', 'penguinz0', 'pewdiepie highlights', 'pewdiepie', 'philosophy tube', 'pierson', 'pietsmiet', 'pka clips', 'poly matter', 'polymatter', 'powerfuljre', 'practical engineering', 'prank wars', 'preston', 'project farm', 'pubg highlights daily', 'pursuit of wonder', 'quick tech tips', 'rajo end', 'reaction memes', 'reaction time', 'real engineering', 'reallifelore', 'ricegum', 'rob braxman tech', 'rocky rakoon', 'rtgame', 'ryan trahan', 'sabine hossenfelder', 'samtime', 'savvynik', 'scambaiters vs. scammers', 'scammer payback', 'scary videos 24/7', 'scishow', 'scott shafer', 'scott the woz', 'screen culture', 'sebastian lague', 'second thought', 'seeytonic (alias)', 'seeytonic', 'seynotic (alias)', 'seynotic', 'seynotic-channel', 'seynotic-typo', 'seynotictypo', 'seyonic (alias)', 'seyonic', 'seyonictypo', 'seythonic', 'seytonic', 'seyttonic', 'seyttonic-channel', 'seyytonic (alias)', 'seyytonic', 'shane dawson', 'shortcircuit', 'side scrollers', 'silvio gamer', 'simfinity', 'smartereveryday', 'smii7yplus', 'sniperwolf', 'somber', 'someordinarygamers', 'spreen plus', 'sseth tzeentach', 'ssethtzeentach', 'sssniperwolf', 'stand-up maths', 'steve mould', 'stokes twins', 'stuff made here', 'styropyro', 'summoning salt', 'super eyepatch wolf', 'surfshark academy', 'surveillance report', 'switched to linux', 'taylor lorenz', 'taylor swift', 'taylorswift', 'team futurism', 'tech hacks daily', 'techaltar', 'techhut', 'techlinked', 'techlore', 'techmoan', 'technical sagar', 'technology connections', 'techquickie', 'techquickie', 'ted-ed', 'tested', 'the b1m', 'the critical drinker', 'the hated one', 'the infographics show', 'the linux experiment', 'the odd1sout', 'the slow mo guys', 'the thought emporium', 'the try guys', 'thebackyardscientist', 'theekwah', 'theodd1sout', 'theprimetime', 'thiojoe', 'tierzoo', 'tik tok compilation', 'tiktok central', 'timcast irl', 'tom scott', 'top 10 countdowns', 'total os today', 'trend hacks', 'trending gossip', 'trending shorts', 'trendy top 10s', 'tri-line', 'troom troom', 'try', 'trymacs', 'tulas 47', 'turbo xtra', 'turboblox', 'two minute papers', 'ufd tech', 'ukriblox', 'unspeakable', 'upper echelon', 'valorant', 'vanessa wingårdh', 'vaush', 'vegas matt', 'veritasium', 'vex', 'videogamedunkey', 'videogamersvault', 'villainee', 'viral hacks', 'viral reaction', 'viral trending', 'voidzilla', 'vox', 'vsauce', 'wendover productions', 'werlyb', 'whirow', 'wifies', 'will tennyson', 'william kitten', 'wolfgang\'s channel', 'woofer', 'yms highlights', 'zach king', 'zack telander', 'zcrexpy', 'zhc', 'булджать', 'владус', 'сквизик roblox', // 🐟 Fake Animal Rescue / Nature Slop 'animal angels', 'animal planet clips', 'animal rescue tv', 'animal universe', 'animal white', 'animals love 365', 'capybara friends', 'cute animals compilation', 'cute pet vids', 'fresh sea cooling', 'life before', 'moya - animal rescues', 'ocean life 360', 'ocean update', 'pet rescue 24/7', 'sea grace', 'wildlife clips daily', 'wildlife diary', 'wildlife warriors', 'wildlife wonders tv', 'world of animals', // 🌌 Fake Space / Science Facts 'astroexplorers', 'cosmic wonders tv', 'cosmos discovery', 'galactic discoveries', 'galactic facts hub', 'infinity wonders', 'science daily facts', 'science fact central', 'space fact zone', 'space infinity', 'space mysteries uncovered', 'universe explorer', // 🤖 AI History / Documentary Spam 'ancient uncovered', 'dark universe', 'historic discovery', 'mystery recap', 'world history archive', // 🕹️ Fake Gaming & Meme Slop 'ai plays', 'fortnite clips daily', 'gaming recap', 'minecraft facts', // 🤖 AI-Generated / AI Slop Channels 'ai deepfake zone', 'ai explained daily', 'ai fact hub', 'ai for humans', 'ai news daily', 'ai video creator', 'auto creator ai', 'autovoice ai', 'courtroom consequences', 'deep fake news', 'deepfake channel', 'deepfake clips', 'digital drift ai', 'discover ai', 'foot tech today', 'hard fork', 'made vision', 'roboreview', 'synthesized reality', 'thatai coach', 'the ai grid', 'the ai-telier', 'twisted truth', 'virtual historian ai', 'wes roth', // 🤖 Popular AI-Focused / AI Commentary Channels '1littlecoder', '3blue1brown', 'ai explained', 'andrej karpathy', 'bycloud', 'clever programmer', 'code_your_own_ai', 'dave shapiro', 'deeplearningai', 'dr alan thompson', 'dylan_curious', 'jordan harrod', 'julia mccoy', 'ken jee', 'krish naik', 'langchain', 'lex fridman', 'matt wolfe', 'matthew berman', 'mattvidproai', 'openai', 'rob miles', 'sentdex', 'statquest with josh starmer', 'yannic kilcher', ]; // Robust emoji detection const emojiRegex = /\p{Extended_Pictographic}/gu; function shouldFilterTitle(title) { const words = title.split(/[^\p{L}]+/gu); // split on letters const lower = title.toLowerCase(); // Check if any word matches allowed ALL-CAPS patterns const hasAllowedAllCapsWord = words.some(word => allowedAllCapsPatterns.some(pattern => pattern.test(word)) ); if (hasAllowedAllCapsWord) { // Skip ALL-CAPS and blockedKeywords filtering entirely return false; } // Filter ALL-CAPS words outside whitelist const allCapsWords = words.filter(isAllCapsWord); if (allCapsWords.length > 0) return true; // Blocked keywords if (blockedKeywords.some(keyword => lower.includes(keyword))) return true; // Emoji check if (emojiRegex.test(title)) return true; // Filter $ signs if (title.includes('$')) return true; return false; } function normalizeName(name) { return name .trim() // remove leading/trailing spaces .replace(/\s+/g, ' ') // normalize multiple spaces .toLowerCase(); // lowercase for comparison } function shouldFilterChannel(channel) { const normChannel = normalizeName(channel); return blockedChannels.some(name => normChannel.includes(normalizeName(name))); } function normalize(str) { return str.replace(/’/g, "'").toLowerCase(); } function filterResults() { const boxes = document.querySelectorAll('.h-box'); if (!boxes.length) return false; let filteredCount = 0; boxes.forEach(box => { const titleEl = box.querySelector('.video-card-row > a > p'); const channelEl = box.querySelector('.channel-name'); const title = titleEl?.textContent.trim() || ''; const channel = channelEl?.textContent.trim() || ''; if (shouldFilterTitle(title) || shouldFilterChannel(channel)) { console.log('[Filtered]', title || channel); box.closest('.pure-u-1')?.remove(); filteredCount++; } }); return filteredCount > 0; } let tries = 0; const maxTries = 20; const interval = setInterval(() => { tries++; const done = filterResults(); if (done || tries >= maxTries) { clearInterval(interval); console.log('[Invidious Filter] Finished filtering.'); } }, 500); })(); ::: So, yeah. Once I cut out the algorithm entirely, along with the clickbait (which makes up basically all of YouTube’s content now) YouTube just lost all meaning to me. And I’m glad for that. Now, I am using Odysee, Peertube and Bit-chute via RSS in RSS Guard. Couldn’t be happier. I’m no longer needlessly scrolling; making those big platforms richer by giving my time to them. In the grand scheme of things, most content is just meaningless. Pointless even. Especially with the majority fo content being made up of low-effort content. It’s just there to drive engagement and gives you nothing out of it. I sure as heck don’t get anything once I see past the veil of the algorithm and clickbait that is used. As far as I am concerned, YouTube is dead. I can’t be happier. The End. YouTube isn’t entertainment anymore - it’s engineered dependence. The only way to win is to leave.

Good job on the AI prompting. If you aren’t an engineer and it works, that’s nice. But, have you heard of GrayJay?
Grayjay App - Follow Creators Not Platforms

I no longer use a smartphone; as I went back to a flip phone and a standard MP3 player. So, that app wouldn’t work for me anyways. 😅

And no, I am not an engineer. As I’ve said before to others, I had these scripts made out of self preservation for my sanity. So that I could escape the churn of the algorithm that pushed garbage content. It was a process for me.

Grayjay also has desktop app.
They didn’t back then when I did what I did. It was only on Android.

I was using RSS feeds long before GrayJay was even a thing. And since it started out an Android only app, it wasn’t appealing anyways. Because I wasn’t about to watch videos on a phone. I’m a desktop user first and foremost.

I already had my own system of curated feeds. I just had these scripts made for Invidious instances to completely remove any dependency left of mine for YouTube.

Too little, too late.