Shellshock.io Ad Blocker

Blocks ads on Shellshock.io

当前为 2024-09-20 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Shellshock.io Ad Blocker
  3. // @namespace https://shellshock.io
  4. // @description Blocks ads on Shellshock.io
  5. // @version 1.2.1
  6. // @match *://*.shellshock.io/*
  7. // @match *://*.shell.onlypuppy7.online/*
  8. // @match *://*.algebra.best/*
  9. // @match *://*.algebra.vip/*
  10. // @match *://*.biologyclass.club/*
  11. // @match *://*.deadlyegg.com/*
  12. // @match *://*.deathegg.world/*
  13. // @match *://*.eggboy.club/*
  14. // @match *://*.eggboy.xyz/*
  15. // @match *://*.eggcombat.com/*
  16. // @match *://*.egg.dance/*
  17. // @match *://*.eggfacts.fun/*
  18. // @match *://*.egghead.institute/*
  19. // @match *://*.eggisthenewblack.com/*
  20. // @match *://*.eggsarecool.com/*
  21. // @match *://*.geometry.best/*
  22. // @match *://*.geometry.monster/*
  23. // @match *://*.geometry.pw/*
  24. // @match *://*.geometry.report/*
  25. // @match *://*.hardboiled.life/*
  26. // @match *://*.hardshell.life/*
  27. // @match *://*.humanorganising.org/*
  28. // @match *://*.mathactivity.xyz/*
  29. // @match *://*.mathactivity.club/*
  30. // @match *://*.mathdrills.info/*
  31. // @match *://*.mathdrills.life/*
  32. // @match *://*.mathfun.rocks/*
  33. // @match *://*.mathgames.world/*
  34. // @match *://*.math.international/*
  35. // @match *://*.mathlete.fun/*
  36. // @match *://*.mathlete.pro/*
  37. // @match *://*.overeasy.club/*
  38. // @match *://*.risenegg.com/*
  39. // @match *://*.scrambled.tech/*
  40. // @match *://*.scrambled.today/*
  41. // @match *://*.scrambled.us/*
  42. // @match *://*.scrambled.world/*
  43. // @match *://*.shellshockers.club/*
  44. // @match *://*.shellshockers.life/*
  45. // @match *://*.shellshockers.site/*
  46. // @match *://*.shellshockers.us/*
  47. // @match *://*.shellshockers.world/*
  48. // @match *://*.shellshockers.xyz/*
  49. // @match *://*.shellsocks.com/*
  50. // @match *://*.softboiled.club/*
  51. // @match *://*.urbanegger.com/*
  52. // @match *://*.violentegg.club/*
  53. // @match *://*.violentegg.fun/*
  54. // @match *://*.yolk.best/*
  55. // @match *://*.yolk.life/*
  56. // @match *://*.yolk.rocks/*
  57. // @match *://*.yolk.tech/*
  58. // @match *://*.yolk.quest/*
  59. // @match *://*.yolk.today/*
  60. // @match *://*.zygote.cafe/*
  61. // @match *://*.shellshockers.best/*
  62. // @match *://*.eggboy.me/*
  63. // @license MIT
  64. // ==/UserScript==
  65.  
  66. (function() {
  67. 'use strict';
  68.  
  69. // Function to remove the ad blocker warning element
  70. function removeAdBlockerWarning() {
  71. var adBlockerWarning = document.getElementById('adBlockerVideo');
  72. if (adBlockerWarning) {
  73. adBlockerWarning.parentNode.removeChild(adBlockerWarning);
  74. }
  75. }
  76.  
  77. // Function to prevent ads from being loaded
  78. function blockAds() {
  79. var aiptag = window.aiptag;
  80. if (aiptag) {
  81. aiptag.cmd = [];
  82. aiptag.cmd.display = [];
  83. aiptag.cmd.player = [];
  84. }
  85. }
  86.  
  87. // Observe the document for changes to detect when the ad blocker warning element is created
  88. var observer = new MutationObserver(function(mutations) {
  89. mutations.forEach(function(mutation) {
  90. if (mutation.addedNodes && mutation.addedNodes.length > 0) {
  91. for (var i = 0; i < mutation.addedNodes.length; i++) {
  92. var node = mutation.addedNodes[i];
  93. if (node.id === 'adBlockerVideo') {
  94. removeAdBlockerWarning();
  95. }
  96. }
  97. }
  98. });
  99. });
  100.  
  101. // Configure the observer to observe the document for changes
  102. observer.observe(document, {
  103. childList: true,
  104. subtree: true
  105. });
  106.  
  107. // Block ads immediately
  108. blockAds();
  109.  
  110. // Block ads whenever the aiptag object is updated
  111. setInterval(blockAds, 1000);
  112. })();