From 31bc3240197f48784ae4d8f31c629fd9da0db132 Mon Sep 17 00:00:00 2001 From: kkapsner Date: Sat, 27 Apr 2019 22:37:25 +0200 Subject: [PATCH] Added option to protect no part of the canvas API --- _locales/de/messages.json | 6 +++++- _locales/en/messages.json | 6 +++++- lib/modifiedCanvasAPI.js | 5 +++++ lib/settingDefinitions.js | 2 +- releaseNotes.txt | 1 + 5 files changed, 17 insertions(+), 3 deletions(-) diff --git a/_locales/de/messages.json b/_locales/de/messages.json index 1d5648c..ec3b7a5 100644 --- a/_locales/de/messages.json +++ b/_locales/de/messages.json @@ -344,13 +344,17 @@ "description": "" }, "protectedCanvasPart_description": { - "message": "Auslese: die Auslese-Funktionen der Canvas-API werden beschützt.\n\nEingabe: die Ausgabe-Funktionen der Canvas-API werden beschützt. Mit dem Blockiermodus \"vortäuschen\" werden bei der Darstellung von Text die beschriebenen Pixel leicht verändert. Dies erschwert die Detektion des Add-ons, ist aber weniger sicher. Bei WebGL-Canvas ist das Verhalten identisch zu \"Auslese\".\n\nAlles: sowohl Auslese- als auch Eingabe-Funktionen werden beschützt. Es wird empfohlen diese nicht mit dem Blockiermodus \"vortäuschen\" zu verwenden, da es die Wahrscheinlichkeit erhöht detektiert zu werden.", + "message": "Nichts: keinerlei Funktionen der Canvas-API werden beschützt.\n\nAuslese: die Auslese-Funktionen der Canvas-API werden beschützt.\n\nEingabe: die Ausgabe-Funktionen der Canvas-API werden beschützt. Mit dem Blockiermodus \"vortäuschen\" werden bei der Darstellung von Text die beschriebenen Pixel leicht verändert. Dies erschwert die Detektion des Add-ons, ist aber weniger sicher. Bei WebGL-Canvas ist das Verhalten identisch zu \"Auslese\".\n\nAlles: sowohl Auslese- als auch Eingabe-Funktionen werden beschützt. Es wird empfohlen diese nicht mit dem Blockiermodus \"vortäuschen\" zu verwenden, da es die Wahrscheinlichkeit erhöht detektiert zu werden.", "description": "" }, "protectedCanvasPart_urlSpecific": { "message": "Um individuell Teile für bestimmte Webseiten zu schützen, 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 wählen Sie den gewünschten Teil.", "description": "" }, + "protectedCanvasPart_options.nothing": { + "message": "Nichts", + "description": "" + }, "protectedCanvasPart_options.input": { "message": "Eingabe", "description": "" diff --git a/_locales/en/messages.json b/_locales/en/messages.json index 336c84e..4ec10e9 100644 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -359,13 +359,17 @@ "description": "" }, "protectedCanvasPart_description": { - "message": "readout: the readout features of the canvas API are protected.\n\ninput: the input features of the canvas API are protected. With blocking mode \"fake\" the drawn pixels get modified slightly when displaying text. This makes the detection of the add-on harder but is less secure. With WebGL canvases the behaviour is identical to \"readout\".\n\neverything: both the readout and input features are protected. It's not recommended to use this with \"fake\" block mode as it increases the probability to be detected.", + "message": "nothing: no features of the canvas API are protected.\n\nreadout: the readout features of the canvas API are protected.\n\ninput: the input features of the canvas API are protected. With blocking mode \"fake\" the drawn pixels get modified slightly when displaying text. This makes the detection of the add-on harder but is less secure. With WebGL canvases the behaviour is identical to \"readout\".\n\neverything: both the readout and input features are protected. It's not recommended to use this with \"fake\" block mode as it increases the probability to be detected.", "description": "" }, "protectedCanvasPart_urlSpecific": { "message": "To protect individual parts for specific websites, click on the black arrow to open the menu, add the domain or URL by clicking on \"+\" and select the desired part.", "description": "" }, + "protectedCanvasPart_options.nothing": { + "message": "nothing", + "description": "" + }, "protectedCanvasPart_options.input": { "message": "input", "description": "" diff --git a/lib/modifiedCanvasAPI.js b/lib/modifiedCanvasAPI.js index fef1128..9afa860 100644 --- a/lib/modifiedCanvasAPI.js +++ b/lib/modifiedCanvasAPI.js @@ -166,6 +166,11 @@ return true; }; } + else if (protectedPart === "nothing"){ + return function(){ + return false; + }; + } else { return function(parts){ if (Array.isArray(parts)){ diff --git a/lib/settingDefinitions.js b/lib/settingDefinitions.js index 7203301..6d7cdcb 100644 --- a/lib/settingDefinitions.js +++ b/lib/settingDefinitions.js @@ -70,7 +70,7 @@ defaultValue: "readout", urlSpecific: true, options: [ - "readout", "input", "everything" + "nothing", "readout", "input", "everything" ] }, { diff --git a/releaseNotes.txt b/releaseNotes.txt index 964a1f1..349b705 100644 --- a/releaseNotes.txt +++ b/releaseNotes.txt @@ -8,6 +8,7 @@ Version 0.5.9: - added support to import older storage versions - protection for data URLs can now be url specific - changed input of lists to textarea + - added option to protect no part of the canvas API fixes: - search could show hidden settings