YoutubeWhy

Clicks the dumb age verification button new accounts are forced to click, and also bypasses the warning placed on user created videos that counter-signal google's financial interests.

目前為 2020-09-02 提交的版本,檢視 最新版本

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         YoutubeWhy
// @include      https://www.youtube.com/*
// @version      18
// @description  Clicks the dumb age verification button new accounts are forced to click, and also bypasses the warning placed on user created videos that counter-signal google's financial interests.
// @author Wepwawet
// @grant        none
// @run-at          document-start
// @namespace sc
// ==/UserScript==
//
// bpctr is youtube creating a unique tracking ID for a video URL, sharing it means tracing the source of the share down. Cannot watch videos flagged for counter-signaling without it.
// This isn't even for tracking since they already have that data, it's purely to annoy users.
// has_verified=1 is unique to r18 videos, legacy accounts never see it, new accounts have to have it present in URL, no tracing. This bug has been filed multiple times. Not fixed, it's not a bug.
// some videos require four clicks and three pageloads from the user to see without this script
//
var lastpage = '';

function code()
{
    if (document.URL.includes('bpctr=9999999999&has_verified')) return;
    if (lastpage == document.URL) return;
    var r18 = document.querySelector('paper-button.yt-button-renderer');
    if (!r18) r18 = document.querySelector('yt-formatted-string.yt-button-renderer');
    if (r18 && r18.innerText == 'I UNDERSTAND AND WISH TO PROCEED')
    {
        window.stop();
        lastpage = document.URL;
        location.replace(document.URL + '&bpctr=9999999999&has_verified=1');
        return;
    }
    setTimeout(function()
    {
        code();
        return;
    }, 2000);
}
window.onload = code;
window.addEventListener('yt-navigate-start', code, true);
window.addEventListener('yt-navigate-finish', code, true);
setTimeout(code, 2000)