Removes image wrappers on Discord.com regardless of class obfuscation, useful when opening images
// ==UserScript==
// @name Discord Image Unwrapper (Obfuscation-Resistant)
// @namespace https://greasyfork.org/en/scripts/533235-discord-image-unwrapper-obfuscation-resistant
// @version 1.1
// @description Removes image wrappers on Discord.com regardless of class obfuscation, useful when opening images
// @author Cragsand
// @license MIT
// @match *://discord.com/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
function unwrapImages() {
const candidates = document.querySelectorAll('div[class*="imageWrapper_"]');
candidates.forEach(wrapper => {
const classList = Array.from(wrapper.classList);
const hasImageWrapper = classList.some(cls => cls.startsWith('imageWrapper_'));
const hasMedia = classList.some(cls => cls.startsWith('media_'));
if (hasImageWrapper && hasMedia && !wrapper.dataset.unwrapped) {
const img = wrapper.querySelector('img');
if (img) {
wrapper.dataset.unwrapped = "true";
const imgClone = img.cloneNode(true);
wrapper.replaceWith(imgClone);
}
}
});
}
// Observe changes to the DOM
const observer = new MutationObserver(() => unwrapImages());
observer.observe(document.body, { childList: true, subtree: true });
// Initial run
unwrapImages();
})();