pf / gclnshit

// ==UserScript==
// @name         gclnshit
// @namespace    usnspf
// @version      0.1.0.64
// @description  hl possible spam/trash on google
// @author       pf
// @match        https://www.google.com/*
// @grant        none
// @homepage     https://pastebin.com/LAtyWpTT
// @copyright 2021, pf (https://pastebin.com/LAtyWpTT)
// @license MIT
// @updateURL https://openuserjs.org/meta/pf/gclnshit.meta.js
// @downloadURL https://openuserjs.org/install/pf/gclnshit.min.user.js
// ==/UserScript==

(function () {
  'use strict';

  var a_objs = document.getElementsByTagName('a'),
  ig_wl_d1 = ["edu"],
  a1_bl_d1 = ["cf","pw","site","ac\.uk","ml","co","website","it","id","ro","pl","cc"],
  a2_wl_d3 = ["www[0-9]?","m(obile)?","legacy","(dev)?forums?","prod","market","blog","support","assets?","help","community","store","demos?","stats?","bugs?","addons?","products?","us","ru","en","raw","cdn","api","downloads?","docs?","dev(eloper)?s?","music","i","web","shop","style","open"],  
  a2_wl_1d2 = ["google","wikipedia","github","fandom","adobe","stackexchange","wordpress","mozilla","amd","intel","cnet","corel","battle","blizzard","steampowered","facebook","tumblr","blogspot","yandex","microsoft","reddit","co","livejournal","uservoice","youtube","twitch","spotify","chip"],
  a2_wl_1d1 = ["org","com","io","net","ru","us","uk","kr","tv","de"],
  a2_wl_d0 = ["gov"],
  re_ignore = new RegExp("^[A-Z0-9._-]{3,}\.("+ig_wl_d1.join("|")+")$", "im"),
  re_a1 = new RegExp("^[A-Z0-9._-]{3,}\.("+a1_bl_d1.join("|")+")$", "im"),
  re_a2 = new RegExp("^((("+a2_wl_d3.join("|")+")\.)?[A-Z0-9_-]{2,}\.([A-Z0-9_-]{2,}|co\.uk|com\.(au|ua|ru))|"+
	"[A-Z0-9._-]{3,}("+a2_wl_1d2.join("|")+")\.("+a2_wl_1d1.join("|")+")|"+
	"[A-Z0-9._-]{2,}\.(("+a2_wl_d0.join("|")+")(\.[A-Z0-9_-]{2,})?))$", "im");
	  
  for (var i = 0; i < a_objs.length; i++) {
    if ( a_objs[i].outerHTML.indexOf("</h3>") != -1) {
      if (re_ignore.test(a_objs[i].host)) {//ignore

      }
      else if (re_a1.test(a_objs[i].host)) {//possible trash
        a_objs[i].style.color = "#FF0000";
        a_objs[i].style.fontStyle = "italic";
      }
      else if (! re_a2.test(a_objs[i].host)) {//possible not good
        a_objs[i].style.color = "#FF0000";
      }
    }
  }

})();