When visiting a domain that has domain settings specified, the background of the URL text box is green.
diff --git a/app/src/main/assets/de/guide_domain_settings_light.html b/app/src/main/assets/de/guide_domain_settings_light.html
index a110bc34..cc28c0fe 100644
--- a/app/src/main/assets/de/guide_domain_settings_light.html
+++ b/app/src/main/assets/de/guide_domain_settings_light.html
@@ -30,7 +30,7 @@
However, some websites legitimately need these features enabled to function correctly.
Domain settings can automatically turn on a specified set of features when visiting a designated domain.
-
+
When visiting a domain that has domain settings specified, the background of the URL text box is green.
When a URL is loaded, it typically makes a number of resource requests for CCS, JavaScript, image, and other files. Details about these requests can be viewed in the Requests activity.
+ The navigation drawer has a link to the Requests activity and also shows how many requests were blocked. Tapping on a request displays details about why it was allowed or blocked.
+
+
+
+
Privacy Browser includes four blocklists based on the Adblock syntax:
+ EasyList, EasyPrivacy, Fanboyâs Annoyance List, and Fanboyâs Social Blocking List.
+ These blocklists are processed by Privacy Browser into the following 22 sublists, which check resource requests in the order listed.
+
+
+
Main Whitelist
+
Final Whitelist
+
Domain Whitelist
+
Domain Initial Whitelist
+
Domain Final Whitelist
+
Third-Party Whitelist
+
Third-Party Domain Whitelist
+
Third-Party Domain Initial Whitelist
+
Main Blacklist
+
Initial Blacklist
+
Final Blacklist
+
Domain Blacklist
+
Domain Initial Blacklist
+
Domain Final Blacklist
+
Domain Regular Expression Blacklist
+
Third-Party Blacklist
+
Third-Party Initial Blacklist
+
Third-Party Domain Blacklist
+
Third-Party Domain Initial Blacklist
+
Third-Party Regular Expression Blacklist
+
Third-Party Domain Regular Expression Blacklist
+
Regular Expression Blacklist
+
+
+
Initial lists check against the beginning of the URL. Final lists check against the end of the URL. Domain lists only check against certain domains.
+ Third-party lists only apply if the root domain of the request is different than the root domain of the main URL.
+ Regular expression lists follow the regular expression syntax. Each sublist item has one or more entry.
+ In the case of domain sublists, the resource request is only checked against the item if the first entry matches the domain of the main URL.
+
+
Because of limitations in Androidâs WebView, and to speed up processing of requests, Privacy Browser implements a simplified interpretation of the Adblock syntax.
+ This can sometimes lead to false positives, where resources are allowed or blocked in ways that werenât intended by the original entry.
+ A more detailed description of how the blocklist entries are processed is available at stoutner.com.
+
+
Privacy Browser has a fifth blocklist that blocks all third-party requests. A request is only considered third-party if the base domain of the request is different than the base domain of the URL.
+ For example, if www.website.com loads a picture from images.website.com,
+ this is not blocked as a third-party request because they both share the same base domain of website.com.
+ Blocking all third-party requests increases privacy, but this blocklist is disabled by default because it breaks a large number of websites.
+
+
\ No newline at end of file
diff --git a/app/src/main/assets/de/guide_requests_light.html b/app/src/main/assets/de/guide_requests_light.html
new file mode 100644
index 00000000..322e31e5
--- /dev/null
+++ b/app/src/main/assets/de/guide_requests_light.html
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+
+
+
+
Resource Requests
+
+
When a URL is loaded, it typically makes a number of resource requests for CCS, JavaScript, image, and other files. Details about these requests can be viewed in the Requests activity.
+ The navigation drawer has a link to the Requests activity and also shows how many requests were blocked. Tapping on a request displays details about why it was allowed or blocked.
+
+
+
+
Privacy Browser includes four blocklists based on the Adblock syntax:
+ EasyList, EasyPrivacy, Fanboyâs Annoyance List, and Fanboyâs Social Blocking List.
+ These blocklists are processed by Privacy Browser into the following 22 sublists, which check resource requests in the order listed.
+
+
+
Main Whitelist
+
Final Whitelist
+
Domain Whitelist
+
Domain Initial Whitelist
+
Domain Final Whitelist
+
Third-Party Whitelist
+
Third-Party Domain Whitelist
+
Third-Party Domain Initial Whitelist
+
Main Blacklist
+
Initial Blacklist
+
Final Blacklist
+
Domain Blacklist
+
Domain Initial Blacklist
+
Domain Final Blacklist
+
Domain Regular Expression Blacklist
+
Third-Party Blacklist
+
Third-Party Initial Blacklist
+
Third-Party Domain Blacklist
+
Third-Party Domain Initial Blacklist
+
Third-Party Regular Expression Blacklist
+
Third-Party Domain Regular Expression Blacklist
+
Regular Expression Blacklist
+
+
+
Initial lists check against the beginning of the URL. Final lists check against the end of the URL. Domain lists only check against certain domains.
+ Third-party lists only apply if the root domain of the request is different than the root domain of the main URL.
+ Regular expression lists follow the regular expression syntax. Each sublist item has one or more entry.
+ In the case of domain sublists, the resource request is only checked against the item if the first entry matches the domain of the main URL.
+
+
Because of limitations in Androidâs WebView, and to speed up processing of requests, Privacy Browser implements a simplified interpretation of the Adblock syntax.
+ This can sometimes lead to false positives, where resources are allowed or blocked in ways that werenât intended by the original entry.
+ A more detailed description of how the blocklist entries are processed is available at stoutner.com.
+
+
Privacy Browser has a fifth blocklist that blocks all third-party requests. A request is only considered third-party if the base domain of the request is different than the base domain of the URL.
+ For example, if www.website.com loads a picture from images.website.com,
+ this is not blocked as a third-party request because they both share the same base domain of website.com.
+ Blocking all third-party requests increases privacy, but this blocklist is disabled by default because it breaks a large number of websites.
+
+
\ No newline at end of file
diff --git a/app/src/main/assets/de/guide_user_agent_dark.html b/app/src/main/assets/de/guide_user_agent_dark.html
index 52c4b80d..9132be93 100644
--- a/app/src/main/assets/de/guide_user_agent_dark.html
+++ b/app/src/main/assets/de/guide_user_agent_dark.html
@@ -28,35 +28,32 @@
Browser-Identifikation
-
Wenn Internetbrowser sich mit Websites verbinden senden sie einen sog. User Agent, welcher den Browser und die
- Rendering-Möglichkeiten an die Website kommuniziert. Die Website kann diese Informationen nutzen, um zu entscheiden, welche Version der Website
- an den Browser übermittelt werden soll. Viele Websites haben beispielsweise verschiedene Versionen für Desktopcomputer
- mobile Browser.
+
When web browsers connect to websites, they send a user agent, which identifies the browser and the rendering capabilities it possesses.
+ The web server can use this information to decide which version of the website to send to the browser.
+ For example, many websites have different versions for desktop and mobile browsers.
-
Privacy Browser nutzt standardmäÃig den auf dem Gerät in WebView integrierten User Agent.
- Sie können nachsehen, welcher es ist, wenn Sie in die Einstellungen gehen und den User Agent auf WebView-Standard stellen.
- Der Screenshot unten zeigt ein Nexus 6P mit Android 7.1.2 und installiertem Android System WebView 60.0.3112.107.
+
By default, Privacy Browser uses its own user agent, which is PrivacyBrowser/1.0. This sends a minimum of information to the web server.
+ Because web servers do not recognize this to be a mobile user agent, they typically display the desktop version of the site.
-
+
By comparison, WebViewâs default user agent divulges a large amount of information about the hardware and software of the device.
+ On the Settings screen, selecting WebView Default as the User agent displays the user agent that will be sent.
+ The screenshot below shows a Pixel 2 XL running Android 8.1.0 with Android System WebView 67.0.3396.87 installed.
+ Most web servers will recognize this as a mobile browser and will display the mobile version of the site if they have one.
-
Im User Agent sind genügend Informationen, sodass manchmal nur einige wenige Besucher einer Website denselben haben. Wenn der User Agent
- mit einem anderen Teil von nicht-einmaligen Identifizierungsinformationen kombiniert wird, resultiert das oft in einem einmaligen "Fingerabdruck".
- Die Electronic Frontier Foundation hat ein Tool namens Panopticlick erstellt,
- um zu demonstrieren, wie viele Informationen aus diesen Quellen bezogen werden können. Wenn dieser Test mit aktiviertem Javascript ausgeführt wird
- wächst die Anzahl an Sammelband Informationen drastisch.
+
-
+
There is enough information in the user agent that sometimes only a few visitors to a website will be the same.
+ If the user agent is combined with another piece of non-unique identifying information, often it results in a unique fingerprint.
+ The Electronic Frontier Foundation created a tool called Panopticlick to demonstrate how much information can be gleaned from these sources.
+ If this test is run with JavaScript enabled the amount of information that is disclosed increases greatly.
+ Browser Leaks and Am I Unique are also good sources of information on this topic.
-
Privacy Browser erlaubt Ihnen den User Agent zu ändern. Es gibt einige vorgegebenen Optionen, die auf übliche Browser und Betriebssysteme zutreffen.
- Privacy Browser hat auÃerdem seinen eigenen User Agent, welcher ganz einfach PrivacyBrowser/1.0 ist. Beim Tracking gilt: Alles was selten ist, ist einfacher
- zu verfolgen. Wenn Privacy Browser bekannter wird und mehr Leute PrivacyBrowser/1.0 als User Agent nutzen wird es eine gute Wahl für Privatsphäre darstellen.
- Momentan ermöglicht das Wählen von etwas, das viele Klicks auf dem Server hat, wie Edge 13 auf Windows 10, das Untertauchen in der
- Menge der Nutzer. Firefox oder Chrome bieten weniger Privatsphäre, da sie automatisch aktualisiert werden und ihre Versionsnummer so schnell wechselt, sodass
- die in Privacy Browser eingepflegte Version wahrscheinlich schnell überholt wird und so oft aus der auf Server Logs auftauchenden Menge heraussticht.
+
-
Ein zweiter Grund für das Ãndern des User Agents ist das Ãberzeugen des Servers, dass er die Desktopversion der Website anzeigen soll, welche oftmals
- besser auf modernen Smartphones läuft als die mobile Seite. Für diesen Zweck funktioniert PrivacyBrowser/1.0 sehr gut, da Webserver für gewöhnlich
- die Desktopversion als Standardversion anzeigen, wenn sie keinen mobilen Browser als User Agent erhalten.
+
There are several preset user agents that match common browsers and operating systems. For browser fingerprinting purposes, anything that is rare is easier to track.
+ If Privacy Browser becomes common and many people use PrivacyBrowser/1.0 as their user agent, it will be a good choice for privacy.
+ Firefox or Chrome are the most common user agents, but they auto-update and their version numbers change so quickly that it is likely the user agents included in Privacy Browser
+ will often be out of step with the majority of user agents in the server logs.
Some websites do not function correctly if they do not recognize the user agent.
Using domain settings to set the user agent to WebView Default, or another user agent that is commonly recognized, usually resolves the problem.
diff --git a/app/src/main/assets/de/guide_user_agent_light.html b/app/src/main/assets/de/guide_user_agent_light.html
index 9b9cfec9..2415a100 100644
--- a/app/src/main/assets/de/guide_user_agent_light.html
+++ b/app/src/main/assets/de/guide_user_agent_light.html
@@ -28,35 +28,32 @@
Browser-Identifikation
-
Wenn Internetbrowser sich mit Websites verbinden senden sie einen sog. User Agent, welcher den Browser und die
- Rendering-Möglichkeiten an die Website kommuniziert. Die Website kann diese Informationen nutzen, um zu entscheiden, welche Version der Website
- an den Browser übermittelt werden soll. Viele Websites haben beispielsweise verschiedene Versionen für Desktopcomputer
- mobile Browser.
+
When web browsers connect to websites, they send a user agent, which identifies the browser and the rendering capabilities it possesses.
+ The web server can use this information to decide which version of the website to send to the browser.
+ For example, many websites have different versions for desktop and mobile browsers.
-
Privacy Browser nutzt standardmäÃig den auf dem Gerät in WebView integrierten User Agent.
- Sie können nachsehen, welcher es ist, wenn Sie in die Einstellungen gehen und den User Agent auf WebView-Standard stellen.
- Der Screenshot unten zeigt ein Nexus 6P mit Android 7.1.2 und installiertem Android System WebView 60.0.3112.107.
+
By default, Privacy Browser uses its own user agent, which is PrivacyBrowser/1.0. This sends a minimum of information to the web server.
+ Because web servers do not recognize this to be a mobile user agent, they typically display the desktop version of the site.
-
+
By comparison, WebViewâs default user agent divulges a large amount of information about the hardware and software of the device.
+ On the Settings screen, selecting WebView Default as the User agent displays the user agent that will be sent.
+ The screenshot below shows a Pixel 2 XL running Android 8.1.0 with Android System WebView 67.0.3396.87 installed.
+ Most web servers will recognize this as a mobile browser and will display the mobile version of the site if they have one.
-
Im User Agent sind genügend Informationen, sodass manchmal nur einige wenige Besucher einer Website denselben haben. Wenn der User Agent
- mit einem anderen Teil von nicht-einmaligen Identifizierungsinformationen kombiniert wird, resultiert das oft in einem einmaligen "Fingerabdruck".
- Die Electronic Frontier Foundation hat ein Tool namens Panopticlick erstellt,
- um zu demonstrieren, wie viele Informationen aus diesen Quellen bezogen werden können. Wenn dieser Test mit aktiviertem Javascript ausgeführt wird
- wächst die Anzahl an Sammelband Informationen drastisch.
+
-
+
There is enough information in the user agent that sometimes only a few visitors to a website will be the same.
+ If the user agent is combined with another piece of non-unique identifying information, often it results in a unique fingerprint.
+ The Electronic Frontier Foundation created a tool called Panopticlick to demonstrate how much information can be gleaned from these sources.
+ If this test is run with JavaScript enabled the amount of information that is disclosed increases greatly.
+ Browser Leaks and Am I Unique are also good sources of information on this topic.
-
Privacy Browser erlaubt Ihnen den User Agent zu ändern. Es gibt einige vorgegebenen Optionen, die auf übliche Browser und Betriebssysteme zutreffen.
- Privacy Browser hat auÃerdem seinen eigenen User Agent, welcher ganz einfach PrivacyBrowser/1.0 ist. Beim Tracking gilt: Alles was selten ist, ist einfacher
- zu verfolgen. Wenn Privacy Browser bekannter wird und mehr Leute PrivacyBrowser/1.0 als User Agent nutzen wird es eine gute Wahl für Privatsphäre darstellen.
- Momentan ermöglicht das Wählen von etwas, das viele Klicks auf dem Server hat, wie Edge 13 auf Windows 10, das Untertauchen in der
- Menge der Nutzer. Firefox oder Chrome bieten weniger Privatsphäre, da sie automatisch aktualisiert werden und ihre Versionsnummer so schnell wechselt, sodass
- die in Privacy Browser eingepflegte Version wahrscheinlich schnell überholt wird und so oft aus der auf Server Logs auftauchenden Menge heraussticht.
+
-
Ein zweiter Grund für das Ãndern des User Agents ist das Ãberzeugen des Servers, dass er die Desktopversion der Website anzeigen soll, welche oftmals
- besser auf modernen Smartphones läuft als die mobile Seite. Für diesen Zweck funktioniert PrivacyBrowser/1.0 sehr gut, da Webserver für gewöhnlich
- die Desktopversion als Standardversion anzeigen, wenn sie keinen mobilen Browser als User Agent erhalten.
+
There are several preset user agents that match common browsers and operating systems. For browser fingerprinting purposes, anything that is rare is easier to track.
+ If Privacy Browser becomes common and many people use PrivacyBrowser/1.0 as their user agent, it will be a good choice for privacy.
+ Firefox or Chrome are the most common user agents, but they auto-update and their version numbers change so quickly that it is likely the user agents included in Privacy Browser
+ will often be out of step with the majority of user agents in the server logs.
Some websites do not function correctly if they do not recognize the user agent.
Using domain settings to set the user agent to WebView Default, or another user agent that is commonly recognized, usually resolves the problem.
diff --git a/app/src/main/assets/de/images/domain_settings.png b/app/src/main/assets/de/images/domain_settings.png
index c4fe96db158696be4e803c6029dfe1e9a66cead0..67a4122a955754d4cd59c423d5bcc6571ea61b32 100644
GIT binary patch
literal 137724
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