Advertisement
emerginginstance

WORKING FACEBOOK AD BLOCK DECEMBER 2021

Jul 1st, 2021 (edited)
33,832
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name         ad block facebook
  3. // @version      3.4
  4. // @description  UPDATED 12/12/2021
  5. // @updateURL    https://pastebin.com/raw/vmaiA8jJ
  6. // @downloadURL  https://pastebin.com/raw/vmaiA8jJ
  7. // @include      https://*.facebook.*
  8. // @icon         https://www.google.com/s2/favicons?domain=facebook.com
  9. // @icon64URL    https://www.google.com/s2/favicons?domain=facebook.com
  10. // @run-at       document-idle
  11. // ==/UserScript==
  12.  
  13. (function () { var title = "ad block facebook";
  14.     alert('please use the new updated script https://pastebin.com/azwkJETT')
  15.     return
  16.     const REGIONAL_SPONSORED_TEXT = "Sponsored" /* !!!!!!!!!!!!!!!! Change this to your regional language "Sponsored" text !!!!!!!!!!!!!!!! */
  17.  
  18.  
  19.     const DEBUG_MODE = false;   // Use this if you think it is blocking stuff that isn't adverts.
  20.                                 // It will make all detected adds appear completely different
  21.                                 // instead of removing them, change to true to see if it's working
  22.  
  23.     const CHECK_RATE_MS = 100;
  24.  
  25.     var add_count = 0;
  26.     var detectedElements = []
  27.  
  28.     function mainScript() {
  29.         function advertHandler(element){
  30.             var timeOut = 28;
  31.             var count = 0;
  32.             while(count < timeOut) {
  33.                 var attribute = element.getAttribute("data-pagelet");
  34.                 if(attribute){
  35.                     if(attribute.contains('FeedUnit')) {
  36.                         if(DEBUG_MODE) {
  37.                             if(!detectedElements.includes(element)) {
  38.                                 element.setAttribute('style','background:#FFFFFF !important;color:#000000 !important;width:50% !important;');
  39.                                 console.log(element, count);
  40.                                 detectedElements.push(element);
  41.                             }
  42.                         } else {
  43.                             add_count++;
  44.                             console.warn(title, 'Found', add_count, 'Adverts');
  45.                             element.parentNode.removeChild(element);
  46.                         }
  47.                     }
  48.                     return;
  49.                 } else {
  50.                     count++;
  51.                     element=element.parentNode;
  52.                 }
  53.             }
  54.         };
  55.  
  56.         Array.from(document.querySelectorAll('[role=feed]>div a[href="#"]')).forEach(
  57.             e => {
  58.                 var advert = false;
  59.                 var link_text = e.parentNode.parentNode.parentNode.innerText.split('\n').join('');
  60.                 var sponsored = REGIONAL_SPONSORED_TEXT.toLowerCase().split('');
  61.                 var link_sponsored_check = 0;
  62.                 link_text.toLowerCase().split('').forEach(l => {link_sponsored_check += sponsored.includes(l)})
  63.                 advert = (link_sponsored_check >= sponsored.length);
  64.                 if(advert) advert = !link_text.includes(':');
  65.                 if(advert) advert = !link_text.contains('Shared with');
  66.                 if(advert) advert = link_text.length <= 35;
  67.                 if(advert) {
  68.                     if(!e.pathname.contains("/posts/")) advertHandler(e);
  69.                 }
  70.             }
  71.         );
  72.  
  73.     };
  74.  
  75.       const callback = function () {
  76.         try {
  77.           mainScript();
  78.         } catch (e) {
  79.           console.error("============================================================");
  80.           console.error(title, e);
  81.           console.error("============================================================");
  82.         }
  83.      };
  84.  
  85.     setInterval(callback, CHECK_RATE_MS);
  86. })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement