refactor(database): improve naming to add exclude_matches to it
This commit is contained in:
parent
accc5efda8
commit
daa805f4f4
@ -10,7 +10,7 @@
|
||||
|
||||
# Cookie Dialog Monster
|
||||
|
||||
Cookie Dialog Monster is a browser extension that hides cookie consent dialogs without changing user preferences. By default, we do NOT accept cookies (except in [a few cases](https://git.wanhose.dev/wanhose/cookie-dialog-monster/src/branch/main/database.json#L248) where the pages do not function without accepting them). You can report broken sites with a single click, which will create an issue in this repository to be fixed promptly.
|
||||
Cookie Dialog Monster is a browser extension that hides cookie consent dialogs without changing user preferences. By default, we do NOT accept cookies (except in [a few cases](https://git.wanhose.dev/wanhose/cookie-dialog-monster/src/branch/main/database.json) where the pages do not function without accepting them). You can report broken sites with a single click, which will create an issue in this repository to be fixed promptly.
|
||||
|
||||
## Contributing
|
||||
|
||||
|
713
database.json
713
database.json
@ -1,547 +1,257 @@
|
||||
{
|
||||
"commonWords": [
|
||||
"ablehnen",
|
||||
"accept",
|
||||
"accepta",
|
||||
"accepter",
|
||||
"accettare",
|
||||
"accordo",
|
||||
"aceitar",
|
||||
"aceptar",
|
||||
"acuerdo",
|
||||
"advertising",
|
||||
"agree",
|
||||
"akzeptieren",
|
||||
"analitica",
|
||||
"analítica",
|
||||
"analitice",
|
||||
"analityka",
|
||||
"analyse",
|
||||
"analytics",
|
||||
"analytique",
|
||||
"baner",
|
||||
"banner",
|
||||
"bannière",
|
||||
"cc",
|
||||
"cerrar",
|
||||
"chiudere",
|
||||
"close",
|
||||
"cmp",
|
||||
"compliance",
|
||||
"concordar",
|
||||
"confidențialitate",
|
||||
"confidentialité",
|
||||
"configuraciones",
|
||||
"configurações",
|
||||
"conformidade",
|
||||
"conformità",
|
||||
"conformitate",
|
||||
"conformité",
|
||||
"consenso",
|
||||
"consent",
|
||||
"consentement",
|
||||
"consentimento",
|
||||
"consentimiento",
|
||||
"consimțământ",
|
||||
"cookie",
|
||||
"cumplimiento",
|
||||
"d'accord",
|
||||
"dados",
|
||||
"dane",
|
||||
"data",
|
||||
"date",
|
||||
"daten",
|
||||
"datenschutz",
|
||||
"dati",
|
||||
"datos",
|
||||
"de acord",
|
||||
"declinar",
|
||||
"declinare",
|
||||
"decline",
|
||||
"décliner",
|
||||
"déni",
|
||||
"descargo de responsabilidad",
|
||||
"desempenho",
|
||||
"dialog",
|
||||
"dialogo",
|
||||
"diálogo",
|
||||
"dialogue",
|
||||
"disclaimer",
|
||||
"disconoscimento",
|
||||
"données",
|
||||
"dritte",
|
||||
"einstellungen",
|
||||
"einwilligung",
|
||||
"fechar",
|
||||
"fermer",
|
||||
"fonctionnel",
|
||||
"funcional",
|
||||
"functional",
|
||||
"funcțional",
|
||||
"funkcjonalny",
|
||||
"funktional",
|
||||
"funzionale",
|
||||
"gdpr",
|
||||
"gerenciar",
|
||||
"gérer",
|
||||
"gesetz",
|
||||
"gestiona",
|
||||
"gestionar",
|
||||
"gestire",
|
||||
"guardar",
|
||||
"haftungsausschluss",
|
||||
"impostazioni",
|
||||
"închide",
|
||||
"informação",
|
||||
"información",
|
||||
"informacja",
|
||||
"informații",
|
||||
"information",
|
||||
"informazione",
|
||||
"isenção de responsabilidade",
|
||||
"konformität",
|
||||
"konieczny",
|
||||
"law",
|
||||
"lege",
|
||||
"legge",
|
||||
"lei",
|
||||
"leistung",
|
||||
"ley",
|
||||
"loi",
|
||||
"manage",
|
||||
"necesar",
|
||||
"necesario",
|
||||
"nécessaire",
|
||||
"necessario",
|
||||
"necessário",
|
||||
"necessary",
|
||||
"notwendig",
|
||||
"nutzung",
|
||||
"odmówić",
|
||||
"odrzucić",
|
||||
"opcional",
|
||||
"opcjonalny",
|
||||
"optional",
|
||||
"opțional",
|
||||
"optionnel",
|
||||
"opzionale",
|
||||
"paramètres",
|
||||
"performance",
|
||||
"performanță",
|
||||
"personalisierung",
|
||||
"personalização",
|
||||
"personalización",
|
||||
"personalizacja",
|
||||
"personalizare",
|
||||
"personalization",
|
||||
"personalizzazione",
|
||||
"personnalisation",
|
||||
"policy",
|
||||
"politica",
|
||||
"politică",
|
||||
"política",
|
||||
"politik",
|
||||
"politique",
|
||||
"polityka",
|
||||
"popup",
|
||||
"präferenzen",
|
||||
"prawo",
|
||||
"preferences",
|
||||
"préférences",
|
||||
"preferencias",
|
||||
"preferências",
|
||||
"preferencje",
|
||||
"preferenze",
|
||||
"preferințe",
|
||||
"prestazioni",
|
||||
"privacidad",
|
||||
"privacidade",
|
||||
"privacy",
|
||||
"prywatność",
|
||||
"pubblicità",
|
||||
"publicidad",
|
||||
"publicidade",
|
||||
"publicitate",
|
||||
"publicité",
|
||||
"rastreamento",
|
||||
"rechazar",
|
||||
"refuza",
|
||||
"reject",
|
||||
"rejeitar",
|
||||
"rejeter",
|
||||
"reklama",
|
||||
"rendimiento",
|
||||
"respinge",
|
||||
"rifiutare",
|
||||
"salva",
|
||||
"salvar",
|
||||
"salvare",
|
||||
"sauvegarder",
|
||||
"save",
|
||||
"schließen",
|
||||
"seguimiento",
|
||||
"setări",
|
||||
"settings",
|
||||
"śledzenie",
|
||||
"speichern",
|
||||
"strona trzecia",
|
||||
"suivi",
|
||||
"terceiro",
|
||||
"tercero",
|
||||
"terță parte",
|
||||
"terza parte",
|
||||
"third-party",
|
||||
"tiers",
|
||||
"tracciamento",
|
||||
"tracking",
|
||||
"urmărire",
|
||||
"usage",
|
||||
"uso",
|
||||
"ustawienia",
|
||||
"utilisation",
|
||||
"utilizare",
|
||||
"użycie",
|
||||
"verfolgung",
|
||||
"verwalten",
|
||||
"werbung",
|
||||
"wydajność",
|
||||
"zaakceptować",
|
||||
"zamknij",
|
||||
"zapisz",
|
||||
"zarządzać",
|
||||
"zgoda",
|
||||
"zgodność",
|
||||
"zgodzić się",
|
||||
"zrzeczenie się",
|
||||
"zustimmen",
|
||||
"аналитика",
|
||||
"баннер",
|
||||
"всплывающее окно",
|
||||
"данные",
|
||||
"диалог",
|
||||
"закон",
|
||||
"закрыть",
|
||||
"информация",
|
||||
"использование",
|
||||
"конфиденциальность",
|
||||
"настройки",
|
||||
"необходимо",
|
||||
"опционально",
|
||||
"отказ",
|
||||
"отказаться",
|
||||
"отклонить",
|
||||
"отслеживание",
|
||||
"персонализация",
|
||||
"политика",
|
||||
"предпочтения",
|
||||
"принять",
|
||||
"производительность",
|
||||
"реклама",
|
||||
"согласен",
|
||||
"согласие",
|
||||
"соответствие",
|
||||
"сохранить",
|
||||
"третья сторона",
|
||||
"управлять",
|
||||
"функциональный"
|
||||
],
|
||||
"fixes": [
|
||||
"actions": [
|
||||
{
|
||||
"action": "click",
|
||||
"domain": "action.com",
|
||||
"name": "click",
|
||||
"selector": "#CybotCookiebotDialogBodyLevelButtonLevelOptinDeclineAll"
|
||||
},
|
||||
{
|
||||
"action": "resetAll",
|
||||
"domain": "automobielmanagement.nl",
|
||||
"name": "resetAll",
|
||||
"property": "filter",
|
||||
"selector": "body > *"
|
||||
},
|
||||
{
|
||||
"action": "click",
|
||||
"domain": "bilbaomuseoa.eus",
|
||||
"name": "click",
|
||||
"selector": ".alert_message .btn-confirm"
|
||||
},
|
||||
{
|
||||
"action": "resetAll",
|
||||
"domain": "breitbart.com",
|
||||
"name": "resetAll",
|
||||
"property": "display",
|
||||
"selector": ".twitter-tweet"
|
||||
},
|
||||
{
|
||||
"action": "resetAll",
|
||||
"domain": "breitbart.com",
|
||||
"name": "resetAll",
|
||||
"property": "visibility",
|
||||
"selector": ".twitter-tweet"
|
||||
},
|
||||
{
|
||||
"action": "click",
|
||||
"domain": "buscotelefonosgratis.es",
|
||||
"name": "click",
|
||||
"selector": "#cookie_action_close_header_reject"
|
||||
},
|
||||
{
|
||||
"action": "click",
|
||||
"domain": "chollometro.com",
|
||||
"name": "click",
|
||||
"selector": "[data-t=\"continueWithoutAccepting\"]"
|
||||
},
|
||||
{
|
||||
"action": "click",
|
||||
"domain": "classicube.net",
|
||||
"name": "click",
|
||||
"selector": "#acceptcookies"
|
||||
},
|
||||
{
|
||||
"action": "click",
|
||||
"domain": "compact-online.de",
|
||||
"name": "click",
|
||||
"selector": "[id*=\"bnnr-body-rightSide-\"] div + div > span"
|
||||
},
|
||||
{
|
||||
"action": "click",
|
||||
"domain": "consent.google",
|
||||
"name": "click",
|
||||
"selector": "[aria-label=\"Alle ablehnen\"], [aria-label=\"Odrzuć wszystko\"], [aria-label=\"Rechazar todo\"], [aria-label=\"Recusar tudo\"], [aria-label=\"Reject all\"], [aria-label=\"Rejeitar tudo\"], [aria-label=\"Respinge tot\"], [aria-label=\"Rifiuta tutto\"], [aria-label=\"Tout refuser\"], [aria-label=\"Отклонить все\"]"
|
||||
},
|
||||
{
|
||||
"action": "click",
|
||||
"domain": "consent.yahoo",
|
||||
"name": "click",
|
||||
"selector": ".reject-all"
|
||||
},
|
||||
{
|
||||
"action": "click",
|
||||
"domain": "consent.youtube",
|
||||
"name": "click",
|
||||
"selector": "[aria-label=\"Alle ablehnen\"], [aria-label=\"Odrzuć wszystko\"], [aria-label=\"Rechazar todo\"], [aria-label=\"Recusar tudo\"], [aria-label=\"Reject all\"], [aria-label=\"Rejeitar tudo\"], [aria-label=\"Respinge tot\"], [aria-label=\"Rifiuta tutto\"], [aria-label=\"Tout refuser\"], [aria-label=\"Отклонить все\"]"
|
||||
},
|
||||
{
|
||||
"action": "click",
|
||||
"domain": "dailymotion.com",
|
||||
"name": "click",
|
||||
"selector": "[aria-label=\"Continue without accepting\"]"
|
||||
},
|
||||
{
|
||||
"action": "click",
|
||||
"domain": "dealabs.com",
|
||||
"name": "click",
|
||||
"selector": "[data-t=\"continueWithoutAccepting\"]"
|
||||
},
|
||||
{
|
||||
"action": "click",
|
||||
"domain": "derstandard",
|
||||
"name": "click",
|
||||
"selector": "[aria-label=\"Einverstanden\"]"
|
||||
},
|
||||
{
|
||||
"action": "click",
|
||||
"domain": "fiberplane.dev",
|
||||
"name": "click",
|
||||
"selector": "button[aria-label=\"Close Banner\"]"
|
||||
},
|
||||
{
|
||||
"action": "click",
|
||||
"domain": "foto-erhardt.de",
|
||||
"name": "click",
|
||||
"selector": "[class=\"modal show\"]"
|
||||
},
|
||||
{
|
||||
"action": "reset",
|
||||
"domain": "gamestar.de",
|
||||
"name": "reset",
|
||||
"property": "filter",
|
||||
"selector": "#content"
|
||||
},
|
||||
{
|
||||
"action": "click",
|
||||
"domain": "gettr.com",
|
||||
"name": "click",
|
||||
"selector": "button.bold"
|
||||
},
|
||||
{
|
||||
"action": "click",
|
||||
"domain": "gib-uns-deinen-gebrauchten.de",
|
||||
"name": "click",
|
||||
"selector": "#cookie-banner-accept-selected-button"
|
||||
},
|
||||
{
|
||||
"action": "click",
|
||||
"domain": "gmx.com",
|
||||
"name": "click",
|
||||
"selector": "#onetrust-accept-btn-handler"
|
||||
},
|
||||
{
|
||||
"action": "click",
|
||||
"domain": "gmx.net",
|
||||
"name": "click",
|
||||
"selector": "[data-id=\"save-all-pur\"]"
|
||||
},
|
||||
{
|
||||
"action": "click",
|
||||
"domain": "golem.de",
|
||||
"name": "click",
|
||||
"selector": "[title=\"Zustimmen und weiter\"]"
|
||||
},
|
||||
{
|
||||
"action": "click",
|
||||
"domain": "google",
|
||||
"name": "click",
|
||||
"selector": "[aria-modal=\"true\"][role=\"dialog\"]:has([href*=\"policies.google.com/technologies/cookies\"]) button:not([aria-label]):not([role=\"link\"])"
|
||||
},
|
||||
{
|
||||
"action": "click",
|
||||
"domain": "hagglezon.com",
|
||||
"name": "click",
|
||||
"selector": "[data-test=\"cookie-submit\"]"
|
||||
},
|
||||
{
|
||||
"action": "click",
|
||||
"domain": "instagram.com",
|
||||
"name": "click",
|
||||
"selector": "[role=\"dialog\"] > [style=\"display: flex; flex-direction: column; height: 100%; max-width: 100%;\"] > button"
|
||||
},
|
||||
{
|
||||
"action": "click",
|
||||
"domain": "motorolasound.com",
|
||||
"name": "click",
|
||||
"selector": "#cookie-btn-denied"
|
||||
},
|
||||
{
|
||||
"action": "click",
|
||||
"domain": "mydealz.de",
|
||||
"name": "click",
|
||||
"selector": "[data-t=\"continueWithoutAccepting\"]"
|
||||
},
|
||||
{
|
||||
"action": "reload",
|
||||
"domain": "myprivacy.dpgmedia"
|
||||
"domain": "myprivacy.dpgmedia",
|
||||
"name": "reload"
|
||||
},
|
||||
{
|
||||
"action": "click",
|
||||
"domain": "off-campers.com",
|
||||
"name": "click",
|
||||
"selector": "[form=\"cookie-consent-form\"][value=\"deny\"]"
|
||||
},
|
||||
{
|
||||
"action": "reset",
|
||||
"domain": "orcd.co",
|
||||
"name": "reset",
|
||||
"property": "opacity",
|
||||
"selector": ".player-container.box-shadow"
|
||||
},
|
||||
{
|
||||
"action": "resetAll",
|
||||
"domain": ".pl",
|
||||
"name": "resetAll",
|
||||
"property": "filter",
|
||||
"selector": "body:has(.advertisement.contentAds.ads.adsbygoogle.top-banners.adbanner.bannerAd.ad-google.AdSense:first-child) > *"
|
||||
},
|
||||
{
|
||||
"action": "reset",
|
||||
"domain": "play.google",
|
||||
"name": "reset",
|
||||
"property": "z-index",
|
||||
"selector": "body > div"
|
||||
},
|
||||
{
|
||||
"action": "click",
|
||||
"domain": "popeyes.es",
|
||||
"name": "click",
|
||||
"selector": ".cookie-buttons > .cookie-buttons-column > div:last-child"
|
||||
},
|
||||
{
|
||||
"action": "click",
|
||||
"domain": "producthunt.com",
|
||||
"name": "click",
|
||||
"selector": "[data-test=\"dismiss-CookiePopup\"] button"
|
||||
},
|
||||
{
|
||||
"action": "click",
|
||||
"domain": "reddit.com",
|
||||
"name": "click",
|
||||
"selector": "#SHORTCUT_FOCUSABLE_DIV [style*=\"--Toaster\"] section:last-child section:last-child button"
|
||||
},
|
||||
{
|
||||
"action": "reset",
|
||||
"domain": "resonanz-labor.de",
|
||||
"name": "reset",
|
||||
"property": "overflow",
|
||||
"selector": "#wrapwrap"
|
||||
},
|
||||
{
|
||||
"action": "click",
|
||||
"domain": "staylibere.com",
|
||||
"name": "click",
|
||||
"selector": "[class*=\"LayoutCookieBanner_buttons\"] > button:last-child"
|
||||
},
|
||||
{
|
||||
"action": "reset",
|
||||
"domain": "thetvdb.com",
|
||||
"name": "reset",
|
||||
"property": "overflow",
|
||||
"selector": "body"
|
||||
},
|
||||
{
|
||||
"action": "click",
|
||||
"domain": "twitch.tv",
|
||||
"name": "click",
|
||||
"selector": "[data-a-target=\"consent-banner-accept\"]"
|
||||
},
|
||||
{
|
||||
"action": "click",
|
||||
"domain": "usnews.com",
|
||||
"name": "click",
|
||||
"selector": "#gdpr-modal-agree"
|
||||
},
|
||||
{
|
||||
"action": "click",
|
||||
"domain": "web.de",
|
||||
"name": "click",
|
||||
"selector": "#reminder"
|
||||
},
|
||||
{
|
||||
"action": "click",
|
||||
"domain": "web.dev",
|
||||
"name": "click",
|
||||
"selector": "a[href*=\"cookies\"] + button"
|
||||
},
|
||||
{
|
||||
"action": "click",
|
||||
"domain": "youtube.com",
|
||||
"name": "click",
|
||||
"selector": "[aria-label*=\"ablehnen\"], [aria-label*=\"Reject\"], [aria-label*=\"Rechazar\"], [aria-label*=\"refuser\"], [aria-label*=\"Rifiuta\"], [aria-label*=\"Nie wyrażaj zgody\"], [aria-label*=\"Rejeitar\"], [aria-label*=\"Recusar\"], [aria-label*=\"Resping\"], [aria-label*=\"Запретить\"]"
|
||||
},
|
||||
{
|
||||
"action": "click",
|
||||
"domain": "zdf.de",
|
||||
"name": "click",
|
||||
"selector": "#aria-dialog-cmp-error-dialog > .dialog-close"
|
||||
},
|
||||
{
|
||||
"action": "click",
|
||||
"domain": "zeit.de",
|
||||
"name": "click",
|
||||
"selector": "[title=\"ACCEPT AND CONTINUE\"]"
|
||||
}
|
||||
],
|
||||
"rules": [
|
||||
"||app.usercentrics.eu^",
|
||||
"||b2brouter.net/de/wp-content/plugins/cookies-and-content-security-policy^",
|
||||
"||benno-gymnasium.de/plugins/system/gdpr^",
|
||||
"||c.evidon.com^",
|
||||
"||cdn-cookieyes.com^",
|
||||
"||cdn.consentmanager.net^",
|
||||
"||cdn.cookielaw.org^",
|
||||
"||cdn.optable.co^",
|
||||
"||cdn.trustcommander.net/privacy^",
|
||||
"||cdntranscend.eventbrite.com^",
|
||||
"||chollometro.com/assets/js/CookiesMessage*.js^",
|
||||
"||city-bahn.de/wp-content/plugins/borlabs-cookie^",
|
||||
"||cmp.huffingtonpost.fr^",
|
||||
"||cmp.inmobi.com^",
|
||||
"||cmp.prisa.com^",
|
||||
"||cmp.uniconsent.com^",
|
||||
"||cms.static-bahn.de/cms/consent-layer^",
|
||||
"||consent.cookiebot.com^",
|
||||
"||consent.cookiefirst.com^",
|
||||
"||consent.pdf24.org^",
|
||||
"||consent.trustarc.com^",
|
||||
"||consent.up.welt.de^",
|
||||
"||consentbar.interencheres.com^",
|
||||
"||consentcdn.cookiebot.com^",
|
||||
"||cookiehub.net^",
|
||||
"||cp.as.com^",
|
||||
"||cp.inside-digital.de^",
|
||||
"||download.amd.com/OneTrust^",
|
||||
"||driftingchef.com/static/*/Sticky2,ConsentManager",
|
||||
"||emp.bbci.co.uk^",
|
||||
"||eu.fastcmp.com^",
|
||||
"||forum.vorondesign.com/js/xf/notice.min.js^",
|
||||
"||gdpr-tcfv2.sp-prod.net^",
|
||||
"||get.optad360.io/sf/*/plugin.min.js",
|
||||
"||ilims.de/typo3conf/ext/nb_cookie_banner^",
|
||||
"||itkadmin.de/_javascripts/cookiesolution/es_cookie_solution_sources_v2.js^",
|
||||
"||js.vxcdn.com/usercentrics-sdk^",
|
||||
"||lensois.com/wp-admin/admin-ajax.php",
|
||||
"||media.bzcompany.cz/scookies^",
|
||||
"||myprivacy-static.dpgmedia.net/consent.js^",
|
||||
"||myprivacy.dpgmedia.*/consent^",
|
||||
"||optanon.blob.core.windows.net^",
|
||||
"||privacy.wetransfer.com/fides.js^",
|
||||
"||prod.widgets.burgerprofiel.vlaanderen.be/*/js.cookie.js^",
|
||||
"||redditstatic.com/onetrust.*.js",
|
||||
"||s.nitropay.com/gpp-*.min.js",
|
||||
"||s.p7s1.io/cmp^",
|
||||
"||sdk.privacy-center.org^",
|
||||
"||static.fastcmp.com^",
|
||||
"||transcend-cdn.com^",
|
||||
"||wcpstatic.microsoft.com^",
|
||||
"||webtools.europa.eu/js/webtools.cck.js^",
|
||||
"||widgets.marketcat.net^"
|
||||
],
|
||||
"skips": {
|
||||
"exclusions": {
|
||||
"domains": [
|
||||
"*.bauhaus.cz",
|
||||
"*.codesandbox.io",
|
||||
"*.cookie-dialog-monster.com",
|
||||
"*.facebook.com",
|
||||
"*.googleapis.com",
|
||||
"*.olympics.com",
|
||||
"translate.google.*",
|
||||
"www.youtube-nocookie.com",
|
||||
"www.youtube.com"
|
||||
],
|
||||
"overflows": [
|
||||
"app.diagrams.net",
|
||||
"blog.sapegin.me",
|
||||
"buyagift.co.uk",
|
||||
@ -964,6 +674,307 @@
|
||||
"YTD-YOODLE-RENDERER"
|
||||
]
|
||||
},
|
||||
"keywords": [
|
||||
"ablehnen",
|
||||
"accept",
|
||||
"accepta",
|
||||
"accepter",
|
||||
"accettare",
|
||||
"accordo",
|
||||
"aceitar",
|
||||
"aceptar",
|
||||
"acuerdo",
|
||||
"advertising",
|
||||
"agree",
|
||||
"akzeptieren",
|
||||
"analitica",
|
||||
"analítica",
|
||||
"analitice",
|
||||
"analityka",
|
||||
"analyse",
|
||||
"analytics",
|
||||
"analytique",
|
||||
"baner",
|
||||
"banner",
|
||||
"bannière",
|
||||
"cc",
|
||||
"cerrar",
|
||||
"chiudere",
|
||||
"close",
|
||||
"cmp",
|
||||
"compliance",
|
||||
"concordar",
|
||||
"confidențialitate",
|
||||
"confidentialité",
|
||||
"configuraciones",
|
||||
"configurações",
|
||||
"conformidade",
|
||||
"conformità",
|
||||
"conformitate",
|
||||
"conformité",
|
||||
"consenso",
|
||||
"consent",
|
||||
"consentement",
|
||||
"consentimento",
|
||||
"consentimiento",
|
||||
"consimțământ",
|
||||
"cookie",
|
||||
"cumplimiento",
|
||||
"d'accord",
|
||||
"dados",
|
||||
"dane",
|
||||
"data",
|
||||
"date",
|
||||
"daten",
|
||||
"datenschutz",
|
||||
"dati",
|
||||
"datos",
|
||||
"de acord",
|
||||
"declinar",
|
||||
"declinare",
|
||||
"decline",
|
||||
"décliner",
|
||||
"déni",
|
||||
"descargo de responsabilidad",
|
||||
"desempenho",
|
||||
"dialog",
|
||||
"dialogo",
|
||||
"diálogo",
|
||||
"dialogue",
|
||||
"disclaimer",
|
||||
"disconoscimento",
|
||||
"données",
|
||||
"dritte",
|
||||
"einstellungen",
|
||||
"einwilligung",
|
||||
"fechar",
|
||||
"fermer",
|
||||
"fonctionnel",
|
||||
"funcional",
|
||||
"functional",
|
||||
"funcțional",
|
||||
"funkcjonalny",
|
||||
"funktional",
|
||||
"funzionale",
|
||||
"gdpr",
|
||||
"gerenciar",
|
||||
"gérer",
|
||||
"gesetz",
|
||||
"gestiona",
|
||||
"gestionar",
|
||||
"gestire",
|
||||
"guardar",
|
||||
"haftungsausschluss",
|
||||
"impostazioni",
|
||||
"închide",
|
||||
"informação",
|
||||
"información",
|
||||
"informacja",
|
||||
"informații",
|
||||
"information",
|
||||
"informazione",
|
||||
"isenção de responsabilidade",
|
||||
"konformität",
|
||||
"konieczny",
|
||||
"law",
|
||||
"lege",
|
||||
"legge",
|
||||
"lei",
|
||||
"leistung",
|
||||
"ley",
|
||||
"loi",
|
||||
"manage",
|
||||
"necesar",
|
||||
"necesario",
|
||||
"nécessaire",
|
||||
"necessario",
|
||||
"necessário",
|
||||
"necessary",
|
||||
"notwendig",
|
||||
"nutzung",
|
||||
"odmówić",
|
||||
"odrzucić",
|
||||
"opcional",
|
||||
"opcjonalny",
|
||||
"optional",
|
||||
"opțional",
|
||||
"optionnel",
|
||||
"opzionale",
|
||||
"paramètres",
|
||||
"performance",
|
||||
"performanță",
|
||||
"personalisierung",
|
||||
"personalização",
|
||||
"personalización",
|
||||
"personalizacja",
|
||||
"personalizare",
|
||||
"personalization",
|
||||
"personalizzazione",
|
||||
"personnalisation",
|
||||
"policy",
|
||||
"politica",
|
||||
"politică",
|
||||
"política",
|
||||
"politik",
|
||||
"politique",
|
||||
"polityka",
|
||||
"popup",
|
||||
"präferenzen",
|
||||
"prawo",
|
||||
"preferences",
|
||||
"préférences",
|
||||
"preferencias",
|
||||
"preferências",
|
||||
"preferencje",
|
||||
"preferenze",
|
||||
"preferințe",
|
||||
"prestazioni",
|
||||
"privacidad",
|
||||
"privacidade",
|
||||
"privacy",
|
||||
"prywatność",
|
||||
"pubblicità",
|
||||
"publicidad",
|
||||
"publicidade",
|
||||
"publicitate",
|
||||
"publicité",
|
||||
"rastreamento",
|
||||
"rechazar",
|
||||
"refuza",
|
||||
"reject",
|
||||
"rejeitar",
|
||||
"rejeter",
|
||||
"reklama",
|
||||
"rendimiento",
|
||||
"respinge",
|
||||
"rifiutare",
|
||||
"salva",
|
||||
"salvar",
|
||||
"salvare",
|
||||
"sauvegarder",
|
||||
"save",
|
||||
"schließen",
|
||||
"seguimiento",
|
||||
"setări",
|
||||
"settings",
|
||||
"śledzenie",
|
||||
"speichern",
|
||||
"strona trzecia",
|
||||
"suivi",
|
||||
"terceiro",
|
||||
"tercero",
|
||||
"terță parte",
|
||||
"terza parte",
|
||||
"third-party",
|
||||
"tiers",
|
||||
"tracciamento",
|
||||
"tracking",
|
||||
"urmărire",
|
||||
"usage",
|
||||
"uso",
|
||||
"ustawienia",
|
||||
"utilisation",
|
||||
"utilizare",
|
||||
"użycie",
|
||||
"verfolgung",
|
||||
"verwalten",
|
||||
"werbung",
|
||||
"wydajność",
|
||||
"zaakceptować",
|
||||
"zamknij",
|
||||
"zapisz",
|
||||
"zarządzać",
|
||||
"zgoda",
|
||||
"zgodność",
|
||||
"zgodzić się",
|
||||
"zrzeczenie się",
|
||||
"zustimmen",
|
||||
"аналитика",
|
||||
"баннер",
|
||||
"всплывающее окно",
|
||||
"данные",
|
||||
"диалог",
|
||||
"закон",
|
||||
"закрыть",
|
||||
"информация",
|
||||
"использование",
|
||||
"конфиденциальность",
|
||||
"настройки",
|
||||
"необходимо",
|
||||
"опционально",
|
||||
"отказ",
|
||||
"отказаться",
|
||||
"отклонить",
|
||||
"отслеживание",
|
||||
"персонализация",
|
||||
"политика",
|
||||
"предпочтения",
|
||||
"принять",
|
||||
"производительность",
|
||||
"реклама",
|
||||
"согласен",
|
||||
"согласие",
|
||||
"соответствие",
|
||||
"сохранить",
|
||||
"третья сторона",
|
||||
"управлять",
|
||||
"функциональный"
|
||||
],
|
||||
"rules": [
|
||||
"||app.usercentrics.eu^",
|
||||
"||b2brouter.net/de/wp-content/plugins/cookies-and-content-security-policy^",
|
||||
"||benno-gymnasium.de/plugins/system/gdpr^",
|
||||
"||c.evidon.com^",
|
||||
"||cdn-cookieyes.com^",
|
||||
"||cdn.consentmanager.net^",
|
||||
"||cdn.cookielaw.org^",
|
||||
"||cdn.optable.co^",
|
||||
"||cdn.trustcommander.net/privacy^",
|
||||
"||cdntranscend.eventbrite.com^",
|
||||
"||chollometro.com/assets/js/CookiesMessage*.js^",
|
||||
"||city-bahn.de/wp-content/plugins/borlabs-cookie^",
|
||||
"||cmp.huffingtonpost.fr^",
|
||||
"||cmp.inmobi.com^",
|
||||
"||cmp.prisa.com^",
|
||||
"||cmp.uniconsent.com^",
|
||||
"||cms.static-bahn.de/cms/consent-layer^",
|
||||
"||consent.cookiebot.com^",
|
||||
"||consent.cookiefirst.com^",
|
||||
"||consent.pdf24.org^",
|
||||
"||consent.trustarc.com^",
|
||||
"||consent.up.welt.de^",
|
||||
"||consentbar.interencheres.com^",
|
||||
"||consentcdn.cookiebot.com^",
|
||||
"||cookiehub.net^",
|
||||
"||cp.as.com^",
|
||||
"||cp.inside-digital.de^",
|
||||
"||download.amd.com/OneTrust^",
|
||||
"||driftingchef.com/static/*/Sticky2,ConsentManager",
|
||||
"||emp.bbci.co.uk^",
|
||||
"||eu.fastcmp.com^",
|
||||
"||forum.vorondesign.com/js/xf/notice.min.js^",
|
||||
"||gdpr-tcfv2.sp-prod.net^",
|
||||
"||get.optad360.io/sf/*/plugin.min.js",
|
||||
"||ilims.de/typo3conf/ext/nb_cookie_banner^",
|
||||
"||itkadmin.de/_javascripts/cookiesolution/es_cookie_solution_sources_v2.js^",
|
||||
"||js.vxcdn.com/usercentrics-sdk^",
|
||||
"||lensois.com/wp-admin/admin-ajax.php",
|
||||
"||media.bzcompany.cz/scookies^",
|
||||
"||myprivacy-static.dpgmedia.net/consent.js^",
|
||||
"||myprivacy.dpgmedia.*/consent^",
|
||||
"||optanon.blob.core.windows.net^",
|
||||
"||privacy.wetransfer.com/fides.js^",
|
||||
"||prod.widgets.burgerprofiel.vlaanderen.be/*/js.cookie.js^",
|
||||
"||redditstatic.com/onetrust.*.js",
|
||||
"||s.nitropay.com/gpp-*.min.js",
|
||||
"||s.p7s1.io/cmp^",
|
||||
"||sdk.privacy-center.org^",
|
||||
"||static.fastcmp.com^",
|
||||
"||transcend-cdn.com^",
|
||||
"||wcpstatic.microsoft.com^",
|
||||
"||webtools.europa.eu/js/webtools.cck.js^",
|
||||
"||widgets.marketcat.net^"
|
||||
],
|
||||
"tokens": {
|
||||
"backdrops": [
|
||||
".cc-policy-overlay",
|
||||
@ -13997,5 +14008,5 @@
|
||||
"ytm-consent-bump-v2-renderer"
|
||||
]
|
||||
},
|
||||
"version": "1728300083309"
|
||||
"version": "1729252494919"
|
||||
}
|
||||
|
@ -12,6 +12,9 @@ import v4ReportRoutes from 'routes/v4/report';
|
||||
import v5DataRoutes from 'routes/v5/data';
|
||||
import v5IssuesRoutes from 'routes/v5/issues';
|
||||
import v5ReportRoutes from 'routes/v5/report';
|
||||
import v6DataRoutes from 'routes/v6/data';
|
||||
import v6IssuesRoutes from 'routes/v6/issues';
|
||||
import v6ReportRoutes from 'routes/v6/report';
|
||||
import environment from 'services/environment';
|
||||
|
||||
const server = fastify({ logger: true });
|
||||
@ -39,6 +42,9 @@ server.register(v4ReportRoutes, { prefix: '/rest/v4' });
|
||||
server.register(v5DataRoutes, { prefix: '/rest/v5' });
|
||||
server.register(v5IssuesRoutes, { prefix: '/rest/v5' });
|
||||
server.register(v5ReportRoutes, { prefix: '/rest/v5' });
|
||||
server.register(v6DataRoutes, { prefix: '/rest/v6' });
|
||||
server.register(v6IssuesRoutes, { prefix: '/rest/v6' });
|
||||
server.register(v6ReportRoutes, { prefix: '/rest/v6' });
|
||||
|
||||
server.listen({ host: '0.0.0.0', port: environment.port }, (error, address) => {
|
||||
if (error) {
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { FastifyInstance, RouteShorthandOptions } from 'fastify';
|
||||
import fetch from 'node-fetch';
|
||||
import { parseNewFix } from 'services/compatibility';
|
||||
import { parseAction } from 'services/compatibility';
|
||||
import environment from 'services/environment';
|
||||
import { RATE_LIMIT_10_PER_MIN } from 'services/rateLimit';
|
||||
|
||||
@ -14,17 +14,18 @@ export default (server: FastifyInstance, _options: RouteShorthandOptions, done:
|
||||
},
|
||||
async (_request, reply) => {
|
||||
try {
|
||||
const url = `${environment.gitea.raw}/database.json`;
|
||||
const result = await (await fetch(url)).json();
|
||||
const database = `${environment.gitea.raw}/database.json`;
|
||||
const response = await fetch(database);
|
||||
const { actions, exclusions, keywords, tokens } = await response.json();
|
||||
|
||||
reply.send({
|
||||
data: {
|
||||
classes: result.tokens.classes,
|
||||
commonWords: result.commonWords,
|
||||
elements: result.tokens.selectors,
|
||||
fixes: result.fixes.map(parseNewFix),
|
||||
skips: result.skips.domains,
|
||||
tags: result.skips.tags,
|
||||
classes: tokens.classes,
|
||||
commonWords: keywords,
|
||||
elements: tokens.selectors,
|
||||
fixes: actions.map(parseAction),
|
||||
skips: exclusions.overflows,
|
||||
tags: exclusions.tags,
|
||||
},
|
||||
success: true,
|
||||
});
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { FastifyInstance, RouteShorthandOptions } from 'fastify';
|
||||
import fetch from 'node-fetch';
|
||||
import { parseNewFix } from 'services/compatibility';
|
||||
import { parseAction } from 'services/compatibility';
|
||||
import environment from 'services/environment';
|
||||
import { RATE_LIMIT_3_PER_MIN } from 'services/rateLimit';
|
||||
|
||||
@ -14,13 +14,16 @@ export default (server: FastifyInstance, _options: RouteShorthandOptions, done:
|
||||
},
|
||||
async (_request, reply) => {
|
||||
try {
|
||||
const url = `${environment.gitea.raw}/database.json`;
|
||||
const result = await (await fetch(url)).json();
|
||||
const database = `${environment.gitea.raw}/database.json`;
|
||||
const response = await fetch(database);
|
||||
const { actions, exclusions, keywords, ...rest } = await response.json();
|
||||
|
||||
reply.send({
|
||||
data: {
|
||||
...result,
|
||||
fixes: result.fixes.map(parseNewFix),
|
||||
...rest,
|
||||
commonWords: keywords,
|
||||
fixes: actions.map(parseAction),
|
||||
skips: { domains: exclusions.overflows, tags: exclusions.tags },
|
||||
},
|
||||
success: true,
|
||||
});
|
||||
|
@ -1,5 +1,6 @@
|
||||
import { FastifyInstance, RouteShorthandOptions } from 'fastify';
|
||||
import fetch from 'node-fetch';
|
||||
import { parseActionName, toDeclarativeNetRequestRule } from 'services/compatibility';
|
||||
import environment from 'services/environment';
|
||||
import { RATE_LIMIT_3_PER_MIN } from 'services/rateLimit';
|
||||
|
||||
@ -13,14 +14,18 @@ export default (server: FastifyInstance, _options: RouteShorthandOptions, done:
|
||||
},
|
||||
async (_request, reply) => {
|
||||
try {
|
||||
const database = `${environment.gitea.raw}/database.json`;
|
||||
const options = { headers: { 'Cache-Control': 'no-cache' } };
|
||||
const url = `${environment.gitea.raw}/database.json`;
|
||||
const { rules, ...result } = await (await fetch(url, options)).json();
|
||||
const response = await fetch(database, options);
|
||||
const { actions, exclusions, keywords, rules, ...rest } = await response.json();
|
||||
|
||||
reply.send({
|
||||
data: {
|
||||
...result,
|
||||
...rest,
|
||||
actions: actions.map(parseActionName),
|
||||
commonWords: keywords,
|
||||
rules: rules.map(toDeclarativeNetRequestRule),
|
||||
skips: { domains: exclusions.overflows, tags: exclusions.tags },
|
||||
},
|
||||
success: true,
|
||||
});
|
||||
@ -35,17 +40,3 @@ export default (server: FastifyInstance, _options: RouteShorthandOptions, done:
|
||||
|
||||
done();
|
||||
};
|
||||
|
||||
function toDeclarativeNetRequestRule(urlFilter: string, index: number) {
|
||||
return {
|
||||
action: {
|
||||
type: 'block',
|
||||
},
|
||||
condition: {
|
||||
resourceTypes: ['font', 'image', 'media', 'object', 'script', 'stylesheet', 'xmlhttprequest'],
|
||||
urlFilter,
|
||||
},
|
||||
id: index + 1,
|
||||
priority: 1,
|
||||
};
|
||||
}
|
||||
|
39
packages/api/src/routes/v6/data.ts
Normal file
39
packages/api/src/routes/v6/data.ts
Normal file
@ -0,0 +1,39 @@
|
||||
import { FastifyInstance, RouteShorthandOptions } from 'fastify';
|
||||
import fetch from 'node-fetch';
|
||||
import { toDeclarativeNetRequestRule } from 'services/compatibility';
|
||||
import environment from 'services/environment';
|
||||
import { RATE_LIMIT_3_PER_MIN } from 'services/rateLimit';
|
||||
|
||||
export default (server: FastifyInstance, _options: RouteShorthandOptions, done: () => void) => {
|
||||
server.get(
|
||||
'/data/',
|
||||
{
|
||||
config: {
|
||||
rateLimit: RATE_LIMIT_3_PER_MIN,
|
||||
},
|
||||
},
|
||||
async (_request, reply) => {
|
||||
try {
|
||||
const database = `${environment.gitea.raw}/database.json`;
|
||||
const options = { headers: { 'Cache-Control': 'no-cache' } };
|
||||
const response = await fetch(database, options);
|
||||
const { rules, ...rest } = await response.json();
|
||||
|
||||
reply.send({
|
||||
data: {
|
||||
...rest,
|
||||
rules: rules.map(toDeclarativeNetRequestRule),
|
||||
},
|
||||
success: true,
|
||||
});
|
||||
} catch (error) {
|
||||
reply.send({
|
||||
errors: [error.message],
|
||||
success: false,
|
||||
});
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
done();
|
||||
};
|
1
packages/api/src/routes/v6/issues.ts
Normal file
1
packages/api/src/routes/v6/issues.ts
Normal file
@ -0,0 +1 @@
|
||||
export { default as default } from '../v5/issues';
|
1
packages/api/src/routes/v6/report.ts
Normal file
1
packages/api/src/routes/v6/report.ts
Normal file
@ -0,0 +1 @@
|
||||
export { default as default } from '../v5/report';
|
@ -1,13 +1,32 @@
|
||||
/**
|
||||
* Parse the new fix object into the old string format used by older versions of the extension
|
||||
*/
|
||||
export function parseNewFix(fix: Fix): string {
|
||||
return `${fix.domain}##${fix.selector}##${fix.action}${fix.property ? `##${fix.property}` : ''}`;
|
||||
export function parseAction(action: Action): string {
|
||||
return `${action.domain}##${action.selector}##${action.name}${action.property ? `##${action.property}` : ''}`;
|
||||
}
|
||||
|
||||
export interface Fix {
|
||||
readonly action: string;
|
||||
export function parseActionName(
|
||||
action: Action
|
||||
): Omit<Action, 'name'> & { readonly action: string } {
|
||||
const { name, ...rest } = action;
|
||||
|
||||
return { action: name, ...rest };
|
||||
}
|
||||
|
||||
export function toDeclarativeNetRequestRule(urlFilter: string, index: number) {
|
||||
return {
|
||||
action: {
|
||||
type: 'block',
|
||||
},
|
||||
condition: {
|
||||
resourceTypes: ['font', 'image', 'media', 'object', 'script', 'stylesheet', 'xmlhttprequest'],
|
||||
urlFilter,
|
||||
},
|
||||
id: index + 1,
|
||||
priority: 1,
|
||||
};
|
||||
}
|
||||
|
||||
export interface Action {
|
||||
readonly domain: string;
|
||||
readonly name: string;
|
||||
readonly property?: string;
|
||||
readonly selector: string;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user