// ==UserScript== // @name uBlock-Origin-dev-filter – Google+DuckDuckGo - wikipedia // @description Filter copycat-websites from DuckDuckGo and Google // @match https://*.duckduckgo.com/* // @include https://*.google.*/* // ==/UserScript== (function() { const css = ` [data-domain*="encyclopedia.thefreedictionary.com"], [data-domain*="algebra.com"], [data-domain*="wikizero.com"], [data-domain*="mediawiki.feverous.co.uk"], [data-domain*="everything.explained.today"], [data-domain*="wiwa.wiki"], [data-domain*="findatwiki.com"], [data-domain*="wikide.wiki"], [data-domain*="wikit.wiki"], [data-domain*="secret-bases.co.uk/wiki"], [data-domain*="scholarship.edu.vn/wiki"], [data-domain*="frwiki.wiki"], [data-domain*="zxc.wiki"], [data-domain*="360wiki.ru"], [data-domain*="sv.abcdef.wiki"], [data-domain*="buildwiki.ru"], [data-domain*="datewiki.ru"], [data-domain*="encyclopaedia.bid"], [data-domain*="gaz.wiki"], [data-domain*="th.hmong.wiki"], [data-domain*="hmong.ru"], [data-domain*="livepcwiki.ru"], [data-domain*="enhancedwiki.territorioscuola.it"], [data-domain*="wiki-org.ru"], [data-domain*="wiki2.net"], [data-domain*="wiki2.info"], [data-domain*="wiki2.org"], [data-domain*="wiki.cologne"], [data-domain*="wikidea.ru"], [data-domain*="wiki2wiki.ru"], [data-domain*="globalwikionline.com"], [data-domain*="wikipe.wiki"], [data-domain*="wikipedia.tel"], [data-domain*="wikidark.ru"], [data-domain*="wikiredia.ru"], [data-domain*="wikipedia24.ru"], [data-domain*="wikiwand.com"], [data-domain*="encyclopedia.kz"], [data-domain*="static.hlt.bme.hu"], [data-domain*="wikibrief.org"], [data-domain*="second.wiki"], [data-domain*="dewiki.de"], [data-domain*="wiki.alquds.edu"], [data-domain*="accordeonmuseum.nl"], [data-domain*="cyclowiki.org"], [data-domain*="ru-wiki.ru"], #__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); } })();