tranhthuregnick
Địt xong chạy

dùng Zootube ko quảng cáo là 1 phần nhỏ trong nhu cầu hoàn mỹ của tao, quan trọng là nó ko ban tài khoản của tao, chứ xem chùa kiểu ngu ngu nó ban phát mất hết mẹ hướng đề xuất thì ăn cứt
trước tiên phải hiểu cơ chế của thằng Zootube nó sẽ xác định bằng tài khoản, MAC của thiết bị và địa chỉ IP. Do đó phải có 1 thằng như Chrome để đăng nhập vô Zootube (cái tài khoản chính của tụi mày) và nên xem vài clip để nó ghi nhận?
Cái quan trọng tiếp theo là thằng dùng để xem chính, nhiều cái nhưng quan trọng là phải hỗ trợ cài ublock origin (đéo được bỏ mẹ đi). Tao liệt kê mấy thằng : Edge, Firefox, Ungoogled Chromium. Tao đéo liệt kê tml Brave ở đây là có lí do, đọc tiếp là hiểu.
www.microsoft.com
www.mozilla.org
github.com
cài 1 trong mấy thằng trên, cài ublock vô, cập nhật hết bộ lọc, thêm đống này vô "My filters"
đến đây là tụi mày vô xem ngon lành rồi nhưng có cái ngu là nó có rất nhiều kênh rác, gọi là rác vl
và đây là chiếc chổi thần kỳ "Channel Blocker", thằng này nếu tụi mày cài trực tiếp ở Chrome nó đéo hoạt động đâu, phải tải bản cũ hơn
www.crx4chrome.com
thằng Firefox thì nó có sẵn bản này trên store của nó
addons.mozilla.org
mấy thằng dùng Edge hay Chromium tự tìm cách sideload extension, cài vô xong sẽ thấy điều diệu kỳ, bên cạnh tên kênh tụi bây sẽ thấy nút X (bấm vô là bye forever kênh đó), chịu khó dọn dẹp tầm vài lần là ok, nhớ tìm và xem các kênh tụi mày xem, càng dùng lâu càng tốt lên
còn đây là script dọn mấy kênh ít sub rác, cài Violentmonkey mà xài

trước tiên phải hiểu cơ chế của thằng Zootube nó sẽ xác định bằng tài khoản, MAC của thiết bị và địa chỉ IP. Do đó phải có 1 thằng như Chrome để đăng nhập vô Zootube (cái tài khoản chính của tụi mày) và nên xem vài clip để nó ghi nhận?
Cái quan trọng tiếp theo là thằng dùng để xem chính, nhiều cái nhưng quan trọng là phải hỗ trợ cài ublock origin (đéo được bỏ mẹ đi). Tao liệt kê mấy thằng : Edge, Firefox, Ungoogled Chromium. Tao đéo liệt kê tml Brave ở đây là có lí do, đọc tiếp là hiểu.
Download Microsoft Edge: Windows, macOS, iOS & Android
Download Microsoft Edge for your computer or smartphone. Experience the cutting-edge AI-powered Edge browser on your Windows, macOS, iOS, and Android device.


Tải xuống Firefox nhanh nhất cho Windows từ trước đến nay
Tải trang nhanh hơn, sử dụng ít bộ nhớ hơn và có nhiều tính năng, Firefox mới cho Windows có ở đây.

GitHub - ungoogled-software/ungoogled-chromium-windows: Windows packaging for ungoogled-chromium
Windows packaging for ungoogled-chromium. Contribute to ungoogled-software/ungoogled-chromium-windows development by creating an account on GitHub.
cài 1 trong mấy thằng trên, cài ublock vô, cập nhật hết bộ lọc, thêm đống này vô "My filters"
youtube.com##ytd-rich-grid-row:style(display:contents !important
youtube.com###contents.ytd-rich-grid-row:style(display:contents !important
youtube.com##ytd-rich-grid-renderer:style(--ytd-rich-grid-items-per-row: 5 !important
youtube.com##ytd-rich-item-renderer:style(margin-right: calc(var(--ytd-rich-grid-item-margin)/2) !important; margin-left: calc(var(--ytd-rich-grid-item-margin)/2) !important
youtube.com###video-title.ytd-rich-grid-media:style(font-size: 1.4rem !important; line-height: 2rem !important
youtube.com###metadata-line.ytd-video-meta-block:style(font-size: 1.2rem !important; line-height: 1.8rem !important
youtube.com###video-title.ytd-rich-grid-slim-media:style(font-size: 1.4rem !important; line-height: 2rem !important
youtube.com##ytd-rich-section-renderer.ytd-rich-grid-renderer.style-scope:nth-of-type(1)
youtube.com##ytd-rich-section-renderer.ytd-rich-grid-renderer.style-scope:nth-of-type(2)
youtube.com##ytd-rich-section-renderer.ytd-rich-grid-renderer.style-scope:nth-of-type(3)
youtube.com#@##player-ads
đến đây là tụi mày vô xem ngon lành rồi nhưng có cái ngu là nó có rất nhiều kênh rác, gọi là rác vl

và đây là chiếc chổi thần kỳ "Channel Blocker", thằng này nếu tụi mày cài trực tiếp ở Chrome nó đéo hoạt động đâu, phải tải bản cũ hơn

Channel Blocker 2.2.4 Crx (Old Version) - Crx4Chrome
Free Download Channel Blocker Old Version Crx File v2.2.4 (Social & Communication Extension for Chrome or Chromium based Browsers)
thằng Firefox thì nó có sẵn bản này trên store của nó

Channel Blocker – Get this Extension for 🦊 Firefox (en-US)
Download Channel Blocker for Firefox. Are you annoyed by YouTube™s video recommendations? Our Add-on enables the function of blocking anything you'd like. Block separate videos, users or whole channels with only one click!
mấy thằng dùng Edge hay Chromium tự tìm cách sideload extension, cài vô xong sẽ thấy điều diệu kỳ, bên cạnh tên kênh tụi bây sẽ thấy nút X (bấm vô là bye forever kênh đó), chịu khó dọn dẹp tầm vài lần là ok, nhớ tìm và xem các kênh tụi mày xem, càng dùng lâu càng tốt lên

còn đây là script dọn mấy kênh ít sub rác, cài Violentmonkey mà xài
// ==UserScript==
// @name youtube crappy videos remover from the recommendations + remove ContainAdsSign
// @namespace http://tampermonkey.net/
// @version 3.4
// @description thanks to youtube for recommending crappy videos with ~10 views
// @author NiceL
// @match *://*.youtube.com/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=youtube.com
// @grant none
// ==/UserScript==
// ---------------------------------------------------------------------------
let g_VideosFiltering = true;
let g_ShortsFiltering = true;
let g_RemoveContainAdsSign = true;
function IsSubscriptions()
{
return location.pathname.startsWith("/feed/subscriptions");
}
function IsChannel()
{
return location.pathname.startsWith("/@");
}
function IsShorts()
{
return location.pathname.startsWith("/shorts");
}
function IsNumber(i)
{
return (i >= '0' && i <= '9');
}
function IsSpace(i)
{
return i == ' ';
}
function IsSeparator(i)
{
return i == '.' || i == ',';
}
function IsBadVideo(videoViews)
{
if (!videoViews) {
return false;
}
let text = videoViews.innerText;
if (text.length == 0) {
return false;
}
let numbersExists = false
for (let i = 0; i < text.length; i++)
{
// searches for a single number to verify that there's more than zero views
if (IsNumber(text)) {
numbersExists = true;
break;
}
}
let twoWordsExists = false
for (let i = 0; i < text.length - 2; i++)
{
// not number + space + not number = this is >1000 views (this should work for all languages)
if (!IsNumber(text) && IsSpace(text[i + 1]) && !IsNumber(text[i + 2])) {
twoWordsExists = true;
break;
}
// number + separator + number = this is >1000 views (this should work for all languages)
if (IsNumber(text) && IsSeparator(text[i + 1]) && IsNumber(text[i + 2])) {
twoWordsExists = true;
break;
}
}
let badVideo = !numbersExists || !twoWordsExists;
if (badVideo) {
console.log("~BadVideo: '" + text + "'"); // debug
}
return badVideo;
}
function IsBadShortVideo(videoViews)
{
//console.log("IsBadShortVideo()"); // debug
if (!videoViews) {
return false;
}
let text = videoViews.innerText;
if (text.length == 0) {
return false;
}
for (let i = 0; i < text.length; i++)
{
// nbsp symbol is found
if (text == '\xa0') {
return false;
}
}
console.log("~BadShortVideo: '" + text + "'"); // debug
return true;
}
// ---------------------------------------------------------------------------
function UpdateVideoFiltering()
{
let videosList;
if (IsChannel() || IsSubscriptions()) {
return;
}
if (IsShorts())
{
if (g_ShortsFiltering)
{
// skip bad shorts
videosList = document.getElementsByClassName("reel-video-in-sequence style-scope ytd-shorts");
for (let i = 0; i < videosList.length; i++)
{
if (!videosList.isActive) {
continue;
}
let videoViews = videosList.getElementsByClassName("yt-spec-button-shape-with-label__label")[0];
if (IsBadShortVideo(videoViews)) {
document.getElementsByClassName("navigation-button style-scope ytd-shorts")[1].getElementsByClassName("yt-spec-touch-feedback-shape__fill")[0].click(); // click to next video button (is it even stable lol?)
}
}
}
}
else
{
if (g_VideosFiltering)
{
// delete videos from the right side
videosList = document.getElementsByClassName("style-scope ytd-compact-video-renderer");
for (let i = 0; i < videosList.length; i++)
{
let videoViews = videosList.getElementsByClassName("inline-metadata-item style-scope ytd-video-meta-block")[0];
if (IsBadVideo(videoViews)) {
videosList.parentElement.remove();
}
}
// delete videos from the main page
videosList = document.getElementsByClassName("style-scope ytd-rich-item-renderer");
for (let i = 0; i < videosList.length; i++)
{
if (videosList.id != "content") {
continue;
}
let videoViews = videosList.getElementsByClassName("inline-metadata-item style-scope ytd-video-meta-block")[0];
if (IsBadVideo(videoViews)) {
videosList.parentElement.remove();
}
}
}
}
}
// if you are tired of clicking on this sign million times instead of video
function RemoveContainAdsSign()
{
if (g_RemoveContainAdsSign)
{
const styleElement = document.createElement('style');
document.head.appendChild(styleElement);
const sheet = styleElement.sheet;
sheet.insertRule(".ytInlinePlayerControlsTopLeftControls { display: none }", 0);
}
}
// ---------------------------------------------------------------------------
document.addEventListener("yt-navigate-finish", (event) => {
setTimeout(UpdateVideoFiltering, 350);
RemoveContainAdsSign();
});
window.addEventListener("message", (event) => {
if (!IsShorts()) {
setTimeout(UpdateVideoFiltering, 200);
}
});
window.addEventListener("load", (event) => {
if (!IsShorts()) {
setTimeout(UpdateVideoFiltering, 200);
}
});
window.addEventListener("scrollend", (event) => {
if (!IsShorts()) {
setTimeout(UpdateVideoFiltering, 0);
}
});
window.addEventListener("click", (event) => {
if (!IsShorts()) {
setTimeout(UpdateVideoFiltering, 200);
}
});