- // ==UserScript==
- // @name kxBypass Shortlinks Bypasser
- // @namespace https://discord.gg/pqEBSTqdxV
- // @version v1.2.1
- // @description Bypass almost any Keysystem for the low price of FREE!
- // @author awaitlol.
- // @match https://bstlar.com/*
- // @match https://lootlinks.co/*
- // @match https://loot-links.com/*
- // @match https://loot-link.com/*
- // @match https://linksloot.net/*
- // @match https://lootdest.com/*
- // @match https://lootlink.org/*
- // @match https://lootdest.info/*
- // @match https://lootdest.org/*
- // @match https://links-loot.com/*
- // @match https://rekonise.com/*
- // @icon https://i.pinimg.com/736x/aa/2a/e5/aa2ae567da2c40ac6834a44abbb9e9ff.jpg
- // @grant none
- // @run-at document-end
- // ==/UserScript==
-
- (function() {
- "use strict";
-
- const modalHTML = `
- <div id="kxBypass-modal">
- <div id="kxBypass-modal-content">
- <img src="https://i.pinimg.com/736x/aa/2a/e5/aa2ae567da2c40ac6834a44abbb9e9ff.jpg" id="kxBypass-logo">
- <h1>kxBypass Development</h1>
- <p>Bypass Successful! Here is your link:</p>
- <input type="text" id="kxBypass-link" value="" readonly>
- <button id="kxBypass-redirect">Redirect</button>
- <button id="kxBypass-close">✕</button>
- </div>
- </div>
- `;
-
- const overlayHTML = `
- <div id="kxBypass-overlay">
- <div id="kxBypass-content">
- <img src="https://i.pinimg.com/736x/aa/2a/e5/aa2ae567da2c40ac6834a44abbb9e9ff.jpg" id="kxBypass-logo">
- <div id="kxBypass-text">
- <h1>kxBypass Lootlinks Bypasser!</h1>
- <p>Please wait, bypassing...</p>
- <div id="kxBypass-timer">
- <div id="kxBypass-time-left">Estimated time: <span id="kxBypass-seconds">40</span>s</div>
- <div class="kxBypass-progress-bar">
- <div class="kxBypass-progress"></div>
- </div>
- </div>
- <div id="kxBypass-logs"></div>
- <button id="kxBypass-redirect" disabled>Waiting...</button>
- <a href="https://discord.gg/pqEBSTqdxV" class="kxBypass-invite">Join our Discord</a>
- </div>
- </div>
- </div>
- `;
-
- const styleCSS = `
- @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600&display=swap');
-
- #kxBypass-modal {
- position: fixed;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- background: rgba(0, 0, 0, 0.7);
- display: flex;
- justify-content: center;
- align-items: center;
- z-index: 10000;
- font-family: 'Poppins', sans-serif;
- }
-
- #kxBypass-modal-content {
- background: #fff;
- padding: 20px;
- border-radius: 12px;
- text-align: center;
- box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
- max-width: 400px;
- width: 100%;
- position: relative;
- }
-
- #kxBypass-logo {
- width: 50px;
- height: 50px;
- border-radius: 50%;
- margin-bottom: 10px;
- }
-
- #kxBypass-modal-content h1 {
- font-size: 20px;
- font-weight: 600;
- margin-bottom: 10px;
- color: #333;
- }
-
- #kxBypass-modal-content p {
- font-size: 14px;
- color: #666;
- margin-bottom: 15px;
- }
-
- #kxBypass-link {
- width: 100%;
- padding: 8px;
- border: 1px solid #ddd;
- border-radius: 6px;
- text-align: center;
- font-size: 14px;
- color: #333;
- margin-bottom: 15px;
- }
-
- #kxBypass-modal-content button {
- width: 100%;
- padding: 10px;
- margin-top: 5px;
- border: none;
- border-radius: 6px;
- cursor: pointer;
- font-weight: 600;
- transition: 0.3s ease;
- }
-
- #kxBypass-redirect {
- background: #3498db;
- color: #fff;
- }
-
- #kxBypass-redirect:hover {
- background: #2980b9;
- }
-
- #kxBypass-overlay {
- position: fixed !important;
- top: 0 !important;
- left: 0 !important;
- width: 100% !important;
- height: 100vh !important;
- background: rgba(255, 255, 255, 0.95) !important;
- display: flex !important;
- justify-content: center !important;
- align-items: center !important;
- z-index: 2147483647 !important;
- font-family: 'Poppins', sans-serif !important;
- animation: fadeIn 0.5s ease-in-out !important;
- }
-
- @keyframes fadeIn {
- from { opacity: 0; }
- to { opacity: 1; }
- }
-
- #kxBypass-content {
- display: flex !important;
- align-items: center !important;
- gap: 15px !important;
- max-width: 80% !important;
- background: white !important;
- padding: 20px !important;
- border-radius: 10px !important;
- box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.2) !important;
- }
-
- #kxBypass-text h1 {
- font-size: 18px !important;
- font-weight: 600 !important;
- margin: 0 !important;
- color: #333 !important;
- }
-
- #kxBypass-text p {
- font-size: 14px !important;
- margin: 5px 0 !important;
- color: #666 !important;
- }
-
- #kxBypass-timer {
- margin: 10px 0;
- width: 100%;
- }
-
- #kxBypass-time-left {
- font-size: 13px;
- color: #555;
- margin-bottom: 5px;
- text-align: center;
- }
-
- #kxBypass-time-left span {
- font-weight: 600;
- color: #3498db;
- }
-
- .kxBypass-progress-bar {
- height: 4px;
- background: #e0e0e0;
- border-radius: 2px;
- overflow: hidden;
- }
-
- .kxBypass-progress {
- height: 100%;
- width: 100%;
- background: #3498db;
- border-radius: 2px;
- transition: width 1s linear;
- }
-
- #kxBypass-logs {
- max-height: 100px !important;
- overflow-y: auto !important;
- font-size: 12px !important;
- padding: 5px !important;
- background: #f4f4f4 !important;
- border-radius: 5px !important;
- width: 100% !important;
- margin-bottom: 10px !important;
- }
-
- #kxBypass-overlay #kxBypass-redirect {
- background: #3498db !important;
- color: white !important;
- border: none !important;
- padding: 10px 20px !important;
- border-radius: 5px !important;
- cursor: pointer !important;
- font-size: 14px !important;
- font-weight: 600 !important;
- transition: background 0.2s ease-in-out !important;
- }
-
- #kxBypass-overlay #kxBypass-redirect:disabled {
- background: #999 !important;
- cursor: not-allowed !important;
- }
-
- #kxBypass-overlay #kxBypass-redirect:not(:disabled):hover {
- background: #2980b9 !important;
- }
-
- .kxBypass-invite {
- font-size: 14px !important;
- color: #3498db !important;
- text-decoration: none !important;
- font-weight: 600 !important;
- }
-
- .kxBypass-invite:hover {
- text-decoration: underline !important;
- }
- `;
-
- function showBypassModal(link) {
- const modalContainer = document.createElement("div");
- modalContainer.innerHTML = modalHTML;
- document.body.appendChild(modalContainer);
-
- const linkInput = document.getElementById("kxBypass-link");
- if (linkInput) linkInput.value = link;
-
- document.getElementById("kxBypass-redirect").addEventListener("click", () => {
- window.location.href = link;
- });
-
- document.getElementById("kxBypass-close").addEventListener("click", () => {
- document.getElementById("kxBypass-modal").remove();
- });
- }
-
- function hasCloudflare() {
- const pageText = document.body.innerText || "";
- const pageHTML = document.documentElement.innerHTML;
- return pageText.includes("Just a moment") || pageHTML.includes("Just a moment");
- }
-
- function handleBstlar() {
- if (hasCloudflare()) return;
-
- const path = new URL(window.location.href).pathname.substring(1);
-
- fetch(`https://bstlar.com/api/link?url=${path}`, {
- headers: {
- "accept": "application/json, text/plain, */*",
- "accept-language": "en-US,en;q=0.9",
- "authorization": "null",
- "Referer": window.location.href,
- "Referrer-Policy": "same-origin"
- },
- method: "GET"
- })
- .then(response => response.json())
- .then(data => {
- if (data.tasks && data.tasks.length > 0) {
- const linkId = data.tasks[0].link_id;
- return fetch("https://bstlar.com/api/link-completed", {
- headers: {
- "accept": "application/json, text/plain, */*",
- "content-type": "application/json;charset=UTF-8",
- "authorization": "null",
- "Referer": window.location.href,
- "Referrer-Policy": "same-origin"
- },
- body: JSON.stringify({ link_id: linkId }),
- method: "POST"
- });
- }
- throw new Error("No tasks found in response!");
- })
- .then(response => response.text())
- .then(finalLink => showBypassModal(finalLink))
- .catch(console.error);
- }
-
- function handleLootlinks() {
- setTimeout(() => {
- if (hasCloudflare()) return;
-
- const overlay = document.createElement('div');
- overlay.innerHTML = overlayHTML;
- document.body.appendChild(overlay);
-
- const style = document.createElement('style');
- style.textContent = styleCSS;
- document.head.appendChild(style);
-
- // Start countdown timer
- const timerElement = document.getElementById('kxBypass-seconds');
- const progressBar = document.querySelector('.kxBypass-progress');
- let seconds = 60;
-
- const timerInterval = setInterval(() => {
- seconds--;
- if (timerElement) timerElement.textContent = seconds;
- if (progressBar) progressBar.style.width = `${(seconds / 60) * 100}%`;
-
- if (seconds <= 0) {
- clearInterval(timerInterval);
- if (timerElement) timerElement.textContent = '0';
- if (progressBar) progressBar.style.width = '0%';
- }
- }, 1000);
-
- let loggerIncrement = 1;
- function logMessage(type, data) {
- const logContainer = document.getElementById('kxBypass-logs');
- if (logContainer) {
- const logEntry = document.createElement('div');
- logEntry.innerHTML = `<strong>#${loggerIncrement++} ${type}:</strong> ${data}`;
- logContainer.appendChild(logEntry);
- logContainer.scrollTop = logContainer.scrollHeight;
- }
- }
-
- function decodeBase64WithKey(encodedText, keyLength = 5) {
- let decodedText = '';
- let decodedString = atob(encodedText);
- let key = decodedString.substring(0, keyLength);
- let encodedMessage = decodedString.substring(keyLength);
-
- for (let i = 0; i < encodedMessage.length; i++) {
- let encodedCharCode = encodedMessage.charCodeAt(i);
- let keyCharCode = key.charCodeAt(i % key.length);
- decodedText += String.fromCharCode(encodedCharCode ^ keyCharCode);
- }
-
- return decodedText;
- }
-
- const oldWS = window.WebSocket;
- window.WebSocket = new Proxy(oldWS, {
- construct: function(target, args) {
- const obj = new target(...args);
- logMessage("Connection", "Successfully connected to Lootlink WS!");
-
- const wsInterval = setInterval(() => {
- if (obj.readyState === WebSocket.OPEN) {
- obj.send("0");
- logMessage("Spamming", "Spamming WS...");
- }
- }, 2000);
-
- obj.addEventListener('message', (event) => {
- const message = event.data;
- if (message.startsWith("r:")) {
- clearInterval(timerInterval);
- const timeLeft = document.getElementById('kxBypass-time-left');
- if (timeLeft) timeLeft.textContent = 'Bypass complete!';
- if (progressBar) progressBar.style.display = 'none';
-
- const response = message.substring(2);
- const redirectButton = document.getElementById('kxBypass-redirect');
-
- if (response.includes("https://") || response.includes("www.")) {
- logMessage("Response", `Detected direct link: ${response}`);
- if (redirectButton) {
- redirectButton.disabled = false;
- redirectButton.innerText = `Redirect to destination`;
- redirectButton.onclick = () => {
- window.location.href = response;
- };
- }
- } else {
- const decodedUrl = decodeBase64WithKey(response);
- logMessage("Response", `Decoded URL: ${decodedUrl}`);
- if (redirectButton) {
- redirectButton.disabled = false;
- redirectButton.innerText = `Redirect to destination`;
- redirectButton.onclick = () => {
- window.location.href = decodedUrl;
- };
- }
- }
- }
- });
-
- obj.addEventListener('close', () => clearInterval(wsInterval));
- return obj;
- }
- });
-
- window.open = function() {
- return null;
- };
- const button = document.querySelector("div.btn-shadow");
- if (button) {
- button.click();
- }
- }, 8000);
- }
-
- function handleRekonise() {
- if (hasCloudflare()) return;
-
- fetch(`https://api.rekonise.com/social-unlocks${location.pathname}/unlock`, {
- headers: {
- "accept": "application/json, text/plain, */*",
- "content-type": "application/json;charset=UTF-8",
- "authorization": "null",
- "Referer": window.location.href,
- "Referrer-Policy": "same-origin"
- },
- method: "GET"
- })
- .then(response => response.json())
- .then(data => {
- const responseText = JSON.stringify(data);
- const urlMatch = responseText.match(/(https?:\/\/[^\s"]+)/);
- const foundUrl = urlMatch ? urlMatch[0] : null;
-
- if (foundUrl) {
- showBypassModal(foundUrl);
- } else {
- showBypassModal("Error, please join Discord Server in the Greasyfork script.");
- }
- })
- .catch(console.error);
- }
-
- const style = document.createElement('style');
- style.textContent = styleCSS;
- document.head.appendChild(style);
-
- if (window.location.href.includes("bstlar.com")) handleBstlar();
- else if (window.location.href.includes("loot")) handleLootlinks();
- else if (window.location.href.includes("rekonise.com/")) handleRekonise();
- })();