kxBypass Shortlinks Bypasser

Bypass almost any Keysystem for the low price of FREE!

  1. // ==UserScript==
  2. // @name kxBypass Shortlinks Bypasser
  3. // @namespace https://discord.gg/pqEBSTqdxV
  4. // @version v1.2.1
  5. // @description Bypass almost any Keysystem for the low price of FREE!
  6. // @author awaitlol.
  7. // @match https://bstlar.com/*
  8. // @match https://lootlinks.co/*
  9. // @match https://loot-links.com/*
  10. // @match https://loot-link.com/*
  11. // @match https://linksloot.net/*
  12. // @match https://lootdest.com/*
  13. // @match https://lootlink.org/*
  14. // @match https://lootdest.info/*
  15. // @match https://lootdest.org/*
  16. // @match https://links-loot.com/*
  17. // @match https://rekonise.com/*
  18. // @icon https://i.pinimg.com/736x/aa/2a/e5/aa2ae567da2c40ac6834a44abbb9e9ff.jpg
  19. // @grant none
  20. // @run-at document-end
  21. // ==/UserScript==
  22.  
  23. (function() {
  24. "use strict";
  25.  
  26. const modalHTML = `
  27. <div id="kxBypass-modal">
  28. <div id="kxBypass-modal-content">
  29. <img src="https://i.pinimg.com/736x/aa/2a/e5/aa2ae567da2c40ac6834a44abbb9e9ff.jpg" id="kxBypass-logo">
  30. <h1>kxBypass Development</h1>
  31. <p>Bypass Successful! Here is your link:</p>
  32. <input type="text" id="kxBypass-link" value="" readonly>
  33. <button id="kxBypass-redirect">Redirect</button>
  34. <button id="kxBypass-close">✕</button>
  35. </div>
  36. </div>
  37. `;
  38.  
  39. const overlayHTML = `
  40. <div id="kxBypass-overlay">
  41. <div id="kxBypass-content">
  42. <img src="https://i.pinimg.com/736x/aa/2a/e5/aa2ae567da2c40ac6834a44abbb9e9ff.jpg" id="kxBypass-logo">
  43. <div id="kxBypass-text">
  44. <h1>kxBypass Lootlinks Bypasser!</h1>
  45. <p>Please wait, bypassing...</p>
  46. <div id="kxBypass-timer">
  47. <div id="kxBypass-time-left">Estimated time: <span id="kxBypass-seconds">40</span>s</div>
  48. <div class="kxBypass-progress-bar">
  49. <div class="kxBypass-progress"></div>
  50. </div>
  51. </div>
  52. <div id="kxBypass-logs"></div>
  53. <button id="kxBypass-redirect" disabled>Waiting...</button>
  54. <a href="https://discord.gg/pqEBSTqdxV" class="kxBypass-invite">Join our Discord</a>
  55. </div>
  56. </div>
  57. </div>
  58. `;
  59.  
  60. const styleCSS = `
  61. @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600&display=swap');
  62.  
  63. #kxBypass-modal {
  64. position: fixed;
  65. top: 0;
  66. left: 0;
  67. width: 100%;
  68. height: 100%;
  69. background: rgba(0, 0, 0, 0.7);
  70. display: flex;
  71. justify-content: center;
  72. align-items: center;
  73. z-index: 10000;
  74. font-family: 'Poppins', sans-serif;
  75. }
  76.  
  77. #kxBypass-modal-content {
  78. background: #fff;
  79. padding: 20px;
  80. border-radius: 12px;
  81. text-align: center;
  82. box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
  83. max-width: 400px;
  84. width: 100%;
  85. position: relative;
  86. }
  87.  
  88. #kxBypass-logo {
  89. width: 50px;
  90. height: 50px;
  91. border-radius: 50%;
  92. margin-bottom: 10px;
  93. }
  94.  
  95. #kxBypass-modal-content h1 {
  96. font-size: 20px;
  97. font-weight: 600;
  98. margin-bottom: 10px;
  99. color: #333;
  100. }
  101.  
  102. #kxBypass-modal-content p {
  103. font-size: 14px;
  104. color: #666;
  105. margin-bottom: 15px;
  106. }
  107.  
  108. #kxBypass-link {
  109. width: 100%;
  110. padding: 8px;
  111. border: 1px solid #ddd;
  112. border-radius: 6px;
  113. text-align: center;
  114. font-size: 14px;
  115. color: #333;
  116. margin-bottom: 15px;
  117. }
  118.  
  119. #kxBypass-modal-content button {
  120. width: 100%;
  121. padding: 10px;
  122. margin-top: 5px;
  123. border: none;
  124. border-radius: 6px;
  125. cursor: pointer;
  126. font-weight: 600;
  127. transition: 0.3s ease;
  128. }
  129.  
  130. #kxBypass-redirect {
  131. background: #3498db;
  132. color: #fff;
  133. }
  134.  
  135. #kxBypass-redirect:hover {
  136. background: #2980b9;
  137. }
  138.  
  139. #kxBypass-overlay {
  140. position: fixed !important;
  141. top: 0 !important;
  142. left: 0 !important;
  143. width: 100% !important;
  144. height: 100vh !important;
  145. background: rgba(255, 255, 255, 0.95) !important;
  146. display: flex !important;
  147. justify-content: center !important;
  148. align-items: center !important;
  149. z-index: 2147483647 !important;
  150. font-family: 'Poppins', sans-serif !important;
  151. animation: fadeIn 0.5s ease-in-out !important;
  152. }
  153.  
  154. @keyframes fadeIn {
  155. from { opacity: 0; }
  156. to { opacity: 1; }
  157. }
  158.  
  159. #kxBypass-content {
  160. display: flex !important;
  161. align-items: center !important;
  162. gap: 15px !important;
  163. max-width: 80% !important;
  164. background: white !important;
  165. padding: 20px !important;
  166. border-radius: 10px !important;
  167. box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.2) !important;
  168. }
  169.  
  170. #kxBypass-text h1 {
  171. font-size: 18px !important;
  172. font-weight: 600 !important;
  173. margin: 0 !important;
  174. color: #333 !important;
  175. }
  176.  
  177. #kxBypass-text p {
  178. font-size: 14px !important;
  179. margin: 5px 0 !important;
  180. color: #666 !important;
  181. }
  182.  
  183. #kxBypass-timer {
  184. margin: 10px 0;
  185. width: 100%;
  186. }
  187.  
  188. #kxBypass-time-left {
  189. font-size: 13px;
  190. color: #555;
  191. margin-bottom: 5px;
  192. text-align: center;
  193. }
  194.  
  195. #kxBypass-time-left span {
  196. font-weight: 600;
  197. color: #3498db;
  198. }
  199.  
  200. .kxBypass-progress-bar {
  201. height: 4px;
  202. background: #e0e0e0;
  203. border-radius: 2px;
  204. overflow: hidden;
  205. }
  206.  
  207. .kxBypass-progress {
  208. height: 100%;
  209. width: 100%;
  210. background: #3498db;
  211. border-radius: 2px;
  212. transition: width 1s linear;
  213. }
  214.  
  215. #kxBypass-logs {
  216. max-height: 100px !important;
  217. overflow-y: auto !important;
  218. font-size: 12px !important;
  219. padding: 5px !important;
  220. background: #f4f4f4 !important;
  221. border-radius: 5px !important;
  222. width: 100% !important;
  223. margin-bottom: 10px !important;
  224. }
  225.  
  226. #kxBypass-overlay #kxBypass-redirect {
  227. background: #3498db !important;
  228. color: white !important;
  229. border: none !important;
  230. padding: 10px 20px !important;
  231. border-radius: 5px !important;
  232. cursor: pointer !important;
  233. font-size: 14px !important;
  234. font-weight: 600 !important;
  235. transition: background 0.2s ease-in-out !important;
  236. }
  237.  
  238. #kxBypass-overlay #kxBypass-redirect:disabled {
  239. background: #999 !important;
  240. cursor: not-allowed !important;
  241. }
  242.  
  243. #kxBypass-overlay #kxBypass-redirect:not(:disabled):hover {
  244. background: #2980b9 !important;
  245. }
  246.  
  247. .kxBypass-invite {
  248. font-size: 14px !important;
  249. color: #3498db !important;
  250. text-decoration: none !important;
  251. font-weight: 600 !important;
  252. }
  253.  
  254. .kxBypass-invite:hover {
  255. text-decoration: underline !important;
  256. }
  257. `;
  258.  
  259. function showBypassModal(link) {
  260. const modalContainer = document.createElement("div");
  261. modalContainer.innerHTML = modalHTML;
  262. document.body.appendChild(modalContainer);
  263.  
  264. const linkInput = document.getElementById("kxBypass-link");
  265. if (linkInput) linkInput.value = link;
  266.  
  267. document.getElementById("kxBypass-redirect").addEventListener("click", () => {
  268. window.location.href = link;
  269. });
  270.  
  271. document.getElementById("kxBypass-close").addEventListener("click", () => {
  272. document.getElementById("kxBypass-modal").remove();
  273. });
  274. }
  275.  
  276. function hasCloudflare() {
  277. const pageText = document.body.innerText || "";
  278. const pageHTML = document.documentElement.innerHTML;
  279. return pageText.includes("Just a moment") || pageHTML.includes("Just a moment");
  280. }
  281.  
  282. function handleBstlar() {
  283. if (hasCloudflare()) return;
  284.  
  285. const path = new URL(window.location.href).pathname.substring(1);
  286.  
  287. fetch(`https://bstlar.com/api/link?url=${path}`, {
  288. headers: {
  289. "accept": "application/json, text/plain, */*",
  290. "accept-language": "en-US,en;q=0.9",
  291. "authorization": "null",
  292. "Referer": window.location.href,
  293. "Referrer-Policy": "same-origin"
  294. },
  295. method: "GET"
  296. })
  297. .then(response => response.json())
  298. .then(data => {
  299. if (data.tasks && data.tasks.length > 0) {
  300. const linkId = data.tasks[0].link_id;
  301. return fetch("https://bstlar.com/api/link-completed", {
  302. headers: {
  303. "accept": "application/json, text/plain, */*",
  304. "content-type": "application/json;charset=UTF-8",
  305. "authorization": "null",
  306. "Referer": window.location.href,
  307. "Referrer-Policy": "same-origin"
  308. },
  309. body: JSON.stringify({ link_id: linkId }),
  310. method: "POST"
  311. });
  312. }
  313. throw new Error("No tasks found in response!");
  314. })
  315. .then(response => response.text())
  316. .then(finalLink => showBypassModal(finalLink))
  317. .catch(console.error);
  318. }
  319.  
  320. function handleLootlinks() {
  321. setTimeout(() => {
  322. if (hasCloudflare()) return;
  323.  
  324. const overlay = document.createElement('div');
  325. overlay.innerHTML = overlayHTML;
  326. document.body.appendChild(overlay);
  327.  
  328. const style = document.createElement('style');
  329. style.textContent = styleCSS;
  330. document.head.appendChild(style);
  331.  
  332. // Start countdown timer
  333. const timerElement = document.getElementById('kxBypass-seconds');
  334. const progressBar = document.querySelector('.kxBypass-progress');
  335. let seconds = 60;
  336.  
  337. const timerInterval = setInterval(() => {
  338. seconds--;
  339. if (timerElement) timerElement.textContent = seconds;
  340. if (progressBar) progressBar.style.width = `${(seconds / 60) * 100}%`;
  341.  
  342. if (seconds <= 0) {
  343. clearInterval(timerInterval);
  344. if (timerElement) timerElement.textContent = '0';
  345. if (progressBar) progressBar.style.width = '0%';
  346. }
  347. }, 1000);
  348.  
  349. let loggerIncrement = 1;
  350. function logMessage(type, data) {
  351. const logContainer = document.getElementById('kxBypass-logs');
  352. if (logContainer) {
  353. const logEntry = document.createElement('div');
  354. logEntry.innerHTML = `<strong>#${loggerIncrement++} ${type}:</strong> ${data}`;
  355. logContainer.appendChild(logEntry);
  356. logContainer.scrollTop = logContainer.scrollHeight;
  357. }
  358. }
  359.  
  360. function decodeBase64WithKey(encodedText, keyLength = 5) {
  361. let decodedText = '';
  362. let decodedString = atob(encodedText);
  363. let key = decodedString.substring(0, keyLength);
  364. let encodedMessage = decodedString.substring(keyLength);
  365.  
  366. for (let i = 0; i < encodedMessage.length; i++) {
  367. let encodedCharCode = encodedMessage.charCodeAt(i);
  368. let keyCharCode = key.charCodeAt(i % key.length);
  369. decodedText += String.fromCharCode(encodedCharCode ^ keyCharCode);
  370. }
  371.  
  372. return decodedText;
  373. }
  374.  
  375. const oldWS = window.WebSocket;
  376. window.WebSocket = new Proxy(oldWS, {
  377. construct: function(target, args) {
  378. const obj = new target(...args);
  379. logMessage("Connection", "Successfully connected to Lootlink WS!");
  380.  
  381. const wsInterval = setInterval(() => {
  382. if (obj.readyState === WebSocket.OPEN) {
  383. obj.send("0");
  384. logMessage("Spamming", "Spamming WS...");
  385. }
  386. }, 2000);
  387.  
  388. obj.addEventListener('message', (event) => {
  389. const message = event.data;
  390. if (message.startsWith("r:")) {
  391. clearInterval(timerInterval);
  392. const timeLeft = document.getElementById('kxBypass-time-left');
  393. if (timeLeft) timeLeft.textContent = 'Bypass complete!';
  394. if (progressBar) progressBar.style.display = 'none';
  395.  
  396. const response = message.substring(2);
  397. const redirectButton = document.getElementById('kxBypass-redirect');
  398.  
  399. if (response.includes("https://") || response.includes("www.")) {
  400. logMessage("Response", `Detected direct link: ${response}`);
  401. if (redirectButton) {
  402. redirectButton.disabled = false;
  403. redirectButton.innerText = `Redirect to destination`;
  404. redirectButton.onclick = () => {
  405. window.location.href = response;
  406. };
  407. }
  408. } else {
  409. const decodedUrl = decodeBase64WithKey(response);
  410. logMessage("Response", `Decoded URL: ${decodedUrl}`);
  411. if (redirectButton) {
  412. redirectButton.disabled = false;
  413. redirectButton.innerText = `Redirect to destination`;
  414. redirectButton.onclick = () => {
  415. window.location.href = decodedUrl;
  416. };
  417. }
  418. }
  419. }
  420. });
  421.  
  422. obj.addEventListener('close', () => clearInterval(wsInterval));
  423. return obj;
  424. }
  425. });
  426.  
  427. window.open = function() {
  428. return null;
  429. };
  430. const button = document.querySelector("div.btn-shadow");
  431. if (button) {
  432. button.click();
  433. }
  434. }, 8000);
  435. }
  436.  
  437. function handleRekonise() {
  438. if (hasCloudflare()) return;
  439.  
  440. fetch(`https://api.rekonise.com/social-unlocks${location.pathname}/unlock`, {
  441. headers: {
  442. "accept": "application/json, text/plain, */*",
  443. "content-type": "application/json;charset=UTF-8",
  444. "authorization": "null",
  445. "Referer": window.location.href,
  446. "Referrer-Policy": "same-origin"
  447. },
  448. method: "GET"
  449. })
  450. .then(response => response.json())
  451. .then(data => {
  452. const responseText = JSON.stringify(data);
  453. const urlMatch = responseText.match(/(https?:\/\/[^\s"]+)/);
  454. const foundUrl = urlMatch ? urlMatch[0] : null;
  455.  
  456. if (foundUrl) {
  457. showBypassModal(foundUrl);
  458. } else {
  459. showBypassModal("Error, please join Discord Server in the Greasyfork script.");
  460. }
  461. })
  462. .catch(console.error);
  463. }
  464.  
  465. const style = document.createElement('style');
  466. style.textContent = styleCSS;
  467. document.head.appendChild(style);
  468.  
  469. if (window.location.href.includes("bstlar.com")) handleBstlar();
  470. else if (window.location.href.includes("loot")) handleLootlinks();
  471. else if (window.location.href.includes("rekonise.com/")) handleRekonise();
  472. })();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址