// ==UserScript== // @name uBlock-Origin-dev-filter – Google+DuckDuckGo - seo_spam // @description Filter copycat-websites from DuckDuckGo and Google // @match https://*.duckduckgo.com/* // @include https://*.google.*/* // ==/UserScript== (function() { const css = ` [data-domain*="spiegato.com"], [data-domain*="actingcollegeses.com"], [data-domain*="patrickkidd3.typepad.com"], [data-domain*="durrell2012.com"], [data-domain*="developpaper.com"], [data-domain*="topcode.in"], [data-domain*="javascripttutorial.net"], [data-domain*="geekwall.in"], [data-domain*="mailinglistapi.info"], [data-domain*="worldgrowthtoday.com"], [data-domain*="emailconverts.info"], [data-domain*="email-pro.info"], [data-domain*="icode9.com"], [data-domain*="900913.ru"], [data-domain*="iditect.com"], [data-domain*="jqueryscript.net"], [data-domain*="osqa.net"], [data-domain*="codingwithfun.com"], [data-domain*="codesprogram.com"], [data-domain*="iqcode.com"], [data-domain*="hum-berlin.de"], [data-domain*="britguidenewyork.net"], [data-domain*="justshowcode.com"], [data-domain*="itw01.com"], [data-domain*="codertw.com"], [data-domain*="multi-let.co.uk"], [data-domain*="answerforyou.net"], [data-domain*="globalizethis.org"], [data-domain*="unbate.com"], [data-domain*="ngontinh24.com"], [data-domain*="nmstep.org"], [data-domain*="juicycleanses.com"], [data-domain*="code-discuss.com"], [data-domain*="bong-faq.com"], [data-domain*="suptitles.de"], [data-domain*="brianlovin.com/hn"], [data-domain*="plageroyale.com"], [data-domain*="thesassway.com"], [data-domain*="azazworld.com"], #__non-existent__{display: none}`; if (document.location.hostname.includes('google')) { const domains = css .split('\n') .map( (s) => s.slice(15).replace('"],', '').trim(), ) .filter(Boolean); // Remove {display:none} domains.splice(domains.length - 1, 1); for (const domain of domains) { try { const p = document .querySelector(`#search a[href*="${domain}"]`) .parentNode.parentNode.parentNode.parentNode; if (p) { p.parentNode.removeChild(p); } } catch (e) { // Ignore } } } else { const style = document.createElement('style'); style.textContent = css; document.head.insertAdjacentElement('beforeend', style); } })();