BCI Blooket Cheats Loader

Load cheats from GitHub and inject into Blooket WARNING YOUR BROWSER NEEDS TO HAVE CSP DISABLED TO DISABLE IT GO ON YT AND FIND A TUTORIAL

  1. // ==UserScript==
  2. // @name BCI Blooket Cheats Loader
  3. // @namespace http://tampermonkey.net/
  4. // @version 3.1 INFINITE LOOK
  5. // @description Load cheats from GitHub and inject into Blooket WARNING YOUR BROWSER NEEDS TO HAVE CSP DISABLED TO DISABLE IT GO ON YT AND FIND A TUTORIAL
  6. // @author Sea_Dev
  7. // @match *://*.blooket.com/*
  8. // @icon https://raw.githubusercontent.com/dereszewski/Scripts/refs/heads/main/PNGS/pobrane__11_-removebg-preview.ico
  9. // @license IDK
  10. // @grant none
  11. // ==/UserScript==
  12.  
  13. (function () {
  14. 'use strict';
  15.  
  16. function injectScript(scriptUrl) {
  17. fetch(scriptUrl)
  18. .then(response => {
  19. if (!response.ok) {
  20. throw new Error('Failed to fetch script: ' + response.statusText);
  21. }
  22. return response.text();
  23. })
  24. .then(scriptContent => {
  25. const scriptElement = document.createElement('script');
  26. scriptElement.textContent = scriptContent;
  27. document.body.appendChild(scriptElement);
  28. console.log('Script injected successfully.');
  29. })
  30. .catch(error => console.error('Error injecting script:', error));
  31. }
  32.  
  33. function createPopup() {
  34. const existingPopup = document.getElementById('customPopup');
  35. if (existingPopup) return;
  36.  
  37. const popup = document.createElement('div');
  38. popup.id = 'customPopup';
  39. popup.innerHTML = `
  40. <div id="popupContent">
  41. <p>Are you using a Phone or PC?</p>
  42. <button id="pcButton">PC</button>
  43. <button id="phoneButton">Phone</button>
  44. <button id="closePopup">Cancel</button>
  45. </div>
  46. `;
  47. document.body.appendChild(popup);
  48.  
  49. const style = document.createElement('style');
  50. style.textContent = `
  51. #customPopup {
  52. position: fixed;
  53. top: 50%;
  54. left: 50%;
  55. transform: translate(-50%, -50%) scale(0.7);
  56. background: linear-gradient(45deg, #6e7ef8, #77c1c3, #ff6ec7);
  57. padding: 20px;
  58. border-radius: 15px;
  59. box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
  60. text-align: center;
  61. color: white;
  62. font-size: 18px;
  63. font-weight: bold;
  64. opacity: 0;
  65. animation: fadeInScale 0.4s forwards;
  66. z-index: 99999;
  67. }
  68. #popupContent button {
  69. background: white;
  70. padding: 10px 20px;
  71. margin: 10px;
  72. border: none;
  73. border-radius: 10px;
  74. cursor: pointer;
  75. font-size: 16px;
  76. transition: all 0.3s ease;
  77. }
  78. #popupContent button:hover {
  79. transform: scale(1.1);
  80. box-shadow: 0 4px 12px rgba(255, 255, 255, 0.6);
  81. }
  82. @keyframes fadeInScale {
  83. from { opacity: 0; transform: translate(-50%, -50%) scale(0.7); }
  84. to { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  85. }
  86. @keyframes fadeOutScale {
  87. from { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  88. to { opacity: 0; transform: translate(-50%, -50%) scale(0.7); }
  89. }
  90. `;
  91. document.head.appendChild(style);
  92.  
  93. document.getElementById('pcButton').addEventListener('click', () => {
  94. injectScript('https://raw.githubusercontent.com/Blooket-Council/Blooket-Cheats/main/cheats/gui.min.js');
  95. closePopup();
  96. });
  97.  
  98. document.getElementById('phoneButton').addEventListener('click', () => {
  99. injectScript('https://raw.githubusercontent.com/Blooket-Council/Blooket-Cheats/main/cheats/mobileGui.min.js');
  100. closePopup();
  101. });
  102.  
  103. document.getElementById('closePopup').addEventListener('click', closePopup);
  104. }
  105.  
  106. function closePopup() {
  107. const popup = document.getElementById('customPopup');
  108. if (popup) {
  109. popup.style.animation = 'fadeOutScale 0.3s forwards';
  110. setTimeout(() => popup.remove(), 300);
  111. }
  112. }
  113.  
  114. function createReInjectButton() {
  115. const button = document.createElement('button');
  116. button.id = 'reInjectButton';
  117. button.textContent = 'Re-Inject';
  118. button.style.position = 'fixed';
  119. button.style.top = '20px';
  120. button.style.right = '20px';
  121. button.style.padding = '15px 30px';
  122. button.style.fontSize = '18px';
  123. button.style.fontWeight = 'bold';
  124. button.style.background = 'linear-gradient(45deg, #6e7ef8, #77c1c3, #ff6ec7)';
  125. button.style.color = 'white';
  126. button.style.border = 'none';
  127. button.style.borderRadius = '12px';
  128. button.style.cursor = 'pointer';
  129. button.style.zIndex = '9999';
  130. button.style.boxShadow = '0 4px 10px rgba(0, 0, 0, 0.3)';
  131. button.style.transition = 'all 0.3s ease';
  132. button.addEventListener('click', createPopup);
  133. document.body.appendChild(button);
  134.  
  135. const clearButton = document.createElement('button');
  136. clearButton.textContent = 'Remove UI';
  137. clearButton.style.position = 'fixed';
  138. clearButton.style.top = '70px';
  139. clearButton.style.right = '20px';
  140. clearButton.style.padding = '15px 30px';
  141. clearButton.style.fontSize = '18px';
  142. clearButton.style.fontWeight = 'bold';
  143. clearButton.style.background = 'linear-gradient(45deg, #ff6ec7, #77c1c3, #6e7ef8)';
  144. clearButton.style.color = 'white';
  145. clearButton.style.border = 'none';
  146. clearButton.style.borderRadius = '12px';
  147. clearButton.style.cursor = 'pointer';
  148. clearButton.style.zIndex = '9999';
  149. clearButton.style.boxShadow = '0 4px 10px rgba(0, 0, 0, 0.3)';
  150. clearButton.style.transition = 'all 0.3s ease';
  151. clearButton.addEventListener('click', () => {
  152. closePopup();
  153. setTimeout(() => {
  154. document.getElementById('reInjectButton')?.remove();
  155. clearButton.remove();
  156. }, 300);
  157. });
  158. document.body.appendChild(clearButton);
  159. }
  160.  
  161. function init() {
  162. createReInjectButton();
  163. }
  164.  
  165. init();
  166. })();