mirror of
https://github.com/kkapsner/CanvasBlocker
synced 2025-01-03 10:31:54 +01:00
parent
fa3111a3ea
commit
f5699a1bf3
2
.vscode/settings.json
vendored
2
.vscode/settings.json
vendored
@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
"cSpell.words": [
|
"cSpell.words": [
|
||||||
|
"Benachrichtigungsdetails",
|
||||||
"Blockiermodi",
|
"Blockiermodi",
|
||||||
"Blockiermodus",
|
"Blockiermodus",
|
||||||
"Captcha",
|
"Captcha",
|
||||||
@ -25,6 +26,7 @@
|
|||||||
"onloaded",
|
"onloaded",
|
||||||
"prefs",
|
"prefs",
|
||||||
"promisify",
|
"promisify",
|
||||||
|
"ruleset",
|
||||||
"spodermenpls",
|
"spodermenpls",
|
||||||
"unticking",
|
"unticking",
|
||||||
"webgl",
|
"webgl",
|
||||||
|
@ -7,7 +7,6 @@
|
|||||||
"message": "Verändert einige JS-APIs um Fingerprinting zu verhindern.",
|
"message": "Verändert einige JS-APIs um Fingerprinting zu verhindern.",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"browserAction_title_default": {
|
"browserAction_title_default": {
|
||||||
"message": "CanvasBlocker",
|
"message": "CanvasBlocker",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -24,7 +23,6 @@
|
|||||||
"message": "\n \u00B7 {api}",
|
"message": "\n \u00B7 {api}",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"more": {
|
"more": {
|
||||||
"message": "mehr",
|
"message": "mehr",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -41,17 +39,14 @@
|
|||||||
"message": "Suchen",
|
"message": "Suchen",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"input": {
|
"input": {
|
||||||
"message": "Eingabe",
|
"message": "Eingabe",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"readout": {
|
"readout": {
|
||||||
"message": "Auslese",
|
"message": "Auslese",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"options": {
|
"options": {
|
||||||
"message": "Einstellungen",
|
"message": "Einstellungen",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -68,7 +63,7 @@
|
|||||||
"message": "CanvasBlocker wurde aktualisiert. Wenn Sie diese Seite in Zukunft erreichen wollen und noch kein Lesezeichen erstellt haben, erstellen Sie bitte eines.",
|
"message": "CanvasBlocker wurde aktualisiert. Wenn Sie diese Seite in Zukunft erreichen wollen und noch kein Lesezeichen erstellt haben, erstellen Sie bitte eines.",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
"dontShowOptionsOnUpdate":{
|
"dontShowOptionsOnUpdate": {
|
||||||
"message": "Bei Aktualisierung nicht wieder anzeigen.",
|
"message": "Bei Aktualisierung nicht wieder anzeigen.",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
@ -76,7 +71,6 @@
|
|||||||
"message": "In separatem Tab öffnen",
|
"message": "In separatem Tab öffnen",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"section_asking": {
|
"section_asking": {
|
||||||
"message": "Nachfragen",
|
"message": "Nachfragen",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -101,27 +95,26 @@
|
|||||||
"message": "Einstellungen",
|
"message": "Einstellungen",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
"section_canvas-api":{
|
"section_canvas-api": {
|
||||||
"message": "Canvas API",
|
"message": "Canvas API",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
"section_audio-api":{
|
"section_audio-api": {
|
||||||
"message": "Audio API",
|
"message": "Audio API",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
"section_history-api":{
|
"section_history-api": {
|
||||||
"message": "History API",
|
"message": "History API",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
"section_window-api":{
|
"section_window-api": {
|
||||||
"message": "Window API",
|
"message": "Window API",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
"section_DOMRect-api":{
|
"section_DOMRect-api": {
|
||||||
"message": "DOMRect API",
|
"message": "DOMRect API",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"displayAdvancedSettings_title": {
|
"displayAdvancedSettings_title": {
|
||||||
"message": "Expertenmodus",
|
"message": "Expertenmodus",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -130,7 +123,6 @@
|
|||||||
"message": "Zeigt weitere Einstellungsmöglichkeiten an.",
|
"message": "Zeigt weitere Einstellungsmöglichkeiten an.",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"displayDescriptions_title": {
|
"displayDescriptions_title": {
|
||||||
"message": "Beschreibungen anzeigen",
|
"message": "Beschreibungen anzeigen",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -139,12 +131,10 @@
|
|||||||
"message": "Zeigt die Beschreibungen der Einstellungen an.",
|
"message": "Zeigt die Beschreibungen der Einstellungen an.",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"hideSetting": {
|
"hideSetting": {
|
||||||
"message": "Hier klicken, um diese Einstellung zu verbergen.",
|
"message": "Hier klicken, um diese Einstellung zu verbergen.",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"displayHiddenSettings_title": {
|
"displayHiddenSettings_title": {
|
||||||
"message": "Versteckte Einstellungen anzeigen",
|
"message": "Versteckte Einstellungen anzeigen",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -153,7 +143,6 @@
|
|||||||
"message": "Aktivieren, um versteckte Einstellungen anzuzeigen.",
|
"message": "Aktivieren, um versteckte Einstellungen anzuzeigen.",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"askForInvisiblePermission": {
|
"askForInvisiblePermission": {
|
||||||
"message": "Wollen Sie unsichtbare <canvas> erlauben?",
|
"message": "Wollen Sie unsichtbare <canvas> erlauben?",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -258,36 +247,34 @@
|
|||||||
"message": "kombiniert",
|
"message": "kombiniert",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
"askDenyMode_title":{
|
"askDenyMode_title": {
|
||||||
"message": "Nachfrageverweigerungsmodus",
|
"message": "Nachfrageverweigerungsmodus",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
"askDenyMode_description":{
|
"askDenyMode_description": {
|
||||||
"message": "Welcher Modus soll gewählt werden, wenn die Erlaubnis verweigert wird.",
|
"message": "Welcher Modus soll gewählt werden, wenn die Erlaubnis verweigert wird.",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
"askDenyMode_options.block":{
|
"askDenyMode_options.block": {
|
||||||
"message": "blockieren",
|
"message": "blockieren",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
"askDenyMode_options.fake":{
|
"askDenyMode_options.fake": {
|
||||||
"message": "vortäuschen",
|
"message": "vortäuschen",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
"showCanvasWhileAsking_title": {
|
||||||
"showCanvasWhileAsking_title":{
|
|
||||||
"message": "Canvas-Inhalt anzeigen",
|
"message": "Canvas-Inhalt anzeigen",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
"showCanvasWhileAsking_description":{
|
"showCanvasWhileAsking_description": {
|
||||||
"message": "Wenn möglich wird der Inhalt des Canvas angezeigt, bei dem um Erlaubnis gefragt wird.",
|
"message": "Wenn möglich wird der Inhalt des Canvas angezeigt, bei dem um Erlaubnis gefragt wird.",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
"showCanvasWhileAsking_message":{
|
"showCanvasWhileAsking_message": {
|
||||||
"message": "Die Webseite will den Inhalt des folgenden Canvas auslesen:",
|
"message": "Die Webseite will den Inhalt des folgenden Canvas auslesen:",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"blackList_description": {
|
"blackList_description": {
|
||||||
"message": "Domains oder URLs, die die APIs unter keinerlei Umständen nutzen dürfen. Mehrere Einträge müssen durch ein Komma getrennt werden.",
|
"message": "Domains oder URLs, die die APIs unter keinerlei Umständen nutzen dürfen. Mehrere Einträge müssen durch ein Komma getrennt werden.",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -296,7 +283,6 @@
|
|||||||
"message": "Blacklist",
|
"message": "Blacklist",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"blockMode_description": {
|
"blockMode_description": {
|
||||||
"message": "",
|
"message": "",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -345,7 +331,6 @@
|
|||||||
"message": "Blockiermodus",
|
"message": "Blockiermodus",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"urlSettings_title": {
|
"urlSettings_title": {
|
||||||
"message": "Seitenspezifische Werte",
|
"message": "Seitenspezifische Werte",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -354,12 +339,10 @@
|
|||||||
"message": "",
|
"message": "",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"inputURL": {
|
"inputURL": {
|
||||||
"message": "Domain oder URL \"RegExp\" eingeben:",
|
"message": "Domain oder URL \"RegExp\" eingeben:",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"minFakeSize_description": {
|
"minFakeSize_description": {
|
||||||
"message": "Canvas, die eine kleiner oder gleich große Fläche als die hier angegebene Zahl haben, werden nicht vorgetäuscht. Dies ist ein Parameter, der die Detektion des Addons erschweren soll.\nACHTUNG: Dies verringert die Sicherheit des Addons. Deswegen wird stark empfohlen, diesen Wert nicht über 100 zu setzen.",
|
"message": "Canvas, die eine kleiner oder gleich große Fläche als die hier angegebene Zahl haben, werden nicht vorgetäuscht. Dies ist ein Parameter, der die Detektion des Addons erschweren soll.\nACHTUNG: Dies verringert die Sicherheit des Addons. Deswegen wird stark empfohlen, diesen Wert nicht über 100 zu setzen.",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -368,7 +351,6 @@
|
|||||||
"message": "Minimale Vortäuschgröße",
|
"message": "Minimale Vortäuschgröße",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"maxFakeSize_description": {
|
"maxFakeSize_description": {
|
||||||
"message": "Canvas, die eine größere Fläche als die hier angegebene Zahl haben, werden nicht vorgetäuscht. (Null eingeben, um es zu deaktivieren.) Dies ist ein Leistungsparameter, der das Einfrieren des Browsers verringern kann und der an die Rechenleistung des Gerätes angepasst sein soll.\nACHTUNG: Dies verringert die Sicherheit des Addons. Deswegen wird stark empfohlen, diesen Wert nicht unter 1 000 000 zu setzen.",
|
"message": "Canvas, die eine größere Fläche als die hier angegebene Zahl haben, werden nicht vorgetäuscht. (Null eingeben, um es zu deaktivieren.) Dies ist ein Leistungsparameter, der das Einfrieren des Browsers verringern kann und der an die Rechenleistung des Gerätes angepasst sein soll.\nACHTUNG: Dies verringert die Sicherheit des Addons. Deswegen wird stark empfohlen, diesen Wert nicht unter 1 000 000 zu setzen.",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -377,7 +359,6 @@
|
|||||||
"message": "Maximale Vortäuschgröße",
|
"message": "Maximale Vortäuschgröße",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"rng_description": {
|
"rng_description": {
|
||||||
"message": "nichts (komplett weiß): es wird immer ein weißes Bild zurückgegeben. Hierbei sollte die Option \"Alpha-Kanal auch vortäuschen\" aktiviert werden. ACHTUNG: Nicht im Modus \"Bei Ausgabe vortäuschen\" verwenden.\n\nnicht persistent: die Zufallszahlen werden bei jeder Vortäuschaktion neu bestimmt.\n\nkonstant: innerhalb einer Webseite wird eine Farbe immer gleich verändert.\n\npersistent: für jede Domain werden die Zufallszahlen nur einmal bestimmt.",
|
"message": "nichts (komplett weiß): es wird immer ein weißes Bild zurückgegeben. Hierbei sollte die Option \"Alpha-Kanal auch vortäuschen\" aktiviert werden. ACHTUNG: Nicht im Modus \"Bei Ausgabe vortäuschen\" verwenden.\n\nnicht persistent: die Zufallszahlen werden bei jeder Vortäuschaktion neu bestimmt.\n\nkonstant: innerhalb einer Webseite wird eine Farbe immer gleich verändert.\n\npersistent: für jede Domain werden die Zufallszahlen nur einmal bestimmt.",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -402,7 +383,6 @@
|
|||||||
"message": "Zufallszahlengenerator",
|
"message": "Zufallszahlengenerator",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"persistentRndStorage_title": {
|
"persistentRndStorage_title": {
|
||||||
"message": "Persistenter Speicher",
|
"message": "Persistenter Speicher",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -411,7 +391,6 @@
|
|||||||
"message": "Speichert die Informationen für den persistenten Zufallszahlengenerator über einen Neustart hinweg.",
|
"message": "Speichert die Informationen für den persistenten Zufallszahlengenerator über einen Neustart hinweg.",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"storePersistentRnd_title": {
|
"storePersistentRnd_title": {
|
||||||
"message": "Persistente Daten speichern",
|
"message": "Persistente Daten speichern",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -420,7 +399,6 @@
|
|||||||
"message": "Ob Daten für den persistenten Zufallszahlengenerator gespeichert werden sollen. Ansonsten werden die Daten beim Beenden des Browsers verworfen.",
|
"message": "Ob Daten für den persistenten Zufallszahlengenerator gespeichert werden sollen. Ansonsten werden die Daten beim Beenden des Browsers verworfen.",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"persistentRndClearInterval_title": {
|
"persistentRndClearInterval_title": {
|
||||||
"message": "Löschintervall der persistenten Daten",
|
"message": "Löschintervall der persistenten Daten",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -457,7 +435,6 @@
|
|||||||
"message": "Jahre",
|
"message": "Jahre",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"clearPersistentRnd_title": {
|
"clearPersistentRnd_title": {
|
||||||
"message": "Persistenten Speicher leeren",
|
"message": "Persistenten Speicher leeren",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -470,7 +447,6 @@
|
|||||||
"message": "Leeren",
|
"message": "Leeren",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"ignoreFrequentColors_title": {
|
"ignoreFrequentColors_title": {
|
||||||
"message": "Ignoriere die häufigsten Farben",
|
"message": "Ignoriere die häufigsten Farben",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -479,7 +455,6 @@
|
|||||||
"message": "Anzahl der Farben, die pro Canvas nicht vorgetäuscht werden sollen. Dies ist ein Parameter, der die Detektion des Addons erschweren soll.\nACHTUNG: Dies kann die Geschwindigkeit des Addons beeinträchtigen, da für jedes Bild die Farbstatistik berechnet werden muss. Außerdem kann es die Sicherheit des Addons verringern, wenn der Wert zu hoch gestellt wird. Deswegen wird stark empfohlen, diesen Wert nicht über 3 zu setzen.",
|
"message": "Anzahl der Farben, die pro Canvas nicht vorgetäuscht werden sollen. Dies ist ein Parameter, der die Detektion des Addons erschweren soll.\nACHTUNG: Dies kann die Geschwindigkeit des Addons beeinträchtigen, da für jedes Bild die Farbstatistik berechnet werden muss. Außerdem kann es die Sicherheit des Addons verringern, wenn der Wert zu hoch gestellt wird. Deswegen wird stark empfohlen, diesen Wert nicht über 3 zu setzen.",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"minColors_title": {
|
"minColors_title": {
|
||||||
"message": "Minimale Anzahl an Farben",
|
"message": "Minimale Anzahl an Farben",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -488,7 +463,6 @@
|
|||||||
"message": "Anzahl der Farben, die ein Canvas aufweisen muss, damit es vorgetäuscht wird. Dies ist ein Parameter, der die Detektion des Addons erschweren soll.\nACHTUNG: Dies kann die Sicherheit des Addons beeinträchtigen. Deswegen wird stark empfohlen, diesen Wert nicht über 10 zu setzen.",
|
"message": "Anzahl der Farben, die ein Canvas aufweisen muss, damit es vorgetäuscht wird. Dies ist ein Parameter, der die Detektion des Addons erschweren soll.\nACHTUNG: Dies kann die Sicherheit des Addons beeinträchtigen. Deswegen wird stark empfohlen, diesen Wert nicht über 10 zu setzen.",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"fakeAlphaChannel_title": {
|
"fakeAlphaChannel_title": {
|
||||||
"message": "Alpha-Kanal auch vortäuschen",
|
"message": "Alpha-Kanal auch vortäuschen",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -497,7 +471,6 @@
|
|||||||
"message": "Aktiviert das Vortäuschen des Alpha-Kanals (Transparenz).",
|
"message": "Aktiviert das Vortäuschen des Alpha-Kanals (Transparenz).",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"useCanvasCache_title": {
|
"useCanvasCache_title": {
|
||||||
"message": "Zwischenspeicher für Canvas verwenden",
|
"message": "Zwischenspeicher für Canvas verwenden",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -506,7 +479,6 @@
|
|||||||
"message": "Aktiviert den Canvas-Zwischenspeicher. Dies kann die Detektion des Addons verhindern und kann die Geschwindigkeit des Addons erhöhen, wenn kleine Canvas oft ausgelesen werden. Für große Canvas wird die Geschwindigkeit leider reduziert.",
|
"message": "Aktiviert den Canvas-Zwischenspeicher. Dies kann die Detektion des Addons verhindern und kann die Geschwindigkeit des Addons erhöhen, wenn kleine Canvas oft ausgelesen werden. Für große Canvas wird die Geschwindigkeit leider reduziert.",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"protectedAPIFeatures_title": {
|
"protectedAPIFeatures_title": {
|
||||||
"message": "Geschützte API-Funktionen",
|
"message": "Geschützte API-Funktionen",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -515,7 +487,6 @@
|
|||||||
"message": "Liste der geschützten Funktionen der APIs. Wenn eine der Boxen demarkiert wird, wird dieser Teil der API nicht geschützt.",
|
"message": "Liste der geschützten Funktionen der APIs. Wenn eine der Boxen demarkiert wird, wird dieser Teil der API nicht geschützt.",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"disableNotifications": {
|
"disableNotifications": {
|
||||||
"message": "Benachrichtigungen deaktivieren",
|
"message": "Benachrichtigungen deaktivieren",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -540,7 +511,6 @@
|
|||||||
"message": "Dateispezifische Whitelist verwenden",
|
"message": "Dateispezifische Whitelist verwenden",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"preBlock": {
|
"preBlock": {
|
||||||
"message": "API auf {url} blockiert, weil die CanvasBlocker-Einstellungen nicht rechtzeitig geladen wurden.",
|
"message": "API auf {url} blockiert, weil die CanvasBlocker-Einstellungen nicht rechtzeitig geladen wurden.",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -573,7 +543,6 @@
|
|||||||
"message": "Bei Ausgabe vorgetäuscht auf {url}",
|
"message": "Bei Ausgabe vorgetäuscht auf {url}",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"ignoreList_description": {
|
"ignoreList_description": {
|
||||||
"message": "Domains oder URLs, bei denen keine Benachrichtigungen angezeigt werden sollen. Mehrere Einträge müssen durch ein Komma getrennt werden.",
|
"message": "Domains oder URLs, bei denen keine Benachrichtigungen angezeigt werden sollen. Mehrere Einträge müssen durch ein Komma getrennt werden.",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -582,7 +551,6 @@
|
|||||||
"message": "Ignorierliste",
|
"message": "Ignorierliste",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"ignoredAPIs_title": {
|
"ignoredAPIs_title": {
|
||||||
"message": "Ignorierte APIs",
|
"message": "Ignorierte APIs",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -591,7 +559,6 @@
|
|||||||
"message": "Für die ausgewählten APIs werden keinerlei Benachrichtigungen angezeigt.",
|
"message": "Für die ausgewählten APIs werden keinerlei Benachrichtigungen angezeigt.",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"ignorelistDomain": {
|
"ignorelistDomain": {
|
||||||
"message": "verschweige Domain",
|
"message": "verschweige Domain",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -780,7 +747,6 @@
|
|||||||
"message": "temporär erlauben",
|
"message": "temporär erlauben",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"sessionWhiteList_title": {
|
"sessionWhiteList_title": {
|
||||||
"message": "Sitzungs-Whitelist",
|
"message": "Sitzungs-Whitelist",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -789,7 +755,6 @@
|
|||||||
"message": "Domains oder URLs, die während der aktuellen Sitzung alle APIs nutzen dürfen. Mehrere Einträge müssen durch ein Komma getrennt werden.",
|
"message": "Domains oder URLs, die während der aktuellen Sitzung alle APIs nutzen dürfen. Mehrere Einträge müssen durch ein Komma getrennt werden.",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"whitelistDomainTemporarily": {
|
"whitelistDomainTemporarily": {
|
||||||
"message": "erlaube Domain temporär",
|
"message": "erlaube Domain temporär",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -798,7 +763,6 @@
|
|||||||
"message": "erlaube URL temporär",
|
"message": "erlaube URL temporär",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"storeNotificationData_title": {
|
"storeNotificationData_title": {
|
||||||
"message": "Details der Benachrichtigungen speichern",
|
"message": "Details der Benachrichtigungen speichern",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -807,7 +771,6 @@
|
|||||||
"message": "",
|
"message": "",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"storeImageForInspection_title": {
|
"storeImageForInspection_title": {
|
||||||
"message": "Bild für Betrachtung speichern",
|
"message": "Bild für Betrachtung speichern",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -816,7 +779,6 @@
|
|||||||
"message": "Aktiviert die Speicherung des Inhalts der vorgetäuschten Canvas.\nACHTUNG: Dies kann zu einem hohen Speicherverbrauch führen.",
|
"message": "Aktiviert die Speicherung des Inhalts der vorgetäuschten Canvas.\nACHTUNG: Dies kann zu einem hohen Speicherverbrauch führen.",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"protectAudio_title": {
|
"protectAudio_title": {
|
||||||
"message": "Audio-API beschützen",
|
"message": "Audio-API beschützen",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -925,7 +887,6 @@
|
|||||||
"message": "Die Indizes, die immer vorgetäuscht werden sollen. Mehrere Einträge müssen durch ein Komma getrennt werden.",
|
"message": "Die Indizes, die immer vorgetäuscht werden sollen. Mehrere Einträge müssen durch ein Komma getrennt werden.",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"historyLengthThreshold_title": {
|
"historyLengthThreshold_title": {
|
||||||
"message": "History-Längenschwellwert",
|
"message": "History-Längenschwellwert",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -934,7 +895,6 @@
|
|||||||
"message": "Maximale Länge der Browser-History, die der Webseite mitgeteilt wird.",
|
"message": "Maximale Länge der Browser-History, die der Webseite mitgeteilt wird.",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"protectWindow_title": {
|
"protectWindow_title": {
|
||||||
"message": "Window-API beschützen",
|
"message": "Window-API beschützen",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -951,7 +911,6 @@
|
|||||||
"message": "Wenn die Window-API beschützt wird, funktioniert reCAPTCHA nicht mehr. Wollen Sie dafür eine Ausnahme hinzufügen?",
|
"message": "Wenn die Window-API beschützt wird, funktioniert reCAPTCHA nicht mehr. Wollen Sie dafür eine Ausnahme hinzufügen?",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"protectDOMRect_title": {
|
"protectDOMRect_title": {
|
||||||
"message": "DOMRect-API beschützen",
|
"message": "DOMRect-API beschützen",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -964,7 +923,6 @@
|
|||||||
"message": "Um bestimmte Seiten von diesem Schutz auszuschließen, klicken Sie auf den schwarzen Pfeil um das Menü zu öffnen, fügen Sie die gewünschte Domain oder URL mit einem Klick auf \"+\" hinzu und entfernen Sie das zugehörige Häkchen.",
|
"message": "Um bestimmte Seiten von diesem Schutz auszuschließen, klicken Sie auf den schwarzen Pfeil um das Menü zu öffnen, fügen Sie die gewünschte Domain oder URL mit einem Klick auf \"+\" hinzu und entfernen Sie das zugehörige Häkchen.",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"domRectIntegerFactor_title": {
|
"domRectIntegerFactor_title": {
|
||||||
"message": "DOMRect-Ganzzahlfaktor",
|
"message": "DOMRect-Ganzzahlfaktor",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -973,7 +931,6 @@
|
|||||||
"message": "Ein Bruchteil eines Pixels kann durch CSS kontrolliert werden. Eigenschaften eines DOMRect, die multipliziert mit diesem Faktor eine ganze Zahl ergeben, dürfen nicht verändert werden um eine Detektion zu verhindern.",
|
"message": "Ein Bruchteil eines Pixels kann durch CSS kontrolliert werden. Eigenschaften eines DOMRect, die multipliziert mit diesem Faktor eine ganze Zahl ergeben, dürfen nicht verändert werden um eine Detektion zu verhindern.",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"theme_title": {
|
"theme_title": {
|
||||||
"message": "Theme",
|
"message": "Theme",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -994,7 +951,6 @@
|
|||||||
"message": "dunkel",
|
"message": "dunkel",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"blockDataURLs_title": {
|
"blockDataURLs_title": {
|
||||||
"message": "Data-URL Seiten blockieren",
|
"message": "Data-URL Seiten blockieren",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -1003,7 +959,6 @@
|
|||||||
"message": "Data-URL Seiten können nicht gegen Fingerprinting geschützt werden (siehe https://bugzilla.mozilla.org/show_bug.cgi?id=1475831). Indem Data-URL Seiten blockiert werden kann verhindert werden, dass der echte Fingerabdruck zu irgendeinem Server gelangt.",
|
"message": "Data-URL Seiten können nicht gegen Fingerprinting geschützt werden (siehe https://bugzilla.mozilla.org/show_bug.cgi?id=1475831). Indem Data-URL Seiten blockiert werden kann verhindert werden, dass der echte Fingerabdruck zu irgendeinem Server gelangt.",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"showReleaseNotes_title": {
|
"showReleaseNotes_title": {
|
||||||
"message": "Versionsinformationen",
|
"message": "Versionsinformationen",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -1016,7 +971,6 @@
|
|||||||
"message": "Anzeigen",
|
"message": "Anzeigen",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"logLevel_title": {
|
"logLevel_title": {
|
||||||
"message": "Aufzeichnungslevel",
|
"message": "Aufzeichnungslevel",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -1049,7 +1003,6 @@
|
|||||||
"message": "ausführlich",
|
"message": "ausführlich",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"exportSettings_title": {
|
"exportSettings_title": {
|
||||||
"message": "Einstellungen exportieren",
|
"message": "Einstellungen exportieren",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -1058,7 +1011,18 @@
|
|||||||
"message": "",
|
"message": "",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
"openSettingSanitation_title": {
|
||||||
|
"message": "Einstellungsüberprüfung",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"openSettingSanitation_description": {
|
||||||
|
"message": "",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"openSettingSanitation_label": {
|
||||||
|
"message": "Öffnen",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
"inspectSettings_label": {
|
"inspectSettings_label": {
|
||||||
"message": "Anzeigen",
|
"message": "Anzeigen",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -1071,7 +1035,6 @@
|
|||||||
"message": "Laden",
|
"message": "Laden",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"resetSettings_title": {
|
"resetSettings_title": {
|
||||||
"message": "Einstellungen zurücksetzen",
|
"message": "Einstellungen zurücksetzen",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -1088,7 +1051,6 @@
|
|||||||
"message": "Sind Sie sicher, dass Sie alle Einstellungen zurücksetzen wollen?",
|
"message": "Sind Sie sicher, dass Sie alle Einstellungen zurücksetzen wollen?",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
"browserAction_settings": {
|
"browserAction_settings": {
|
||||||
"message": "Einstellungen",
|
"message": "Einstellungen",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -1104,5 +1066,101 @@
|
|||||||
"browserAction_reportIssue": {
|
"browserAction_reportIssue": {
|
||||||
"message": "Problem melden",
|
"message": "Problem melden",
|
||||||
"description": ""
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_title": {
|
||||||
|
"message": "Einstellungsüberprüfung",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_description": {
|
||||||
|
"message": "Diese Seite hilft schlechte Konfigurationen in den Einstellungen von CanvasBlocker zu finden. Sie gibt auch Hinweise für nicht optimale Einstellungen. Es wird aber nicht empfohlen, die Vorschläge blind umzusetzen.",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_nothingToComplain": {
|
||||||
|
"message": "Keine Beschwerden.",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_ruleset.unnecessaryURLValue": {
|
||||||
|
"message": "Unnötige URL-Werte",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_ruleset.disabledFeatures": {
|
||||||
|
"message": "Deaktivierte Funktionen",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_ruleset.blockMode": {
|
||||||
|
"message": "Blockiermodus",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_ruleset.thresholds": {
|
||||||
|
"message": "Schwellwerte",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_ruleset.performance": {
|
||||||
|
"message": "Leistung",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_error.unnecessaryURLValue": {
|
||||||
|
"message": "Der URL-Wert für \"{url}\" ist identisch zur globalen Einstellung für \"{setting-title}\".",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_resolution.removeURLValue": {
|
||||||
|
"message": "URL-Wert entfernen",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_error.disabledFeatures": {
|
||||||
|
"message": "Alle Funktionen der {api} sind deaktiviert, aber der Schutz ist eingeschaltet.",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_resolution.disableMainFlag": {
|
||||||
|
"message": "Hauptschalter deaktivieren",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_resolution.enableFeatures": {
|
||||||
|
"message": "Funktionen aktivieren",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_error.badBlockMode": {
|
||||||
|
"message": "Es werden die \"vortäuschen\" und \"fragen\" Blockiermodi empfohlen.",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_resolution.switchToFakeReadout": {
|
||||||
|
"message": "zu \"Auslese vortäuschen\" wechseln",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_error.blockModeVsProtection": {
|
||||||
|
"message": "Der {api}-Schutz funktioniert nicht im Blockiermodus \"{blockMode}\".",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_resolution.disableFlag": {
|
||||||
|
"message": "deaktiviere \"{flag}\"",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_error.fakeInputWithWhiteRng": {
|
||||||
|
"message": "Der weiße Zufallszahlengenerator soll nicht mit \"{blockMode}\" verwendet werden.",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_resolution.switchToNonPersistendRng": {
|
||||||
|
"message": "wechsle zu \"nicht persistent\"",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_error.valueTooLow": {
|
||||||
|
"message": "\"{setting}\" soll nicht niedriger als {value} sein.",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_error.valueTooHigh": {
|
||||||
|
"message": "\"{setting}\" soll nicht höher als {value} sein.",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_resolution.setTo": {
|
||||||
|
"message": "auf {value} setzen",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_error.storeNotificationData": {
|
||||||
|
"message": "Die Benachrichtigungsdetails zu speichern kann zu reduzierter Leistung führen.",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_error.storeImage": {
|
||||||
|
"message": "Bilder für Betrachtung zu speichern hat einen hohen RAM Verbrauch.",
|
||||||
|
"description": ""
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1058,6 +1058,19 @@
|
|||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"openSettingSanitation_title": {
|
||||||
|
"message": "Setting sanitation",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"openSettingSanitation_description": {
|
||||||
|
"message": "",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"openSettingSanitation_label": {
|
||||||
|
"message": "Open",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
|
||||||
"inspectSettings_label": {
|
"inspectSettings_label": {
|
||||||
"message": "Inspect",
|
"message": "Inspect",
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -1103,5 +1116,102 @@
|
|||||||
"browserAction_reportIssue": {
|
"browserAction_reportIssue": {
|
||||||
"message": "Report issue",
|
"message": "Report issue",
|
||||||
"description": ""
|
"description": ""
|
||||||
|
},
|
||||||
|
|
||||||
|
"sanitation_title": {
|
||||||
|
"message": "Setting sanitation",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_description": {
|
||||||
|
"message": "This page helps to find misconfigurations in the CanvasBlocker settings. It also gives advices for suboptimal settings. But it is not recommended to blindly correct all suggestions.",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_nothingToComplain": {
|
||||||
|
"message": "Nothing to complain.",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_ruleset.unnecessaryURLValue": {
|
||||||
|
"message": "Unnecessary URL values",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_ruleset.disabledFeatures": {
|
||||||
|
"message": "Disabled features",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_ruleset.blockMode": {
|
||||||
|
"message": "Block mode",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_ruleset.thresholds": {
|
||||||
|
"message": "Thresholds",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_ruleset.performance": {
|
||||||
|
"message": "Performance",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_error.unnecessaryURLValue": {
|
||||||
|
"message": "URL value for \"{url}\" is the same as the global setting for \"{setting-title}\".",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_resolution.removeURLValue": {
|
||||||
|
"message": "remove URL value",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_error.disabledFeatures": {
|
||||||
|
"message": "All features of {api} are disabled but the protection is enabled.",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_resolution.disableMainFlag": {
|
||||||
|
"message": "disable main flag",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_resolution.enableFeatures": {
|
||||||
|
"message": "enable features",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_error.badBlockMode": {
|
||||||
|
"message": "It is recommended to use the \"fake\" or \"ask\" blocking modes.",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_resolution.switchToFakeReadout": {
|
||||||
|
"message": "switch to \"fake readout\"",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_error.blockModeVsProtection": {
|
||||||
|
"message": "With blocking mode \"{blockMode}\" the {api} protection is not working.",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_resolution.disableFlag": {
|
||||||
|
"message": "disable \"{flag}\"",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_error.fakeInputWithWhiteRng": {
|
||||||
|
"message": "Do not use white random number generator with \"{blockMode}\".",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_resolution.switchToNonPersistendRng": {
|
||||||
|
"message": "switch to \"non persistend\" rng",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_error.valueTooLow": {
|
||||||
|
"message": "\"{setting}\" should not be lower than {value}.",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_error.valueTooHigh": {
|
||||||
|
"message": "\"{setting}\" should not be higher than {value}.",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_resolution.setTo": {
|
||||||
|
"message": "set to {value}",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_error.storeNotificationData": {
|
||||||
|
"message": "Storing notification data may lead to slow performance.",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"sanitation_error.storeImage": {
|
||||||
|
"message": "Storing the image for inspection has a high RAM footprint.",
|
||||||
|
"description": ""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -29,6 +29,10 @@
|
|||||||
logging.verbose("open settings inspection");
|
logging.verbose("open settings inspection");
|
||||||
window.open("export.html", "_blank");
|
window.open("export.html", "_blank");
|
||||||
},
|
},
|
||||||
|
openSettingSanitation: function(){
|
||||||
|
logging.verbose("open settings sanitation");
|
||||||
|
window.open("sanitize.html", "_blank");
|
||||||
|
},
|
||||||
saveSettings: function(){
|
saveSettings: function(){
|
||||||
logging.verbose("save settings");
|
logging.verbose("save settings");
|
||||||
const data = {};
|
const data = {};
|
||||||
|
268
options/sanitationRules.js
Normal file
268
options/sanitationRules.js
Normal file
@ -0,0 +1,268 @@
|
|||||||
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||||
|
(function(){
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
var scope;
|
||||||
|
if ((typeof exports) !== "undefined"){
|
||||||
|
scope = exports;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
scope = {};
|
||||||
|
window.scope.sanitationRules = scope;
|
||||||
|
}
|
||||||
|
|
||||||
|
const settings = require("./settings");
|
||||||
|
|
||||||
|
scope.ruleset = [
|
||||||
|
{
|
||||||
|
name: "unnecessaryURLValue",
|
||||||
|
check: function(errorCallback){
|
||||||
|
const {url: urlContainer} = settings.getContainers();
|
||||||
|
const containerValue = urlContainer.get();
|
||||||
|
const errorMessage = browser.i18n.getMessage("sanitation_error.unnecessaryURLValue");
|
||||||
|
function createErrorMessage(setting, urlValue){
|
||||||
|
return errorMessage
|
||||||
|
.replace(/{setting-technical}/g, setting.name)
|
||||||
|
.replace(/{setting-title}/g, browser.i18n.getMessage(setting.name + "_title"))
|
||||||
|
.replace(/{url}/g, urlValue.url);
|
||||||
|
}
|
||||||
|
containerValue.forEach(function(urlValues){
|
||||||
|
Object.keys(urlValues).filter(function(key){
|
||||||
|
return key !== "url";
|
||||||
|
}).forEach(function(key){
|
||||||
|
const setting = settings.getDefinition(key);
|
||||||
|
if (setting && setting.urlSpecific){
|
||||||
|
const globalValue = setting.get();
|
||||||
|
if (urlValues[key] === globalValue){
|
||||||
|
errorCallback({
|
||||||
|
message: createErrorMessage(setting, urlValues),
|
||||||
|
severity: "low",
|
||||||
|
resolutions: [{
|
||||||
|
label: browser.i18n.getMessage("sanitation_resolution.removeURLValue"),
|
||||||
|
callback: function(){
|
||||||
|
setting.reset(urlValues.url);
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "disabledFeatures",
|
||||||
|
check: function(errorCallback){
|
||||||
|
const errorMessage = browser.i18n.getMessage("sanitation_error.disabledFeatures");
|
||||||
|
function createErrorMessage(api){
|
||||||
|
return errorMessage.replace(/{api}/g, browser.i18n.getMessage("section_" + api.section));
|
||||||
|
}
|
||||||
|
const protectedFeatures = settings.getDefinition("protectedAPIFeatures");
|
||||||
|
const protectedFeaturesValue = protectedFeatures.get();
|
||||||
|
function getSectionKeys(section){
|
||||||
|
let inSection = false;
|
||||||
|
return protectedFeatures.keys.filter(function(key){
|
||||||
|
if (typeof key === "string"){
|
||||||
|
return inSection;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (key.level === 1){
|
||||||
|
inSection = key.name === section;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
[
|
||||||
|
{mainFlag: "protectAudio", section: "Audio-API"},
|
||||||
|
{mainFlag: "protectWindow", section: "Window-API"},
|
||||||
|
{mainFlag: "protectDOMRect", section: "DOMRect-API"},
|
||||||
|
].forEach(function(api){
|
||||||
|
if (settings.get(api.mainFlag)){
|
||||||
|
let inSection = false;
|
||||||
|
let anyActive = false;
|
||||||
|
if (getSectionKeys(api.section).every(function(key){
|
||||||
|
return protectedFeaturesValue.hasOwnProperty(key) &&
|
||||||
|
!protectedFeaturesValue[key];
|
||||||
|
})){
|
||||||
|
errorCallback({
|
||||||
|
message: createErrorMessage(api),
|
||||||
|
severity: "high",
|
||||||
|
resolutions: [
|
||||||
|
{
|
||||||
|
label: browser.i18n.getMessage("sanitation_resolution.enableFeatures"),
|
||||||
|
callback: function(){
|
||||||
|
const protectedFeaturesValue = protectedFeatures.get();
|
||||||
|
getSectionKeys(api.section).forEach(function(key){
|
||||||
|
protectedFeaturesValue[key] = true;
|
||||||
|
});
|
||||||
|
protectedFeatures.set(protectedFeaturesValue);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: browser.i18n.getMessage("sanitation_resolution.disableMainFlag"),
|
||||||
|
callback: function(){
|
||||||
|
settings.set(api.mainFlag, false);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
]
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "blockMode",
|
||||||
|
check: function(errorCallback){
|
||||||
|
const switchMode = {
|
||||||
|
label: browser.i18n.getMessage("sanitation_resolution.switchToFakeReadout"),
|
||||||
|
callback: function(){
|
||||||
|
settings.blockMode = "fakeReadout";
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const blockMode = settings.blockMode;
|
||||||
|
const blockModeName = browser.i18n.getMessage("blockMode_options." + blockMode);
|
||||||
|
if (!blockMode.match("^fake|^ask")){
|
||||||
|
errorCallback({
|
||||||
|
message: browser.i18n.getMessage("sanitation_error.badBlockMode"),
|
||||||
|
severity: "medium",
|
||||||
|
resolutions: [switchMode]
|
||||||
|
});
|
||||||
|
}
|
||||||
|
["Audio", "Window", "DOMRect"].forEach(function(api){
|
||||||
|
const mainFlag = "protect" + api;
|
||||||
|
if (settings[mainFlag]){
|
||||||
|
if (["fakeInput"].indexOf(blockMode) !== -1){
|
||||||
|
const blockModeName = browser.i18n.getMessage("blockMode_options." + blockMode);
|
||||||
|
errorCallback({
|
||||||
|
message: browser.i18n.getMessage("sanitation_error.blockModeVsProtection")
|
||||||
|
.replace(/{blockMode}/g, blockModeName)
|
||||||
|
.replace(/{api}/g, browser.i18n.getMessage("section_" + api + "-api")),
|
||||||
|
severity: "high",
|
||||||
|
resolutions: [switchMode, {
|
||||||
|
label: browser.i18n.getMessage("sanitation_resolution.disableFlag")
|
||||||
|
.replace(/{flag}/g, browser.i18n.getMessage(mainFlag + "_title")),
|
||||||
|
callback: function(){
|
||||||
|
settings[mainFlag] = false;
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if (blockMode === "fakeInput" && settings.rng === "white"){
|
||||||
|
errorCallback({
|
||||||
|
message: browser.i18n.getMessage("sanitation_error.fakeInputWithWhiteRng")
|
||||||
|
.replace(/{blockMode}/g, blockModeName),
|
||||||
|
severity: "low",
|
||||||
|
resolutions: [switchMode, {
|
||||||
|
label: browser.i18n.getMessage("sanitation_resolution.switchToNonPersistendRng"),
|
||||||
|
callback: function(){
|
||||||
|
settings.rng = "nonPersistent";
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "thresholds",
|
||||||
|
check: function(errorCallback){
|
||||||
|
const setToLabel = browser.i18n.getMessage("sanitation_resolution.setTo");
|
||||||
|
const tooLowLabel = browser.i18n.getMessage("sanitation_error.valueTooLow");
|
||||||
|
const tooHighLabel = browser.i18n.getMessage("sanitation_error.valueTooHigh");
|
||||||
|
if (settings.minFakeSize > 1e2){
|
||||||
|
errorCallback({
|
||||||
|
message: tooHighLabel
|
||||||
|
.replace(/{setting}/g, browser.i18n.getMessage("minFakeSize_title"))
|
||||||
|
.replace(/{value}/g, "100"),
|
||||||
|
severity: "high",
|
||||||
|
resolutions: [{
|
||||||
|
label: setToLabel.replace(/{value}/g, "100"),
|
||||||
|
callback: function(){
|
||||||
|
settings.minFakeSize = 1e2;
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (settings.maxFakeSize !== 0 && settings.maxFakeSize < 1e6){
|
||||||
|
errorCallback({
|
||||||
|
message: tooLowLabel
|
||||||
|
.replace(/{setting}/g, browser.i18n.getMessage("maxFakeSize_title"))
|
||||||
|
.replace(/{value}/g, "1 000 000"),
|
||||||
|
severity: "high",
|
||||||
|
resolutions: [{
|
||||||
|
label: setToLabel.replace(/{value}/g, "1 000 000"),
|
||||||
|
callback: function(){
|
||||||
|
settings.maxFakeSize = 1e6;
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (settings.ignoreFrequentColors > 3){
|
||||||
|
errorCallback({
|
||||||
|
message: tooHighLabel
|
||||||
|
.replace(/{setting}/g, browser.i18n.getMessage("ignoreFrequentColors_title"))
|
||||||
|
.replace(/{value}/g, "3"),
|
||||||
|
severity: "high",
|
||||||
|
resolutions: [{
|
||||||
|
label: setToLabel.replace(/{value}/g, "3"),
|
||||||
|
callback: function(){
|
||||||
|
settings.ignoreFrequentColors = 3;
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (settings.minColors > 10){
|
||||||
|
errorCallback({
|
||||||
|
message: tooHighLabel
|
||||||
|
.replace(/{setting}/g, browser.i18n.getMessage("minColors_title"))
|
||||||
|
.replace(/{value}/g, "10"),
|
||||||
|
severity: "high",
|
||||||
|
resolutions: [{
|
||||||
|
label: setToLabel.replace(/{value}/g, "10"),
|
||||||
|
callback: function(){
|
||||||
|
settings.ignoreFrequentColors = 10;
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "performance",
|
||||||
|
check: function(errorCallback){
|
||||||
|
const disableLabel = browser.i18n.getMessage("sanitation_resolution.disableFlag");
|
||||||
|
if (settings.storeNotificationData){
|
||||||
|
errorCallback({
|
||||||
|
message: browser.i18n.getMessage("sanitation_error.storeNotificationData"),
|
||||||
|
severity: "low",
|
||||||
|
resolutions: [{
|
||||||
|
label: disableLabel
|
||||||
|
.replace(/{flag}/g, browser.i18n.getMessage("storeNotificationData_title")),
|
||||||
|
callback: function(){
|
||||||
|
settings.storeNotificationData = false;
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
});
|
||||||
|
if (settings.storeImageForInspection){
|
||||||
|
errorCallback({
|
||||||
|
message: browser.i18n.getMessage("sanitation_error.storeImage"),
|
||||||
|
severity: "low",
|
||||||
|
resolutions: [{
|
||||||
|
label: disableLabel
|
||||||
|
.replace(/{flag}/g, browser.i18n.getMessage("storeImageForInspection_title")),
|
||||||
|
callback: function(){
|
||||||
|
settings.storeImageForInspection = false;
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
];
|
||||||
|
}());
|
15
options/sanitize.css
Normal file
15
options/sanitize.css
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
.resolutions {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.complaint.high {
|
||||||
|
background-color: red;
|
||||||
|
}
|
||||||
|
|
||||||
|
.complaint.medium {
|
||||||
|
background-color: orange;
|
||||||
|
}
|
||||||
|
|
||||||
|
.complaint.low {
|
||||||
|
background-color: yellow;
|
||||||
|
}
|
17
options/sanitize.html
Normal file
17
options/sanitize.html
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>CanvasBlocker Settings Sanitation</title>
|
||||||
|
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
||||||
|
<link rel="stylesheet" type="text/css" media="screen" href="sanitize.css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<script src="../lib/require.js"></script>
|
||||||
|
<script src="../lib/logging.js"></script>
|
||||||
|
<script src="../lib/settingDefinitions.js"></script>
|
||||||
|
<script src="../lib/settingContainers.js"></script>
|
||||||
|
<script src="../lib/settings.js"></script>
|
||||||
|
<script src="sanitationRules.js"></script>
|
||||||
|
<script src="sanitize.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
59
options/sanitize.js
Normal file
59
options/sanitize.js
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||||
|
(function(){
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
const settings = require("./settings");
|
||||||
|
|
||||||
|
var title = document.createElement("h1");
|
||||||
|
title.className = "title";
|
||||||
|
title.textContent = browser.i18n.getMessage("sanitation_title");
|
||||||
|
document.body.appendChild(title);
|
||||||
|
|
||||||
|
var description = document.createElement("div");
|
||||||
|
description.className = "description";
|
||||||
|
description.textContent = browser.i18n.getMessage("sanitation_description");
|
||||||
|
document.body.appendChild(description);
|
||||||
|
|
||||||
|
settings.onloaded(function(){
|
||||||
|
const list = document.createElement("ul");
|
||||||
|
const sanitationRules = require("./sanitationRules");
|
||||||
|
sanitationRules.ruleset.forEach(function(ruleset){
|
||||||
|
const rulesetContainer = document.createElement("li");
|
||||||
|
rulesetContainer.textContent = browser.i18n.getMessage("sanitation_ruleset." + ruleset.name);
|
||||||
|
|
||||||
|
const rulesetErrors = document.createElement("ul");
|
||||||
|
let anyComplaint = false;
|
||||||
|
ruleset.check(function({message, severity, resolutions}){
|
||||||
|
anyComplaint = true;
|
||||||
|
const li = document.createElement("li");
|
||||||
|
li.className = "complaint " + severity;
|
||||||
|
li.textContent = message;
|
||||||
|
|
||||||
|
const buttons = document.createElement("span");
|
||||||
|
buttons.className = "resolutions";
|
||||||
|
resolutions.forEach(function(resolution){
|
||||||
|
const button = document.createElement("button");
|
||||||
|
button.textContent = resolution.label;
|
||||||
|
button.addEventListener("click", function(){
|
||||||
|
resolution.callback();
|
||||||
|
window.location.reload();
|
||||||
|
});
|
||||||
|
buttons.appendChild(button);
|
||||||
|
});
|
||||||
|
li.appendChild(buttons);
|
||||||
|
rulesetErrors.appendChild(li);
|
||||||
|
});
|
||||||
|
if (!anyComplaint){
|
||||||
|
const noComplaints = document.createElement("li");
|
||||||
|
noComplaints.className = "noComplaints";
|
||||||
|
noComplaints.textContent = browser.i18n.getMessage("sanitation_nothingToComplain");
|
||||||
|
rulesetErrors.appendChild(noComplaints);
|
||||||
|
}
|
||||||
|
rulesetContainer.appendChild(rulesetErrors);
|
||||||
|
list.appendChild(rulesetContainer);
|
||||||
|
});
|
||||||
|
document.body.appendChild(list);
|
||||||
|
});
|
||||||
|
}());
|
@ -483,6 +483,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"settings",
|
"settings",
|
||||||
|
{
|
||||||
|
"name": "openSettingSanitation"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "exportSettings",
|
"name": "exportSettings",
|
||||||
"actions": ["inspectSettings", "saveSettings", "loadSettings"]
|
"actions": ["inspectSettings", "saveSettings", "loadSettings"]
|
||||||
|
@ -3,7 +3,7 @@ Version 0.5.5:
|
|||||||
- DOMRect uses double cache (value and complete DOMRect)
|
- DOMRect uses double cache (value and complete DOMRect)
|
||||||
|
|
||||||
new features:
|
new features:
|
||||||
-
|
- added settings sanitation page
|
||||||
|
|
||||||
fixes:
|
fixes:
|
||||||
- Google images did not work for some users
|
- Google images did not work for some users
|
||||||
|
Loading…
x
Reference in New Issue
Block a user