Raw Source
Volodymyr_Zelenskyy / 1337 Wall of Shame

// ==UserScript==
// @name         1337 Wall of Shame
// @version      0.1.0
// @description  Say no more to toxic students
// @author       ahaddadi
// @homepageURL  https://github.com/AmmarHaddadi/1337-wall-of-shame
// @updateURL    https://raw.githubusercontent.com/AmmarHaddadi/1337-wall-of-shame/refs/heads/main/script.js
// @downloadURL  https://raw.githubusercontent.com/AmmarHaddadi/1337-wall-of-shame/refs/heads/main/script.js
// @match        profile.intra.42.fr
// @match        profile.intra.42.fr/users/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=42.fr
// @license      MIT
// ==/UserScript==

const res = await fetch("https://raw.githubusercontent.com/AmmarHaddadi/1337-wall-of-shame/refs/heads/main/blacklist.json");
const blacklist = await res.json();

window.addEventListener('load', function() {
    'use strict';

    // Main page correction section
    if (window.location.href == "profile.intra.42.fr") {
        
        let correctors = document.querySelectorAll("div.bg-white:nth-child(2) > div:nth-child(1) > div:nth-child(2) > div");

        correctors.forEach((c) => {
            const txt = c.textContent;

        	for (let mf of blacklist) {
        		if (txt.includes(mf.username)) {
        		    c.style.cssText = 'background-color: red;'
        		}
            }
        })
    }
});