NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==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;'
}
}
})
}
});