Instantly share code, notes, and snippets.
Last active
November 14, 2024 12:52
-
Star
(23)
23
You must be signed in to star a gist -
Fork
(5)
5
You must be signed in to fork a gist
-
Save BlaM/6d826d6e9d77d2d77bf9a92fdad55788 to your computer and use it in GitHub Desktop.
Get rid of EU Cookie Banners (Tampermonkey)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ==UserScript== | |
// @name Get rid of EU Cookie Banners | |
// @namespace http://blog.deobald.org/ | |
// @description Get rid of EU Cookie Banners | |
// @license http://creativecommons.org/licenses/by-nc-sa/3.0/ | |
// @downloadURL https://gist.githubusercontent.com/BlaM/6d826d6e9d77d2d77bf9a92fdad55788/raw/cookiebanner-go-away.user.js | |
// @homepage https://gist.github.com/BlaM/6d826d6e9d77d2d77bf9a92fdad55788 | |
// @version 0.3.4 | |
// @author Dominik Deobald | |
// @match http*://*/* | |
// @grant none | |
// @run-at document-idle | |
// ==/UserScript== | |
(function() { | |
'use strict'; | |
var config = { | |
selectors: { | |
rules: [ | |
// https://cookiesok.com/ | |
{hostname: /./, action: "click", target: ".CookiesOK"}, | |
{hostname: /./, action: "click", target: "#closeCookieBanner"}, | |
{hostname: /./, action: "click", target: ".CookieBanner-button"}, | |
{hostname: /./, action: "click", target: "#nts-set-cookie"}, | |
{hostname: /./, action: "click", target: ".cc_btn_accept_all"}, | |
{hostname: /./, action: "click", target: ".noticeCookiesContent .CustomDismissCtrl"}, | |
{hostname: /./, action: "click", target: ".cookie-consent .cookie-btn"}, | |
{hostname: /./, action: "click", target: "#accept-cookies"}, | |
{hostname: /./, action: "click", target: "#cookie_button_agree"}, | |
{hostname: /./, action: "click", target: "#cookies-agreement #agree-button"}, | |
{hostname: /./, action: "click", target: "#cookielayer .action-btn"}, | |
{hostname: /./, action: "click", target: ".cookie.nag .close"}, | |
{hostname: /./, action: "click", target: "#__tealiumGDPRecModal #consent_prompt_submit"}, | |
{hostname: /./, action: "click", target: 'button[data-selenium="CookiesAcceptButton"]'}, | |
{hostname: /./, action: "click", target: ".gdpr__button"}, | |
{hostname: /./, action: "click", target: ".eu-cookie-compliance-agree-button"}, | |
{hostname: /./, action: "click", target: ".cookie-notification .js-cookie-notification-hide"}, | |
{hostname: /./, action: "click", target: ".js-accept-cookie-policy"}, | |
// http://cookielawinfo.com/user-guide/ | |
{hostname: /./, action: "click", target: "#cookie-law-info-bar #cookie_action_close_header"}, | |
// https://www.jqueryscript.net/other/Minimal-EU-Cookies-Law-Notice-Plugin-For-jQuery-Cookiebar.html | |
{hostname: /./, action: "click", target: "#cookie-bar .cb-enable"}, | |
{hostname: /./, action: "click", target: ".cookie-bar .cb-enable"}, | |
// medium.com | |
{hostname: /./, action: "click", target: '.butterBar--privacy button[title*="I agree"]'}, | |
// blogspot.com | |
{hostname: /./, action: "click", target: "#cookieChoiceDismiss"}, | |
// oath (Tumblr) | |
{hostname: /./, action: "click", target: 'div[data-view="guce-gdpr"] button[data-submit="agree"]'}, | |
// HumbleBundle | |
{hostname: /./, action: "click", target: "#_evidon-accept-button"}, | |
// WordPress | |
{hostname: /./, action: "click", target: ".widget_eu_cookie_law_widget .accept"}, | |
// Doodle | |
{hostname: /./, action: "click", target: "#d-dismissCookieBanner"}, | |
// Sivantos | |
{hostname: /./, action: "click", target: ".cookie-confirmation-button"}, | |
// StackOverflow | |
{hostname: /./, action: "click", target: "#js-gdpr-consent-banner .js-notice-close"}, | |
// DPD | |
{hostname: /./, action: "click", target: "#btnCookieOK"}, | |
{hostname: /./, action: "click", target: ".cookiesOkButton"}, | |
// Payback | |
{hostname: /./, action: "click", target: 'div[data-userhiddencontent-name="dsgvo"] .stripe__collapse-trigger'}, | |
// Paypal | |
{hostname: /./, action: "click", target: "a#acceptAllButton"}, | |
// TK.de | |
{hostname: /./, action: "click", target: '#dsgvoAccepted a[title="Cookie-Hinweis schließen"]'}, | |
{hostname: /soundcloud.com$/, action:"remove", "target":".announcements"}, | |
{hostname: /o2online.de$/, action: "click", target: "#need-to-close-quickly-true"}, | |
{hostname: /verivox.de$/, action: "click", target: ".gdpr-vx-consent-bar-button"}, | |
{hostname: /telekom.de$/, action: "click", target: 'input[name="/de/telekom/phoenix/checkout/controller/CookiesPolicyFormHandler.submit"]'}, | |
{hostname: /./, action: "click", target: 'button[data-gdpr-single-choice-accept]'}, | |
{hostname: /./, action: "click", target: '#CybotCookiebotDialogBodyLevelButtonAccept'}, | |
{hostname: /./, action: "click", target: '#cookieinfo-close'}, | |
{hostname: /./, action: "click", target: '#disclaimer-cookie-accept'}, | |
{hostname: /derstandard/, action: "click", target: '.js-privacywall-agree'}, | |
{hostname: /./, action: "click", target: '.optanon-allow-all'}, | |
{hostname: /./, action: "click", target: '.js-hide-cookie-message'}, | |
{hostname: /./, action: "click", target: '.cookies-message__close'}, | |
{hostname: /./, action: "click", target: '.js_gdpr_close'}, | |
{hostname: /./, action: "click", target: '#acceptCookieHint'}, | |
{hostname: /./, action: "click", target: '#btn-agree-cookie'}, | |
{hostname: /polygon.com$/, action: "remove", target: '#privacy-consent'}, | |
{hostname: /./, action: "remove", target: '.eupopup-container'}, | |
{hostname: /./, action: "remove", target: '.cookie_hint'}, | |
{hostname: /./, action: "remove", target: '.cookiebanner'}, | |
{hostname: /./, action: "remove", target: '#cookiebanner'}, | |
{hostname: /./, action: "click", target: '#cookieBarConfirm'}, | |
{hostname: /./, action: "remove", target: '#cookieBar'}, | |
{hostname: /./, action: "remove", target: '.cc_banner-wrapper'}, | |
{hostname: /./, action: "remove", target: '#js-eu-cookie'}, | |
{hostname: /./, action: "remove", target: '#AcceptCookiesBanner'}, | |
{hostname: /./, action: "remove", target: '.js-CookieBanner'}, | |
{hostname: /payback/, action: "remove", target: 'div[data-userhiddencontent-name="dsgvo"]'}, | |
{hostname: /(stern.de)/, action: "click", target: '.guj-cb__button'}, | |
{hostname: /./, action: "click", target: '#ck-close-cookie-statement'}, | |
{hostname: /./, action: "remove", target: '#ck-cookie-statement'}, | |
{hostname: /./, action: "remove", target: '.cc-window,.cc-banner,.cc-overlay'}, | |
// http://cookielawinfo.com/user-guide/ | |
{hostname: /./, action: "remove", target: '#cookie-law-info-bar'}, | |
{hostname: /blogspot.com/, action: "remove", target: '#cookieChoiceInfo'}, | |
{hostname: /sivantos/, action: "remove", target: '.cookie-confirmation'}, | |
{hostname: /ikea.com$/, action: "remove", target: '#cookieMsgBlock'}, | |
{hostname: /paypal.com$/, action: "remove", target: '#gdprCookieBanner'}, | |
{hostname: /tk.de$/, action: "remove", target: '#dsgvoAccepted'}, | |
{hostname: /planet.com/, action: "click", target: '.pl-cookies-cta .pl-accept'}, | |
{hostname: /./, action: "remove", target: '#cookie-banner'}, | |
// https://de.wordpress.org/plugins/cookie-notice/ | |
{hostname: /./, action: "remove", target: "#cookie-notice"}, | |
{hostname: /adobe/, action: "click", target: "#_evidon-accept-button"}, | |
{hostname: /dict.cc/, action: "click", target: "#sncmp-popup-ok-button"}, | |
{hostname: /basiszinssatz.de/, action: "remove", target: "#wrapperdiv"}, | |
{hostname: /citroen.de/, action: 'remove', target: "#_psaihm_main_div,_psaihm_overlay"} | |
], | |
rulesdelay: [ | |
// {hostname: /./, action: "click", target: '.cc-banner .cc-dismiss'}, | |
// {hostname: /./, action: "click", target: '.cc-window .cc-dismiss'}, | |
{hostname: /./, action: "remove", target: '#cookie-banner'}, | |
{hostname: /./, action: "click", target: '#cookie-consent-accept-button'}, | |
{hostname: /./, action: "remove", target: ".cc_banner-wrapper"}, | |
] | |
} | |
}; | |
function doClick(node, selector) { | |
var didSomething = false; | |
for (var i = 0; i < node.length; i++) { | |
if (!node[i].dataset.cookieAwayClicked) { | |
node[i].click(); | |
node[i].dataset.cookieAwayClicked = true; | |
didSomething = true; | |
} | |
} | |
if (didSomething) { | |
console.log('click', selector); | |
} | |
} | |
function doRemove(node, selector) { | |
for (var i = 0; i < node.length; i++) { | |
node[i].remove(); | |
} | |
if (node.length && selector) { console.log('remove', selector); } | |
} | |
function doRule(rule) { | |
if (typeof rule.hostname == 'string' && rule.hostname !== location.hostname) { return; } | |
if (typeof rule.hostname == 'object' && typeof rule.hostname.match == 'function' && !rule.hostname.match(location.hostname)) { return; } | |
if (rule.action == 'remove') { doRemove($$(rule.target), rule.target); } | |
if (rule.action == 'click') { doClick($$(rule.target), rule.target); } | |
} | |
var $$ = function(s) { | |
return document.querySelectorAll(s); | |
}; | |
function getObject(key, defValue) { | |
var obj = window, keys; | |
try { | |
keys = key.split('.'); | |
for (var i = 0; i < keys.length; i++) { | |
obj = obj[keys[i]]; | |
} | |
} catch(e) { | |
obj = defValue || null; | |
} | |
return typeof obj !== 'undefined'? obj : defValue; | |
}; | |
function firstCall() { | |
typeof getObject('Cookiebot.dialog.submitConsent') == 'function' && window.Cookiebot.dialog.submitConsent(); | |
typeof window.hideCookieHint == 'function' && window.hideCookieHint(true); | |
typeof window.golemAcceptCookies == 'function' && window.golemAcceptCookies(); | |
typeof window.CookiesOK == 'function' && window.CookiesOK(); | |
typeof getObject('CookieControl.notifyAccept') == 'function' && window.CookieControl.notifyAccept(); | |
} | |
function delayCall1() { | |
config.selectors.rules = config.selectors.rules.concat(config.selectors.rulesdelay); | |
} | |
function delayCall2() { | |
} | |
function delayCall5() { | |
typeof window.__cmpui == 'function' && window.__cmpui("setAndSaveAllConsent",!0); // SourceForge | |
config.selectors.rules = config.selectors.rules.concat(config.selectors.rulesdelay); | |
} | |
function execute() { | |
config.selectors.rules.forEach(doRule); | |
} | |
setTimeout(firstCall, 100); | |
setTimeout(execute, 150); | |
setTimeout(execute, 500); | |
setTimeout(delayCall1, 1100); | |
setTimeout(execute, 2000); | |
setTimeout(delayCall2, 2100); | |
setTimeout(execute, 5000); | |
setTimeout(delayCall5, 5100); | |
setTimeout(execute, 10000); | |
})(); |
I guess many people would prefer 'not to allow'. Though thanks for the reply.
@tanerjn You could try Consent-O-Matic. It can be configured to reject non-essential cookies. There are some sites where it doesn't work but you can easily report these to the dev from the extension's icon.
Will check, thanks for the tip.
This is not maintained right now. I use https://www.i-dont-care-about-cookies.eu/ to get rid of most of those banners nowadays.
Don't use this, it's been bought by a mega corpo likely to make it a spyware and sell data.
Use a fork that's open source like I-Still-Dont-Care-About-Cookies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This script hasn't been maintained (or used by me) for almost 3 years, so I'm not sure if it does anything anymore. But yes, it can be updated to click on the "deny" buttons if they can be easily detected on the page. However, as mentioned in my previous comment: I do not currently maintain this script, I use the "I don't care about cookies" browser plugin instead.