Greasy Fork is available in English.
alpharede
// ==UserScript==
// @name alpharede - Bypass
// @namespace alpharede
// @version 2.6
// @description alpharede
// @author Nick (Nickupdates@telegram)
// @match *://*/*
// @grant none
// @license MIT
// @run-at document-start
// ==/UserScript==
(function () {
'use strict';
function extractDestination(text) {
try {
if (text.includes("destination")) {
const clean = text.replace(/\\+"/g, '"');
const match = clean.match(/destination["']?\s*:\s*["']([^"']+)["']/);
if (match && match[1]) {
return match[1];
}
}
} catch (e) {}
return null;
}
// 💯 safest way to wipe page (no framework crash)
function clearPage() {
document.open();
document.write(`
<title>Please wait...</title>
<style>
body {
margin:0;
display:flex;
justify-content:center;
align-items:center;
height:100vh;
background:#000;
color:#fff;
font-family:sans-serif;
flex-direction:column;
}
</style>
<div id="app">
<div>Please wait...</div>
<div id="timer"></div>
</div>
`);
document.close();
}
function startTimer(url) {
let seconds = 90;
const timerEl = document.getElementById("timer");
const interval = setInterval(() => {
seconds--;
if (timerEl) timerEl.textContent = seconds + " seconds";
if (seconds <= 0) {
clearInterval(interval);
window.location.replace(url);
}
}, 1000);
}
function handle(url) {
if (url.includes("getkey?")) {
clearPage();
startTimer(url);
} else {
window.location.replace(url);
}
}
function run() {
const scripts = document.querySelectorAll("script");
for (let i = 0; i < scripts.length; i++) {
const text = scripts[i].textContent || "";
if (!text || text.length < 50) continue;
const url = extractDestination(text);
if (url) {
handle(url);
return true;
}
}
return false;
}
if (run()) return;
const observer = new MutationObserver(() => {
if (run()) observer.disconnect();
});
observer.observe(document.documentElement, {
childList: true,
subtree: true
});
setTimeout(() => observer.disconnect(), 10000);
})();