Pornhub BlackList

pornhub blacklist

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램을 설치해야 합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name         Pornhub BlackList
// @namespace    http://tampermonkey.net/
// @version      2025-8-3
// @description pornhub blacklist
// @author       You
// @match        https://www.pornhub.com/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=pornhub.com
// @grant        none
// @license MIT
// ==/UserScript==

(function() {
    'use strict';

    // Your code here...
    const titleBlackList = [
    "example"
];

    const creatorBlackList = [
    "example"
    ];

    const hideWatched = false;

    const arr = document.querySelectorAll(".thumbnailTitle");

    arr.forEach((div) => {
        let title = div.title.toLowerCase();
        if(title) {
            if (titleBlackList.some(word => title.includes(word.toLowerCase() ))) {
                div.parentNode.parentNode.parentNode.parentNode.parentNode.remove();
                return;
            }
        }

        let title2 = div.textContent.toLowerCase();
        if(title2) {
            if (titleBlackList.some(word => title2.includes(word.toLowerCase() ))) {
                div.parentNode.parentNode.parentNode.parentNode.parentNode.remove();
                }
        }
    })

    const arr2 = document.querySelectorAll(".usernameWrapper .usernameWrap a");

    arr2.forEach((div2) => {
        let creator = div2.text.toLowerCase();

        if (creator) {
            if(creatorBlackList.some(word => creator.includes(word.toLowerCase()))){
                div2.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.remove()
            }
        }
    })

    const arr3 = document.querySelectorAll(".uploaderLink");

    arr3.forEach((div3) => {
        let creator = div3.text.toLowerCase();

        if (creator) {
            if(creatorBlackList.some(word => creator.includes(word.toLowerCase()))){
                div3.parentNode.parentNode.parentNode.parentNode.parentNode.remove()
            }
        }
    })

    if (hideWatched) {
        const arr4 = document.querySelectorAll(".js-watchedVideoOverlay");
        arr4.forEach((div4) => {
            div4.parentNode.parentNode.parentNode.parentNode.remove();
        })

        const arr5 = document.querySelectorAll(".watchedVideo");
        arr5.forEach((div4) => {
            div4.parentNode.parentNode.parentNode.parentNode.parentNode.remove();
        })
    }

})();