]> gitweb.stoutner.com Git - PrivacyBrowserAndroid.git/commitdiff
Update the filter list documentation. master
authorSoren Stoutner <soren@stoutner.com>
Tue, 3 Mar 2026 02:36:17 +0000 (19:36 -0700)
committerSoren Stoutner <soren@stoutner.com>
Tue, 3 Mar 2026 02:36:17 +0000 (19:36 -0700)
43 files changed:
app/src/main/assets/css/theme.css
app/src/main/assets/de/about_changelog.html
app/src/main/assets/de/about_licenses.html
app/src/main/assets/de/guide_requests.html
app/src/main/assets/en/about_changelog.html
app/src/main/assets/en/about_licenses.html
app/src/main/assets/en/guide_requests.html
app/src/main/assets/en/images/filter_list_entry.png [new file with mode: 0644]
app/src/main/assets/en/images/request_details.png
app/src/main/assets/es/about_changelog.html
app/src/main/assets/es/about_licenses.html
app/src/main/assets/es/guide_requests.html
app/src/main/assets/fr/about_changelog.html
app/src/main/assets/fr/about_licenses.html
app/src/main/assets/fr/guide_requests.html
app/src/main/assets/it/about_changelog.html
app/src/main/assets/it/about_licenses.html
app/src/main/assets/it/guide_requests.html
app/src/main/assets/pt-rBR/about_changelog.html
app/src/main/assets/pt-rBR/about_licenses.html
app/src/main/assets/pt-rBR/guide_requests.html
app/src/main/assets/pt-rBR/images/request_details.png
app/src/main/assets/ru/about_changelog.html
app/src/main/assets/ru/about_licenses.html
app/src/main/assets/ru/guide_requests.html
app/src/main/assets/tr/about_changelog.html
app/src/main/assets/tr/about_licenses.html
app/src/main/assets/tr/guide_requests.html
app/src/main/assets/tr/images/request_details.png
app/src/main/assets/zh-rCN/about_changelog.html
app/src/main/assets/zh-rCN/about_licenses.html
app/src/main/assets/zh-rCN/guide_requests.html
app/src/main/assets/zh-rCN/images/request_details.png
app/src/main/java/com/stoutner/privacybrowser/coroutines/PopulateFilterListsCoroutine.kt
app/src/main/java/com/stoutner/privacybrowser/helpers/ProxyHelper.kt
app/src/main/res/values-de/strings.xml
app/src/main/res/values-es/strings.xml
app/src/main/res/values-fr/strings.xml
app/src/main/res/values-it/strings.xml
app/src/main/res/values-pt-rBR/strings.xml
app/src/main/res/values-ru/strings.xml
app/src/main/res/values-tr/strings.xml
app/src/main/res/values-zh-rCN/strings.xml

index cd650b38c138fb9bbc2e893826a42f191784fe20..759451900ccea2605c731c56e8a2247b920e45d0 100644 (file)
@@ -1,5 +1,5 @@
 /* SPDX-License-Identifier: GPL-3.0-or-later
- * SPDX-FileCopyrightText: 2017-2020, 2022 Soren Stoutner <soren@stoutner.com>
+ * SPDX-FileCopyrightText: 2017-2020, 2022, 2026 Soren Stoutner <soren@stoutner.com>
  *
  * This file is part of Privacy Browser Android <https://www.stoutner.com/privacy-browser-android/>.
  *
@@ -173,3 +173,12 @@ img.center216 {
   height: 780;
   width: 360;
 }
+
+/* Centered screenshot images with a 2.22 aspect ratio.  An image must be a block to be centered. */
+img.center222 {
+  display: block;
+  margin-left: auto;
+  margin-right: auto;
+  height: 800;
+  width: 360;
+}
index 8af3b710d06286fcbcf9f448ab0e8451156fc207..a17d41a04f2ad63e3840c64506c77b15a9293d06 100644 (file)
@@ -1,10 +1,10 @@
 <!--
   SPDX-License-Identifier: GPL-3.0-or-later
-  SPDX-FileCopyrightText: 2016-2025 Soren Stoutner <soren@stoutner.com>
+  SPDX-FileCopyrightText: 2016-2026 Soren Stoutner <soren@stoutner.com>
 
-  Translation 2016 Aaron Gerlach <aaron@gerlach.com>.  Copyright assigned to Soren Stoutner <soren@stoutner.com>.
-  Translation 2018 Stefan Erhardt.  Copyright assigned to Soren Stoutner <soren@stoutner.com>.
   Translation 2019-2025 Bernhard G. Keller.  Copyright assigned to Soren Stoutner <soren@stoutner.com>.
+  Translation 2018 Stefan Erhardt.  Copyright assigned to Soren Stoutner <soren@stoutner.com>.
+  Translation 2016 Aaron Gerlach <aaron@gerlach.com>.  Copyright assigned to Soren Stoutner <soren@stoutner.com>.
 
   This file is part of Privacy Browser Android <https://www.stoutner.com/privacy-browser-android/>.
 
     </head>
 
     <body>
+        <h3><a href="https://www.stoutner.com/privacy-browser-android-3-20">3.20</a> (Code-Version 80)</h3>
+        <p>12. März 2026 - Mindest-API 26, Ziel-API 36</p>
+        <ul>
+            <li>Refactor the <a href="https://redmine.stoutner.com/issues/1207">filter list</a> system.</li>
+            <li>Consider <a href="https://redmine.stoutner.com/issues/481">different subdomains</a> to be third-party requests.</li>
+            <li>Clear the cache <a href="https://redmine.stoutner.com/issues/1275">after every page load</a>.</li>
+            <li>Fix the <a href="https://redmine.stoutner.com/issues/1288">navigation bar not hiding</a> in full screen browsing mode on Android 10 (API <= 29).</li>
+            <li>Fix the status bar <a href="https://redmine.stoutner.com/issues/1286">drawing over the contents</a> of the bookmarks database view.</li>
+            <li>Fix images loading on restart <a href="https://redmine.stoutner.com/issues/1274">even when disabled</a>.</li>
+            <li>Remove the <a href="https://redmine.stoutner.com/issues/1253">open file as an MHT web archive</a> checkbox on Android 16 (API >= 35).</li>
+            <li>Bump the <a href="https://redmine.stoutner.com/issues/1283">target API to 36</a> (Android 16).</li>
+            <li>Aktualisierte deutsche Übersetzung von Bernhard G. Keller.</li>
+        </ul>
+
         <h3><a href="https://www.stoutner.com/privacy-browser-android-3-19-3">3.19.3</a> (Code-Version 79)</h3>
         <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=492ce8c35dc72821d2cc814fc730d09c3fef46d4;ds=sidebyside">31. Januar 2025</a> - Mindest-API 26, Ziel-API 35</p>
         <ul>
index ea3529f5284d9f7923ad9d3cb14e470603a2fc46..cf0bb8f1dc5be191f96b1a16373d9bc7bdffb6d4 100644 (file)
         <p>Privacy Browser ist veröffentlicht unter der <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+ Lizenz</a>. The full text of the license is below.
             The source code is available from <a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=summary">gitweb.stoutner.com</a>.</p>
 
-        <h3>Filter Lists</h3>
-        <p><a href="https://easylist.to/easylist/easylist.txt">EasyList</a> and <a href="https://easylist.to/easylist/easyprivacy.txt">EasyPrivacy</a>
-            are <a href="https://easylist.to/pages/licence.html">dual licensed</a> under the <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a>
-            and the <a href="https://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution-ShareAlike 3.0+ Unported</a> licenses.
-            Privacy Browser incorporates them using the GPLv3+ option.</p>
-
-        <p><a href="https://easylist.to/easylist/fanboy-annoyance.txt">Fanboy’s Annoyance List</a> and <a href="https://easylist.to/easylist/fanboy-social.txt">Fanboy’s Social Blocking List</a>
-            are released under the <a href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0 Unported license</a>,
-            which is <a href="https://www.gnu.org/licenses/license-list.en.html#ccby">compatible with the GPLv3+</a>. The lists are included unchanged in Privacy Browser.</p>
+        <h3>Filter Lists:</h3>
+        <p><a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultraprivacy/">UltraPrivacy</a> and <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultralist/">UltraList</a>
+            are developed by Stoutner. They are released under the <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a>.</p>
+
+        <p><a href="https://easylist.to/easylist/easylist.txt">EasyList</a> and <a href="https://easylist.to/easylist/easyprivacy.txt">EasyPrivacy</a> are
+            <a href="https://easylist.to/pages/licence.html">dual licensed</a> under the <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a> or the
+            <a href="https://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution-ShareAlike 3.0+ Unported</a> licenses. Privacy Browser incorporates them using the GPLv3+ option.</p>
+
+        <p><a href="https://easylist.to/easylist/fanboy-annoyance.txt">Fanboy’s Annoyance List</a> is released under the
+            <a href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0 Unported license</a>,
+            which is <a href="https://www.gnu.org/licenses/license-list.en.html#ccby">compatible with the GPLv3+</a>. This list is included unchanged in Privacy Browser.</p>
 
         <p>More information about the filter lists can be found on the <a href="https://easylist.to/">EasyList website</a>.</p>
 
index c6f8e7e7b550247ecf7435976586d50f94d37cc2..018a3dcff2200de6f465acffc866cd3b96390bce 100644 (file)
@@ -1,6 +1,6 @@
 <!--
   SPDX-License-Identifier: GPL-3.0-or-later
-  SPDX-FileCopyrightText: 2018-2020, 2022-2023, 2025 Soren Stoutner <soren@stoutner.com>
+  SPDX-FileCopyrightText: 2018-2020, 2022-2023, 2025-2026 Soren Stoutner <soren@stoutner.com>
 
   Translation 2019 Bernhard G. Keller.  Copyright assigned to Soren Stoutner <soren@stoutner.com>.
 
             In dieser Ansicht wird auch dargestellt, wie viele (und welche) Anfragen geblockt wurden.
             Durch Antippen der betreffenden Anfragen können weitere Details dazu angezeigt werden, die zeigen, warum die Anfrage erlaubt oder blockiert wurde.</p>
 
-        <img class="center" src="images/request_details.png" alt="Requests"/>
+        <img class="center222" src="images/request_details.png" alt="Request Details"/>
 
-        <p>Privacy Browser includes four <a href="https://easylist.to/">common filter lists</a> based on the <a href="https://adblockplus.org/filters">Adblock syntax</a>:
-            EasyList, EasyPrivacy, Fanboy’s Annoyance List, and Fanboy’s Social Blocking List.
-            These filter lists are processed by Privacy Browser into the following 22 sublists, which check resource requests in the order listed.</p>
+        <p>Before a web page loads a resource, it is checked against the filter lists that are enabled in the following order:</p>
+
+        <ol>
+            <li>Block All Third-Party Requests</li>
+            <li>UltraPrivacy</li>
+            <li>UltraList</li>
+            <li>EasyPrivacy</li>
+            <li>EasyList</li>
+            <li>Fanboy’s Annoyance List</li>
+        </ol>
+
+        <p>All of these lists except for the first are based on the <a href="https://adblockplus.org/filters">Adblock syntax</a>.
+            <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultraprivacy/">UltraPrivacy</a> and <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultralist/">UltraList</a>
+            are maintained by Stoutner. The last three filter lists come from the <a href="https://easylist.to/">EasyList project</a>.</p>
+
+        <p>The raw entries from the filter lists are processed into 6 sublists.</p>
 
         <ol>
             <li>Main Allow List</li>
-            <li>Final Allow List</li>
-            <li>Domain Allow List</li>
-            <li>Domain Initial Allow List</li>
-            <li>Domain Final Allow List</li>
-            <li>Third-Party Allow List</li>
-            <li>Third-Party Domain Allow List</li>
-            <li>Third-Party Domain Initial Allow List</li>
+            <li>Initial Domain Allow List</li>
+            <li>Regular Expression Allow List</li>
             <li>Main Block List</li>
-            <li>Initial Block List</li>
-            <li>Final Block List</li>
-            <li>Domain Block List</li>
-            <li>Domain Initial Block List</li>
-            <li>Domain Final Block List</li>
-            <li>Domain Regular Expression Block List</li>
-            <li>Third-Party Block List</li>
-            <li>Third-Party Initial Block List</li>
-            <li>Third-Party Domain Block List</li>
-            <li>Third-Party Domain Initial Block List</li>
-            <li>Third-Party Regular Expression Block List</li>
-            <li>Third-Party Domain Regular Expression Block List</li>
+            <li>Initial Domain Block List</li>
             <li>Regular Expression Block List</li>
         </ol>
 
-        <p>Listen mit "(URL-Anfang)" prüfen gegen den Anfang einer URL, solche mit "(URL-Ende)" gegen das Ende der URL. Domänen-Listen prüfen gegen bestimmte Domains.
-            Drittanbieter-Listen greifen nur, wenn die Domain der Anfrage eine andere ist als die Domain der aufgerufenen URL.
-            Listen mit regulären Ausdrücken folgen der <a href="https://de.wikipedia.org/wiki/Reguläre_Ausdrücke">Syntax für reguläre Ausdrücke</a>. Jede Unter-Liste hat dabei einen oder mehrere Einträge.
-            Bei Domänen-Unterlisten werden die Ressourcen-Zugriffe nur dann überprüft, wenn der erste Eintrag der Domain der aufgerufenen URL entspricht.</p>
+        <p>Initial domain lists check against the beginning of the domain. These are very common and placing them in their own sublist allows for more CPU-efficient checking of resource requests.
+            Regular expression lists follow the <a href="https://en.wikipedia.org/wiki/Regular_expression">regular expression syntax</a>.</p>
 
-        <p>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 filter list entries are processed is available at <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/">stoutner.com</a>.</p>
+        <p>The contents of the filter lists may be viewed by selecting <code>Filter Lists</code> from the options overflow menu (three dots in the upper-right corner) of the Requests activity.</p>
 
-        <p>Privacy Browser has three additional filter lists.
-            <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultralist/">UltraList</a> and
-            <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultraprivacy/">UltraPrivacy</a>
-            filters ads and trackers that EasyList and EasyPrivacy do not. The third 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 <code>www.website.com</code> loads a picture from <code>images.website.com</code>,
-            this is not blocked as a third-party request because they both share the same base domain of <code>website.com</code>.
-            Blocking all third-party requests increases privacy, but this filter list is disabled by default because it breaks a large number of websites.</p>
+        <img class="center222" src="images/filter_list_entry.png" alt="Request Details"/>
+
+        <p>Because of limitations in Android’s WebView, Privacy Browser implements a simplified interpretation of the Adblock syntax.
+            A more detailed description of how the filter list entries are processed is available at <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/">stoutner.com</a>.</p>
     </body>
 </html>
index 796d5d3408632c30a853bd20772ea49c111f1892..8236f95a4abb12a2e8bc709ff2e6bbdabb9f9eb0 100644 (file)
@@ -1,6 +1,6 @@
 <!--
   SPDX-License-Identifier: GPL-3.0-or-later
-  SPDX-FileCopyrightText: 2016-2025 Soren Stoutner <soren@stoutner.com>
+  SPDX-FileCopyrightText: 2016-2026 Soren Stoutner <soren@stoutner.com>
 
   This file is part of Privacy Browser Android <https://www.stoutner.com/privacy-browser-android/>.
 
     </head>
 
     <body>
+        <h3><a href="https://www.stoutner.com/privacy-browser-android-3-20">3.20</a> (version code 80)</h3>
+        <p>12 March 2026 - minimum API 26, target API 36</p>
+        <ul>
+            <li>Refactor the <a href="https://redmine.stoutner.com/issues/1207">filter list</a> system.</li>
+            <li>Consider <a href="https://redmine.stoutner.com/issues/481">different subdomains</a> to be third-party requests.</li>
+            <li>Clear the cache <a href="https://redmine.stoutner.com/issues/1275">after every page load</a>.</li>
+            <li>Fix the <a href="https://redmine.stoutner.com/issues/1288">navigation bar not hiding</a> in full screen browsing mode on Android 10 (API <= 29).</li>
+            <li>Fix the status bar <a href="https://redmine.stoutner.com/issues/1286">drawing over the contents</a> of the bookmarks database view.</li>
+            <li>Fix images loading on restart <a href="https://redmine.stoutner.com/issues/1274">even when disabled</a>.</li>
+            <li>Remove the <a href="https://redmine.stoutner.com/issues/1253">open file as an MHT web archive</a> checkbox on Android 16 (API >= 35).</li>
+            <li>Bump the <a href="https://redmine.stoutner.com/issues/1283">target API to 36</a> (Android 16).</li>
+        </ul>
+
         <h3><a href="https://www.stoutner.com/privacy-browser-android-3-19-3">3.19.3</a> (version code 79)</h3>
         <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=492ce8c35dc72821d2cc814fc730d09c3fef46d4;ds=sidebyside">31 January 2025</a> - minimum API 26, target API 35</p>
         <ul>
index 67834750436dc16bafd4fb6d939802c4cf50aeb1..7836095389181b30b3c9c19ce8a25878d9a86e80 100644 (file)
             The source code is available from <a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=summary">gitweb.stoutner.com</a>.</p>
 
         <h3>Filter Lists</h3>
-        <p><a href="https://easylist.to/easylist/easylist.txt">EasyList</a> and <a href="https://easylist.to/easylist/easyprivacy.txt">EasyPrivacy</a>
-            are <a href="https://easylist.to/pages/licence.html">dual licensed</a> under the <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a>
-            and the <a href="https://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution-ShareAlike 3.0+ Unported</a> licenses.
-            Privacy Browser incorporates them using the GPLv3+ option.</p>
-
-        <p><a href="https://easylist.to/easylist/fanboy-annoyance.txt">Fanboy’s Annoyance List</a> and <a href="https://easylist.to/easylist/fanboy-social.txt">Fanboy’s Social Blocking List</a>
-            are released under the <a href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0 Unported license</a>,
-            which is <a href="https://www.gnu.org/licenses/license-list.en.html#ccby">compatible with the GPLv3+</a>. The lists are included unchanged in Privacy Browser.</p>
+        <p><a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultraprivacy/">UltraPrivacy</a> and <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultralist/">UltraList</a>
+            are developed by Stoutner. They are released under the <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a>.</p>
+
+        <p><a href="https://easylist.to/easylist/easylist.txt">EasyList</a> and <a href="https://easylist.to/easylist/easyprivacy.txt">EasyPrivacy</a> are
+            <a href="https://easylist.to/pages/licence.html">dual licensed</a> under the <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a> or the
+            <a href="https://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution-ShareAlike 3.0+ Unported</a> licenses. Privacy Browser incorporates them using the GPLv3+ option.</p>
+
+        <p><a href="https://easylist.to/easylist/fanboy-annoyance.txt">Fanboy’s Annoyance List</a> is released under the
+            <a href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0 Unported license</a>,
+            which is <a href="https://www.gnu.org/licenses/license-list.en.html#ccby">compatible with the GPLv3+</a>. This list is included unchanged in Privacy Browser.</p>
 
         <p>More information about the filter lists can be found on the <a href="https://easylist.to/">EasyList website</a>.</p>
 
index dc2ab3c5659975f20cdafe46a86f131323738471..f1003ce4b10a581069d3d48ce9185ffee43ed971 100644 (file)
@@ -1,6 +1,6 @@
 <!--
   SPDX-License-Identifier: GPL-3.0-or-later
-  SPDX-FileCopyrightText: 2018, 2020, 2022-2023, 2025 Soren Stoutner <soren@stoutner.com>
+  SPDX-FileCopyrightText: 2018, 2020, 2022-2023, 2025-2026 Soren Stoutner <soren@stoutner.com>
 
   This file is part of Privacy Browser Android <https://www.stoutner.com/privacy-browser-android/>.
 
         <p>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.</p>
 
-        <img class="center" src="images/request_details.png" alt="Request Details"/>
+        <img class="center222" src="images/request_details.png" alt="Request Details"/>
 
-        <p>Privacy Browser includes four <a href="https://easylist.to/">common filter lists</a> based on the <a href="https://adblockplus.org/filters">Adblock syntax</a>:
-            EasyList, EasyPrivacy, Fanboy’s Annoyance List, and Fanboy’s Social Blocking List.
-            These filter lists are processed by Privacy Browser into the following 22 sublists, which check resource requests in the order listed.</p>
+        <p>Before a web page loads a resource, it is checked against the filter lists that are enabled in the following order:</p>
+
+        <ol>
+            <li>Block All Third-Party Requests</li>
+            <li>UltraPrivacy</li>
+            <li>UltraList</li>
+            <li>EasyPrivacy</li>
+            <li>EasyList</li>
+            <li>Fanboy’s Annoyance List</li>
+        </ol>
+
+        <p>All of these lists except for the first are based on the <a href="https://adblockplus.org/filters">Adblock syntax</a>.
+            <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultraprivacy/">UltraPrivacy</a> and <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultralist/">UltraList</a>
+            are maintained by Stoutner. The last three filter lists come from the <a href="https://easylist.to/">EasyList project</a>.</p>
+
+        <p>The raw entries from the filter lists are processed into 6 sublists.</p>
 
         <ol>
             <li>Main Allow List</li>
-            <li>Final Allow List</li>
-            <li>Domain Allow List</li>
-            <li>Domain Initial Allow List</li>
-            <li>Domain Final Allow List</li>
-            <li>Third-Party Allow List</li>
-            <li>Third-Party Domain Allow List</li>
-            <li>Third-Party Domain Initial Allow List</li>
+            <li>Initial Domain Allow List</li>
+            <li>Regular Expression Allow List</li>
             <li>Main Block List</li>
-            <li>Initial Block List</li>
-            <li>Final Block List</li>
-            <li>Domain Block List</li>
-            <li>Domain Initial Block List</li>
-            <li>Domain Final Block List</li>
-            <li>Domain Regular Expression Block List</li>
-            <li>Third-Party Block List</li>
-            <li>Third-Party Initial Block List</li>
-            <li>Third-Party Domain Block List</li>
-            <li>Third-Party Domain Initial Block List</li>
-            <li>Third-Party Regular Expression Block List</li>
-            <li>Third-Party Domain Regular Expression Block List</li>
+            <li>Initial Domain Block List</li>
             <li>Regular Expression Block List</li>
         </ol>
 
-        <p>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 <a href="https://en.wikipedia.org/wiki/Regular_expression">regular expression syntax</a>. 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.</p>
+        <p>Initial domain lists check against the beginning of the domain. These are very common and placing them in their own sublist allows for more CPU-efficient checking of resource requests.
+            Regular expression lists follow the <a href="https://en.wikipedia.org/wiki/Regular_expression">regular expression syntax</a>.</p>
 
-        <p>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 filter list entries are processed is available at <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/">stoutner.com</a>.</p>
+        <p>The contents of the filter lists may be viewed by selecting <code>Filter Lists</code> from the options overflow menu (three dots in the upper-right corner) of the Requests activity.</p>
 
-        <p>Privacy Browser has three additional filter lists.
-            <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultralist/">UltraList</a> and
-            <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultraprivacy/">UltraPrivacy</a>
-            filters ads and trackers that EasyList and EasyPrivacy do not. The third 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 <code>www.website.com</code> loads a picture from <code>images.website.com</code>,
-            this is not blocked as a third-party request because they both share the same base domain of <code>website.com</code>.
-            Blocking all third-party requests increases privacy, but this filter list is disabled by default because it breaks a large number of websites.</p>
+        <img class="center222" src="images/filter_list_entry.png" alt="Request Details"/>
+
+        <p>Because of limitations in Android’s WebView, Privacy Browser implements a simplified interpretation of the Adblock syntax.
+            A more detailed description of how the filter list entries are processed is available at <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/">stoutner.com</a>.</p>
     </body>
 </html>
diff --git a/app/src/main/assets/en/images/filter_list_entry.png b/app/src/main/assets/en/images/filter_list_entry.png
new file mode 100644 (file)
index 0000000..5e8167f
Binary files /dev/null and b/app/src/main/assets/en/images/filter_list_entry.png differ
index f3265f60a23c0409ea202c6f6a5217c6f39117e2..c0aa505a7894dd00eec5bb38b5a76b4de7ca92e8 100644 (file)
Binary files a/app/src/main/assets/en/images/request_details.png and b/app/src/main/assets/en/images/request_details.png differ
index f004398b64edb3c7f2c55f617ae267fe72a53102..af702d74d479f053ebfe45a4262ae0051bdcfaf8 100644 (file)
@@ -1,6 +1,6 @@
 <!--
   SPDX-License-Identifier: GPL-3.0-or-later
-  SPDX-FileCopyrightText: 2016-2025 Soren Stoutner <soren@stoutner.com>
+  SPDX-FileCopyrightText: 2016-2026 Soren Stoutner <soren@stoutner.com>
 
   Translation 2017-2025 Jose A. León.  Copyright assigned to Soren Stoutner <soren@stoutner.com>.
 
     </head>
 
     <body>
+        <h3><a href="https://www.stoutner.com/privacy-browser-android-3-20">3.20</a> (código de versión 80)</h3>
+        <p>12 de marzo de 2026 - API mínimo 26, API objetivo 36</p>
+        <ul>
+            <li>Refactor the <a href="https://redmine.stoutner.com/issues/1207">filter list</a> system.</li>
+            <li>Consider <a href="https://redmine.stoutner.com/issues/481">different subdomains</a> to be third-party requests.</li>
+            <li>Clear the cache <a href="https://redmine.stoutner.com/issues/1275">after every page load</a>.</li>
+            <li>Fix the <a href="https://redmine.stoutner.com/issues/1288">navigation bar not hiding</a> in full screen browsing mode on Android 10 (API <= 29).</li>
+            <li>Fix the status bar <a href="https://redmine.stoutner.com/issues/1286">drawing over the contents</a> of the bookmarks database view.</li>
+            <li>Fix images loading on restart <a href="https://redmine.stoutner.com/issues/1274">even when disabled</a>.</li>
+            <li>Remove the <a href="https://redmine.stoutner.com/issues/1253">open file as an MHT web archive</a> checkbox on Android 16 (API >= 35).</li>
+            <li>Bump the <a href="https://redmine.stoutner.com/issues/1283">target API to 36</a> (Android 16).</li>
+            <li>Actualizada la traducción al español proporcionada por Jose A. León.</li>
+        </ul>
+
         <h3><a href="https://www.stoutner.com/privacy-browser-android-3-19-3">3.19.3</a> (código de versión 79)</h3>
         <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=492ce8c35dc72821d2cc814fc730d09c3fef46d4;ds=sidebyside">31 de enero de 2025</a> - API mínimo 26, API objetivo 35</p>
         <ul>
index 034befc11303fb656bd50130f2f421aa4f038bc0..5cfac03d4a2e71f20b1ee502cb3168dee34446bb 100644 (file)
             El código fuente está disponible en <a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=summary">gitweb.stoutner.com</a>.</p>
 
         <h3>Listas de filtros</h3>
-        <p><a href="https://easylist.to/easylist/easylist.txt">EasyList</a> y <a href="https://easylist.to/easylist/easyprivacy.txt">EasyPrivacy</a>
-            tienen <a href="https://easylist.to/pages/licence.html">licencia dual</a> bajo las licencias <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a>
-            y <a href="https://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution-ShareAlike 3.0+ Unported</a>. Navegador Privado las incorpora usando la opción GPLv3+.</p>
+        <p><a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultraprivacy/">UltraPrivacy</a> and <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultralist/">UltraList</a>
+            are developed by Stoutner. They are released under the <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a>.</p>
 
-        <p><a href="https://easylist.to/easylist/fanboy-annoyance.txt">La lista molesta de Fanboy</a> y <a href="https://easylist.to/easylist/fanboy-social.txt">la lista de bloqueo social de Fanboy</a>
-            se liberan bajo la licencia <a href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0 Unported</a>,
-            la cual es <a href="https://www.gnu.org/licenses/license-list.en.html#ccby">compatible con la GPLv3+</a>. Las listas se incluyen sin cambios en Navegador Privado.</p>
+        <p><a href="https://easylist.to/easylist/easylist.txt">EasyList</a> and <a href="https://easylist.to/easylist/easyprivacy.txt">EasyPrivacy</a> are
+            <a href="https://easylist.to/pages/licence.html">dual licensed</a> under the <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a> or the
+            <a href="https://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution-ShareAlike 3.0+ Unported</a> licenses. Privacy Browser incorporates them using the GPLv3+ option.</p>
+
+        <p><a href="https://easylist.to/easylist/fanboy-annoyance.txt">Fanboy’s Annoyance List</a> is released under the
+            <a href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0 Unported license</a>,
+            which is <a href="https://www.gnu.org/licenses/license-list.en.html#ccby">compatible with the GPLv3+</a>. This list is included unchanged in Privacy Browser.</p>
 
         <p>Encontrará más información sobre las listas de filtros en la <a href="https://easylist.to/">página web de EasyList</a>.</p>
 
index 5ea752b3e5a594323315d2a9a4254c859b69a41e..dc2709afb15977fe34132fc153910b481d610b05 100644 (file)
@@ -1,6 +1,6 @@
 <!--
   SPDX-License-Identifier: GPL-3.0-or-later
-  SPDX-FileCopyrightText: 2018-2020, 2022-2023, 2025 Soren Stoutner <soren@stoutner.com>
+  SPDX-FileCopyrightText: 2018-2020, 2022-2023, 2025-2026 Soren Stoutner <soren@stoutner.com>
 
   Translation 2018, 2023 Jose A. León.  Copyright assigned to Soren Stoutner <soren@stoutner.com>.
 
             Los detalles sobre estas solicitudes se pueden ver en la Actividad de peticiones. El cajón de navegación tiene un enlace a la Actividad de peticiones y también muestra cuántas órdenes se bloquearon.
             Al tocar una solicitud se muestran los detalles de por qué se ha permitido o bloqueado.</p>
 
-        <img class="center" src="images/request_details.png" alt="Request Details"/>
+        <img class="center222" src="images/request_details.png" alt="Request Details"/>
 
-        <p>Navegador Privado incluye cuatro <a href="https://easylist.to/">listas de filtros comunes</a> basados en la <a href="https://adblockplus.org/filters">sintaxis de Adblock</a>:
-            EasyList, EasyPrivacy, Lista molesta de Fanboy, y Lista de bloqueo social de Fanboy.
-            Navegador Privado procesa estas listas de filtros en las 22 sublistas siguientes que comprueban las solicitudes de recursos en el orden indicado.</p>
+        <p>Before a web page loads a resource, it is checked against the filter lists that are enabled in the following order:</p>
 
         <ol>
-            <li>Lista principal de permitidos</li>
-            <li>Lista final de permitidos</li>
-            <li>Lista de dominios permitidos</li>
-            <li>Lista inicial de dominios permitidos</li>
-            <li>Lista final de dominios permitidos</li>
-            <li>Lista permitida de terceros</li>
-            <li>Lista de dominios permitidos de terceros</li>
-            <li>Lista inicial de dominios permitidos de terceros</li>
-            <li>Lista principal de bloqueos</li>
-            <li>Lista inicial de bloqueos</li>
-            <li>Lista final de bloqueos</li>
-            <li>Lista de bloqueo de dominios</li>
-            <li>Lista inicial de bloqueo de dominios</li>
-            <li>Lista final de bloqueo de dominios</li>
-            <li>Lista de bloqueo de expresiones regulares de dominios</li>
-            <li>Lista de bloqueo de terceros</li>
-            <li>Lista inicial de bloqueo de terceros</li>
-            <li>Lista de bloqueo de dominios de terceros</li>
-            <li>Lista inicial de bloqueo de dominios de terceros</li>
-            <li>Lista de bloqueo de expresiones regulares de terceros</li>
-            <li>Lista de bloqueo de expresiones regulares de dominios de terceros</li>
-            <li>Lista de bloqueo de expresiones regulares</li>
+            <li>Block All Third-Party Requests</li>
+            <li>UltraPrivacy</li>
+            <li>UltraList</li>
+            <li>EasyPrivacy</li>
+            <li>EasyList</li>
+            <li>Fanboy’s Annoyance List</li>
         </ol>
 
-        <p>Las listas iniciales se comparan con el principio de la URL. Las listas finales se comparan con el final de la URL. Las listas de dominios sólo se comparan con ciertos dominios.
-            Las listas de terceras partes sólo se aplican si el dominio raíz de la solicitud es diferente del dominio raíz de la URL principal.
-            Las listas de expresiones regulares siguen la <a href="https://es.wikipedia.org/wiki/Expresión_regular">sintaxis de las expresiones regulares</a>.
-            Cada elemento de la sublista tiene una o más entradas.
-            En el caso de sublistas de dominio, la solicitud de recurso sólo se compara con el artículo si la primera entrada coincide con el dominio de la URL principal.</p>
+        <p>All of these lists except for the first are based on the <a href="https://adblockplus.org/filters">Adblock syntax</a>.
+            <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultraprivacy/">UltraPrivacy</a> and <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultralist/">UltraList</a>
+            are maintained by Stoutner. The last three filter lists come from the <a href="https://easylist.to/">EasyList project</a>.</p>
 
-        <p>Debido a las limitaciones de WebView de Android, y para acelerar el procesamiento de las solicitudes, Privacy Browser implementa una interpretación simplificada de la sintaxis de Adblock.
-            Esto a veces puede dar lugar a falsos positivos, en los que se permiten o bloquean recursos de formas que no estaban previstas en la entrada original.
-            Encontrará una descripción más detallada de cómo se procesan las entradas de la lista de filtros en <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/">stoutner.com</a>.</p>
+        <p>The raw entries from the filter lists are processed into 6 sublists.</p>
+
+        <ol>
+            <li>Main Allow List</li>
+            <li>Initial Domain Allow List</li>
+            <li>Regular Expression Allow List</li>
+            <li>Main Block List</li>
+            <li>Initial Domain Block List</li>
+            <li>Regular Expression Block List</li>
+        </ol>
 
-        <p>Navegador Privado dispone de tres listas de filtros adicionales.
-            <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultralist/">UltraList</a> y
-            <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultraprivacy/">UltraPrivacy</a>
-            filtra anuncios y rastreadores que EasyList y EasyPrivacy no filtran. El tercero bloquea todas las solicitudes de terceros.
-            Una solicitud sólo se considera de terceros si el dominio base de la solicitud es diferente del dominio base de la URL.
-            Por ejemplo, si <code>www.website.com</code> carga una imagen desde <code>images.website.com</code>,
-            ésta no se bloquea como petición de terceros porque ambos comparten el mismo dominio base de <code>website.com</code>.
-            Bloquear todas las solicitudes de terceros aumenta la privacidad, pero esta lista de filtros está desactivada por defecto porque rompe un gran número de sitios web.</p>
+        <p>Initial domain lists check against the beginning of the domain. These are very common and placing them in their own sublist allows for more CPU-efficient checking of resource requests.
+            Regular expression lists follow the <a href="https://en.wikipedia.org/wiki/Regular_expression">regular expression syntax</a>.</p>
+
+        <p>The contents of the filter lists may be viewed by selecting <code>Filter Lists</code> from the options overflow menu (three dots in the upper-right corner) of the Requests activity.</p>
+
+        <img class="center222" src="images/filter_list_entry.png" alt="Request Details"/>
+
+        <p>Because of limitations in Android’s WebView, Privacy Browser implements a simplified interpretation of the Adblock syntax.
+            Encontrará una descripción más detallada de cómo se procesan las entradas de la lista de filtros en <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/">stoutner.com</a>.</p>
     </body>
 </html>
index 5ef2de076af183782ff9f70afe91451828f268fc..6a565da3a713b09875f0fbc872a65bc6f8dd0c35 100644 (file)
@@ -1,6 +1,6 @@
 <!--
   SPDX-License-Identifier: GPL-3.0-or-later
-  SPDX-FileCopyrightText: 2016-2025 Soren Stoutner <soren@stoutner.com>
+  SPDX-FileCopyrightText: 2016-2026 Soren Stoutner <soren@stoutner.com>
 
   Translation 2019-2025 Kévin L. <kevinliste@framalistes.org>.  Copyright assigned to Soren Stoutner <soren@stoutner.com>.
 
     </head>
 
     <body>
+        <h3><a href="https://www.stoutner.com/privacy-browser-android-3-20">3.20</a> (version du code 80)</h3>
+        <p>12 Mars 2026 - API minimale : 26, API optimale : 36</p>
+        <ul>
+            <li>Refactor the <a href="https://redmine.stoutner.com/issues/1207">filter list</a> system.</li>
+            <li>Consider <a href="https://redmine.stoutner.com/issues/481">different subdomains</a> to be third-party requests.</li>
+            <li>Clear the cache <a href="https://redmine.stoutner.com/issues/1275">after every page load</a>.</li>
+            <li>Fix the <a href="https://redmine.stoutner.com/issues/1288">navigation bar not hiding</a> in full screen browsing mode on Android 10 (API <= 29).</li>
+            <li>Fix the status bar <a href="https://redmine.stoutner.com/issues/1286">drawing over the contents</a> of the bookmarks database view.</li>
+            <li>Fix images loading on restart <a href="https://redmine.stoutner.com/issues/1274">even when disabled</a>.</li>
+            <li>Remove the <a href="https://redmine.stoutner.com/issues/1253">open file as an MHT web archive</a> checkbox on Android 16 (API >= 35).</li>
+            <li>Bump the <a href="https://redmine.stoutner.com/issues/1283">target API to 36</a> (Android 16).</li>
+            <li>Traduction française mise à jour fournie par <a href="mailto:kevinliste@framalistes.org">Kévin L</a>.</li>
+        </ul>
+
         <h3><a href="https://www.stoutner.com/privacy-browser-android-3-19-3">3.19.3</a> (version du code 79)</h3>
         <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=492ce8c35dc72821d2cc814fc730d09c3fef46d4;ds=sidebyside">31 Janvier 2025</a> - API minimale : 26, API optimale : 35</p>
         <ul>
index 952929a7bed95cc237b5a32acde5c8a0ed95f2ee..dff36971628448abf7f133fa23f9125a6ee998a1 100644 (file)
             Le code source est disponible à partir de <a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=summary">gitweb.stoutner.com</a>.</p>
 
         <h3>Liste de filtres</h3>
-        <p><a href="https://easylist.to/easylist/easylist.txt">EasyList</a> et <a href="https://easylist.to/easylist/easyprivacy.txt">EasyPrivacy</a>
-            sont <a href="https://easylist.to/pages/licence.html">licences doubles</a> <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a>
-            et <a href="https://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution-ShareAlike 3.0+ Unported</a>.
-            Privacy Browser les intègre à l'aide de l'option GPLv3+.</p>
-
-        <p><a href="https://easylist.to/easylist/fanboy-annoyance.txt">Fanboy’s Annoyance List</a> et <a href="https://easylist.to/easylist/fanboy-social.txt">Fanboy’s Social Blocking List</a>
-            sont publiés sous la licence <a href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0 Unported license</a>,
-            qui est <a href="https://www.gnu.org/licenses/license-list.en.html#ccby">compatible avec la GPLv3+</a>. Les listes ne sont pas modifiées dans Privacy Browser.</p>
+        <p><a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultraprivacy/">UltraPrivacy</a> and <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultralist/">UltraList</a>
+            are developed by Stoutner. They are released under the <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a>.</p>
+
+        <p><a href="https://easylist.to/easylist/easylist.txt">EasyList</a> and <a href="https://easylist.to/easylist/easyprivacy.txt">EasyPrivacy</a> are
+            <a href="https://easylist.to/pages/licence.html">dual licensed</a> under the <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a> or the
+            <a href="https://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution-ShareAlike 3.0+ Unported</a> licenses. Privacy Browser incorporates them using the GPLv3+ option.</p>
+
+        <p><a href="https://easylist.to/easylist/fanboy-annoyance.txt">Fanboy’s Annoyance List</a> is released under the
+            <a href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0 Unported license</a>,
+            which is <a href="https://www.gnu.org/licenses/license-list.en.html#ccby">compatible with the GPLv3+</a>. This list is included unchanged in Privacy Browser.</p>
 
         <p>De plus amples informations sur les listes de filtrage sont disponibles sur le site Web <a href="https://easylist.to/">d'EasyList</a>.</p>
 
index 9a9fe11531c5538aa984e0ec0d07b072a9874277..e71b51ba01ea61033d2972a44809624260143236 100644 (file)
@@ -1,6 +1,6 @@
 <!--
   SPDX-License-Identifier: GPL-3.0-or-later
-  SPDX-FileCopyrightText: 2018, 2021-2023, 2025 Soren Stoutner <soren@stoutner.com>
+  SPDX-FileCopyrightText: 2018, 2021-2023, 2025-2026 Soren Stoutner <soren@stoutner.com>
 
   Translation 2019, 2023 Kévin L. <kevinliste@framalistes.org>.  Copyright assigned to Soren Stoutner <soren@stoutner.com>.
 
             Le panneau de navigation contient un lien vers la vue Requêtes et indique également le nombre de requêtes bloquées.
             Un appui sur une requête affiche les détails de la raison pour laquelle elle a été autorisée ou bloquée.</p>
 
-        <img class="center" src="images/request_details.png" alt="Request Details"/>
+        <img class="center222" src="images/request_details.png" alt="Request Details"/>
 
-        <p>Privacy Browser inclue quatre <a href="https://easylist.to/">listes communes de filtres</a> basées sur la <a href="https://adblockplus.org/filters">syntaxe d'Adblock</a>:
-            EasyList, EasyPrivacy, Fanboy’s Annoyance List, and Fanboy’s Social Blocking List.
-            Ces listes de filtres sont traitées par Privacy Browser dans les 22 sous-listes suivantes, qui vérifient les demandes de ressources dans l'ordre indiqué.</p>
+        <p>Before a web page loads a resource, it is checked against the filter lists that are enabled in the following order:</p>
 
         <ol>
-            <li>Liste principale d'autorisation</li>
-            <li>Liste finale d'autorisation</li>
-            <li>Liste d'autorisation de domaine</li>
-            <li>Liste initiale d'autorisation de domaine</li>
-            <li>Liste finale d'autorisation de domaine</li>
-            <li>Liste d'autorisation de tiers</li>
-            <li>Liste d'autorisation de domaine tiers</li>
-            <li>Liste initiale d'autorisation de domaine tiers</li>
-            <li>Liste principale de blocage</li>
-            <li>Liste initiale de blocage</li>
-            <li>Liste finale de blocage</li>
-            <li>Liste de blocage de domaine</li>
-            <li>Liste initiale de blocage de domaine</li>
-            <li>Liste finale de blocage de domaine</li>
-            <li>Expression régulière de blocage de domaine</li>
-            <li>Liste de blocage de tiers</li>
-            <li>Liste initiale de blocage de domaine tiers</li>
-            <li>Liste de blocage de domaine tiers</li>
-            <li>Liste initiale de blocage de domaine tiers</li>
-            <li>Expression régulière de blocage de tiers</li>
-            <li>Expression régulière de blocage de domaine tiers</li>
-            <li>Liste d'expression régulière de blocage</li>
+            <li>Block All Third-Party Requests</li>
+            <li>UltraPrivacy</li>
+            <li>UltraList</li>
+            <li>EasyPrivacy</li>
+            <li>EasyList</li>
+            <li>Fanboy’s Annoyance List</li>
         </ol>
 
-        <p>Les listes initiales sont comparées au début de l'URL. Les listes finales sont comparées à la fin de l'URL. Les listes de domaines ne vérifient que certains domaines.
-            Les listes tierces ne s'appliquent que si le domaine racine de la demande est différent du domaine racine de l'URL principale.
-            Les listes d'expressions régulières respectent la <a href="https://en.wikipedia.org/wiki/Regular_expression">syntaxe d'expression régulière</a>.
-            Chaque élément de sous-liste comporte une ou plusieurs entrées.
-            Dans le cas de sous-listes de domaines, la demande de ressource n'est vérifiée par rapport à l'élément que si la première entrée correspond au domaine de l'URL principale.</p>
+        <p>All of these lists except for the first are based on the <a href="https://adblockplus.org/filters">Adblock syntax</a>.
+            <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultraprivacy/">UltraPrivacy</a> and <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultralist/">UltraList</a>
+            are maintained by Stoutner. The last three filter lists come from the <a href="https://easylist.to/">EasyList project</a>.</p>
 
-        <p>En raison des limitations de WebView d'Android et pour accélérer le traitement des requêtes, Privacy Browser met en œuvre une interprétation simplifiée de la syntaxe Adblock.
-            Cela peut parfois conduire à des faux positifs, lorsque des ressources sont autorisées ou bloquées d'une manière qui n'était pas prévue par l'entrée d'origine.
+        <p>The raw entries from the filter lists are processed into 6 sublists.</p>
+
+        <ol>
+            <li>Main Allow List</li>
+            <li>Initial Domain Allow List</li>
+            <li>Regular Expression Allow List</li>
+            <li>Main Block List</li>
+            <li>Initial Domain Block List</li>
+            <li>Regular Expression Block List</li>
+        </ol>
+
+        <p>Initial domain lists check against the beginning of the domain. These are very common and placing them in their own sublist allows for more CPU-efficient checking of resource requests.
+            Regular expression lists follow the <a href="https://en.wikipedia.org/wiki/Regular_expression">regular expression syntax</a>.</p>
+
+        <p>The contents of the filter lists may be viewed by selecting <code>Filter Lists</code> from the options overflow menu (three dots in the upper-right corner) of the Requests activity.</p>
+
+        <img class="center222" src="images/filter_list_entry.png" alt="Request Details"/>
+
+        <p>Because of limitations in Android’s WebView, Privacy Browser implements a simplified interpretation of the Adblock syntax.
             Une description plus détaillée de la manière dont les entrées de la liste de filtres sont traitées est disponible à l'adresse suivante
             <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/">stoutner.com</a>.</p>
-
-        <p>Privacy Browser possède trois listes additionelles de filtres.
-            <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultralist/">UltraList</a> et
-            <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultraprivacy/">UltraPrivacy</a>
-            filtrent les publicités et les traqueurs, ce que ne font pas EasyList et EasyPrivacy. Le troisième bloque toutes les demandes émanant de tiers.
-            Une requête n'est considérée comme tierce que si le domaine de base de la requête est différent du domaine de base de l'URL.
-            Par exemple, si <code>www.siteweb.com</code> charge une image de <code>images.siteweb.com</code>,
-            cette demande n'est pas bloquée en tant que demande d'un tiers parce qu'ils partagent tous deux le même domaine de base de <code>siteweb.com</code>.
-            Le blocage de toutes les demandes émanant de tiers renforce la protection de la vie privée,
-            mais cette liste de filtres est désactivée par défaut parce qu'elle perturbe un grand nombre de sites web.</p>
     </body>
 </html>
index 1405ad55165222e0e8ab4a26c59c6834cd9c7bf3..44c6db3da0da3629e5b13fe762094934b7514f52 100644 (file)
@@ -1,6 +1,6 @@
 <!--
   SPDX-License-Identifier: GPL-3.0-or-later
-  SPDX-FileCopyrightText: 2016-2025 Soren Stoutner <soren@stoutner.com>
+  SPDX-FileCopyrightText: 2016-2026 Soren Stoutner <soren@stoutner.com>
 
   Translation 2017-2025 Francesco Buratti.  Copyright assigned to Soren Stoutner <soren@stoutner.com>.
 
     </head>
 
     <body>
+        <h3><a href="https://www.stoutner.com/privacy-browser-android-3-20">3.20</a> (versione codice 80)</h3>
+        <p>12 Marzo 2026 - minima API 26, target API 36</p>
+        <ul>
+            <li>Refactor the <a href="https://redmine.stoutner.com/issues/1207">filter list</a> system.</li>
+            <li>Consider <a href="https://redmine.stoutner.com/issues/481">different subdomains</a> to be third-party requests.</li>
+            <li>Clear the cache <a href="https://redmine.stoutner.com/issues/1275">after every page load</a>.</li>
+            <li>Fix the <a href="https://redmine.stoutner.com/issues/1288">navigation bar not hiding</a> in full screen browsing mode on Android 10 (API <= 29).</li>
+            <li>Fix the status bar <a href="https://redmine.stoutner.com/issues/1286">drawing over the contents</a> of the bookmarks database view.</li>
+            <li>Fix images loading on restart <a href="https://redmine.stoutner.com/issues/1274">even when disabled</a>.</li>
+            <li>Remove the <a href="https://redmine.stoutner.com/issues/1253">open file as an MHT web archive</a> checkbox on Android 16 (API >= 35).</li>
+            <li>Bump the <a href="https://redmine.stoutner.com/issues/1283">target API to 36</a> (Android 16).</li>
+            <li>Aggiornamento della traduzione Italiana fornita da Francesco Buratti.</li>
+        </ul>
+
         <h3><a href="https://www.stoutner.com/privacy-browser-android-3-19-3">3.19.3</a> (versione codice 79)</h3>
         <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=492ce8c35dc72821d2cc814fc730d09c3fef46d4;ds=sidebyside">31 Gennaio 2025</a> - minima API 26, target API 35</p>
         <ul>
index 35e68102cd7ad734873798c6c49aa3f1e56f0526..514be0071cceb512165364b3e9252926e989b97c 100644 (file)
             Il codice sorgente è disponibile su <a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=summary">gitweb.stoutner.com</a>.</p>
 
         <h3>Lista dei filtri</h3>
-        <p><a href="https://easylist.to/easylist/easylist.txt">EasyList</a> e <a href="https://easylist.to/easylist/easyprivacy.txt">EasyPrivacy</a>
-            sono <a href="https://easylist.to/pages/licence.html">sotto doppia licenza</a> con le licenze <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a>
-            e <a href="https://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution-ShareAlike 3.0+ Unported</a>. Privacy Browser le incorpora utilizzando l'opzione GPLv3+.</p>
+        <p><a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultraprivacy/">UltraPrivacy</a> and <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultralist/">UltraList</a>
+            are developed by Stoutner. They are released under the <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a>.</p>
 
-        <p>La <a href="https://easylist.to/easylist/fanboy-annoyance.txt">Fanboy’s Annoyance List</a> e la <a href="https://easylist.to/easylist/fanboy-social.txt">Fanboy’s Social Blocking List</a>
-            sono rilasciate sotto la licenza <a href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0 Unported</a>,
-            che è <a href="https://www.gnu.org/licenses/license-list.en.html#ccby">compatibile con la licenza GPLv3+</a>. Le liste sono incluse senza modifiche in Privacy Browser.</p>
+        <p><a href="https://easylist.to/easylist/easylist.txt">EasyList</a> and <a href="https://easylist.to/easylist/easyprivacy.txt">EasyPrivacy</a> are
+            <a href="https://easylist.to/pages/licence.html">dual licensed</a> under the <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a> or the
+            <a href="https://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution-ShareAlike 3.0+ Unported</a> licenses. Privacy Browser incorporates them using the GPLv3+ option.</p>
+
+        <p><a href="https://easylist.to/easylist/fanboy-annoyance.txt">Fanboy’s Annoyance List</a> is released under the
+            <a href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0 Unported license</a>,
+            which is <a href="https://www.gnu.org/licenses/license-list.en.html#ccby">compatible with the GPLv3+</a>. This list is included unchanged in Privacy Browser.</p>
 
         <p>E' possibile ottenere maggiori informazioni sulle liste dei filtri sul <a href="https://easylist.to/">sito web di EasyList</a>.</p>
 
index 50ca72b95481d3df7eea6057975a6cbc4aaa2ca7..1401ae753f6d3d8b2d536cc6b0bca056ba999632 100644 (file)
@@ -1,6 +1,6 @@
 <!--
   SPDX-License-Identifier: GPL-3.0-or-later
-  SPDX-FileCopyrightText: 2018-2020, 2022-2023, 2025 Soren Stoutner <soren@stoutner.com>
+  SPDX-FileCopyrightText: 2018-2020, 2022-2023, 2025-2026 Soren Stoutner <soren@stoutner.com>
 
   Translation 2018, 2023 Francesco Buratti.  Copyright assigned to Soren Stoutner <soren@stoutner.com>.
 
             Il menù a cassetto ha un collegamento alla scheda delle richieste e mostra quante sono state bloccate.
             Se si tocca una delle richieste in elenco vengono mostrati i dettagli sui motivi per cui è stata permessa o bloccata.</p>
 
-        <img class="center" src="images/request_details.png" alt="Request Details"/>
+        <img class="center222" src="images/request_details.png" alt="Request Details"/>
 
-        <p>Privacy Browser è dotato di quattro <a href="https://easylist.to/">liste di filtri comuni</a> basati sulla <a href="https://adblockplus.org/filters">sintassi Adblock</a>:
-            EasyList, EasyPrivacy, lista Fanboy’s Annoyance, e lista Fanboy’s Social Blocking.
-            Queste liste di filtri sono processate da Privacy Browser nelle seguenti 22 sottoliste, che verificano le richieste di risorse nell'ordine sottostante.</p>
+        <p>Before a web page loads a resource, it is checked against the filter lists that are enabled in the following order:</p>
 
         <ol>
-            <li>Lista principale dei permessi</li>
-            <li>Lista finale dei permessi</li>
-            <li>Lista dei domini permessi</li>
-            <li>Lista iniziale dei domini permessi</li>
-            <li>Lista finale dei domini permessi</li>
-            <li>Lista di terze parti permesse</li>
-            <li>Lista dei domini di terze parti permessi</li>
-            <li>Lista iniziale dei domini di terze parti permessi</li>
-            <li>Lista principale bloccati</li>
-            <li>Lista iniziale bloccati</li>
-            <li>Lista finale bloccati</li>
-            <li>Lista domini bloccati</li>
-            <li>Lista iniziale domini bloccati</li>
-            <li>Lista finale domini bloccati</li>
-            <li>Lista di blocco espressioni regolari dei domini</li>
-            <li>Lista di blocco terze parti</li>
-            <li>Lista di blocco iniziale terze parti</li>
-            <li>Lista di blocco dei domini di terze parti</li>
-            <li>Lista di blocco iniziale dei domini di terze parti</li>
-            <li>Lista di blocco espressioni regolari di terze parti</li>
-            <li>Lista di blocco espressioni regolari domini di terze parti</li>
-            <li>Lista di blocco espressioni regolari</li>
+            <li>Block All Third-Party Requests</li>
+            <li>UltraPrivacy</li>
+            <li>UltraList</li>
+            <li>EasyPrivacy</li>
+            <li>EasyList</li>
+            <li>Fanboy’s Annoyance List</li>
         </ol>
 
-        <p>Le liste iniziali servono per la verifica della parte iniziale delle URL. Le liste iniziali servono per la verifica della parte finale delle URL.
-            Le liste dei domini servono per la verifica di certi domini. Le liste di terze parti si applicano solo se il dominio di root della richiesta è diverso dal dominio di root della URL principale.
-            Le liste per le espressioni regolari seguono la <a href="https://it.wikipedia.org/wiki/Espressione_regolare">sintassi delle espressioni regolari</a>.
-            Ogni oggetto delle liste secondarie ha uno o più elementi.
-            Nel caso delle liste secondarie dei domini, la richiesta di risorse è verificata solo se il primo elemento combacia con il dominio della URL principale.</p>
+        <p>All of these lists except for the first are based on the <a href="https://adblockplus.org/filters">Adblock syntax</a>.
+            <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultraprivacy/">UltraPrivacy</a> and <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultralist/">UltraList</a>
+            are maintained by Stoutner. The last three filter lists come from the <a href="https://easylist.to/">EasyList project</a>.</p>
 
-        <p>A causa delle limitazioni della WebView di Android, e per velocizzare il processo delle richieste, Privacy Browser implementa una interpretazione semplificata della sintassi di Adblock.
-            Queso può a volte portare a falsi positivi, laddove le risorse sono permesse o bloccate in modalità che non sono quelle previste dalla voce originale.
-            Una descrizione più dettagliata di come le liste dei filtri sono processate è disponibile su <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/">stoutner.com</a>.</p>
+        <p>The raw entries from the filter lists are processed into 6 sublists.</p>
+
+        <ol>
+            <li>Main Allow List</li>
+            <li>Initial Domain Allow List</li>
+            <li>Regular Expression Allow List</li>
+            <li>Main Block List</li>
+            <li>Initial Domain Block List</li>
+            <li>Regular Expression Block List</li>
+        </ol>
 
-        <p>Privacy Browser liste di filtri aggiuntive.
-            <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultralist/">UltraList</a> e
-            <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultraprivacy/">UltraPrivacy</a>
-            filtrano gli annunci e i tracker che EasyList e EasyPrivacy non filtrano. La terza blocca tutte le richieste di terze parti.
-            Una richiesta è considerata di terza parte solo se il dominio base della richiesta è diverso dal dominio base della URL.
-            Per esempio se <code>www.website.com</code> carica immagini da <code>images.website.com</code>,
-            questo non è bloccato come richiesta di terza parte perchè entrambi condividono lo stesso dominio base <code>website.com</code>.
-            Il blocco di tutte le richieste di terze parti aumenta la privacy, ma questa lista di filtri è per default disabilitata perché impedisce la visualizzazione di un elevato numero di siti web.</p>
+        <p>Initial domain lists check against the beginning of the domain. These are very common and placing them in their own sublist allows for more CPU-efficient checking of resource requests.
+            Regular expression lists follow the <a href="https://en.wikipedia.org/wiki/Regular_expression">regular expression syntax</a>.</p>
+
+        <p>The contents of the filter lists may be viewed by selecting <code>Filter Lists</code> from the options overflow menu (three dots in the upper-right corner) of the Requests activity.</p>
+
+        <img class="center222" src="images/filter_list_entry.png" alt="Request Details"/>
+
+        <p>Because of limitations in Android’s WebView, Privacy Browser implements a simplified interpretation of the Adblock syntax.
+            Una descrizione più dettagliata di come le liste dei filtri sono processate è disponibile su <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/">stoutner.com</a>.</p>
     </body>
 </html>
index 47a1078a687e5ca889cee9f051edd4ed782f043b..94daa944f98ed8c4bb62bc07d03ba7fcfe99de7b 100644 (file)
@@ -1,6 +1,6 @@
 <!--
   SPDX-License-Identifier: GPL-3.0-or-later
-  SPDX-FileCopyrightText: 2016-2025 Soren Stoutner <soren@stoutner.com>
+  SPDX-FileCopyrightText: 2016-2026 Soren Stoutner <soren@stoutner.com>
 
   Translation 2020-2022 Thiago Nazareno Conceição Silva de Jesus <mochileiro2006-trilhas@yahoo.com.br>.  Copyright assigned to Soren Stoutner <soren@stoutner.com>.
 
     </head>
 
     <body>
+        <h3><a href="https://www.stoutner.com/privacy-browser-android-3-20">3.20</a> (código de versão 80)</h3>
+        <p>12 de março de 2026 - minimum API 26, target API 36</p>
+        <ul>
+            <li>Refactor the <a href="https://redmine.stoutner.com/issues/1207">filter list</a> system.</li>
+            <li>Consider <a href="https://redmine.stoutner.com/issues/481">different subdomains</a> to be third-party requests.</li>
+            <li>Clear the cache <a href="https://redmine.stoutner.com/issues/1275">after every page load</a>.</li>
+            <li>Fix the <a href="https://redmine.stoutner.com/issues/1288">navigation bar not hiding</a> in full screen browsing mode on Android 10 (API <= 29).</li>
+            <li>Fix the status bar <a href="https://redmine.stoutner.com/issues/1286">drawing over the contents</a> of the bookmarks database view.</li>
+            <li>Fix images loading on restart <a href="https://redmine.stoutner.com/issues/1274">even when disabled</a>.</li>
+            <li>Remove the <a href="https://redmine.stoutner.com/issues/1253">open file as an MHT web archive</a> checkbox on Android 16 (API >= 35).</li>
+            <li>Bump the <a href="https://redmine.stoutner.com/issues/1283">target API to 36</a> (Android 16).</li>
+        </ul>
+
         <h3><a href="https://www.stoutner.com/privacy-browser-android-3-19-3">3.19.3</a> (código de versão 79)</h3>
         <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=492ce8c35dc72821d2cc814fc730d09c3fef46d4;ds=sidebyside">31 de janeiro de 2025</a> - minimum API 26, target API 35</p>
         <ul>
         </ul>
 
         <h3><a href="https://www.stoutner.com/privacy-browser-android-3-13-4/">3.13.4</a> (código de versão 68)</h3>
-        <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=7ab6a9027175e6a8f72b3f3683f8c4e05643d8bc">27 March 2023</a> - API mínimo 24, API alvo 33</p>
+        <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=7ab6a9027175e6a8f72b3f3683f8c4e05643d8bc">27 de março de 2023</a> - API mínimo 24, API alvo 33</p>
         <ul>
             <li>Fix an <a href="https://redmine.stoutner.com/issues/981">intermittent crash</a> on restart caused by the
                 <a href="https://redmine.stoutner.com/issues/963">race condition fix</a> introduced in 3.13.3.</li>
         </ul>
 
         <h3><a href="https://www.stoutner.com/privacy-browser-android-3-13-3/">3.13.3</a> (código de versão 67)</h3>
-        <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=c5359b173d559fc154bf7e4bd8fd65c951c529b3">13 March 2023</a> - API mínimo 23, API alvo 33</p>
+        <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=c5359b173d559fc154bf7e4bd8fd65c951c529b3">13 de março de 2023</a> - API mínimo 23, API alvo 33</p>
         <ul>
             <li>Fix a race condition that sometimes caused the <a href="https://redmine.stoutner.com/issues/963">current tab to not be the active tab</a>.</li>
         </ul>
         </ul>
 
         <h3><a href="https://www.stoutner.com/privacy-browser-3-10-1/">3.10.1</a> (código da versão 59)</h3>
-        <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=b1f88361f33fde911642f568e71936c33bdcc530">2 March 2022</a> - API mínimo 23, API alvo 31</p>
+        <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=b1f88361f33fde911642f568e71936c33bdcc530">2 de março de 2022</a> - API mínimo 23, API alvo 31</p>
         <ul>
             <li>Corrige uma falha ao abrir a <a href="https://redmine.stoutner.com/issues/808">função Importar/Exportar</a>.</li>
             <li>Corrige um problema com <a href="https://redmine.stoutner.com/issues/810">agente de usuário personalizado</a>.</li>
         </ul>
 
         <h3><a href="https://www.stoutner.com/privacy-browser-3-7/">3.7</a> (código da versão 54)</h3>
-        <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=f3b9172adedd74f705ddc0beac80798ae84f2920">29 March 2021</a> - API mínimo 19, API alvo 30</p>
+        <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=f3b9172adedd74f705ddc0beac80798ae84f2920">29 de março de 2021</a> - API mínimo 19, API alvo 30</p>
         <ul>
             <li>Remodele o acesso ao arquivo para funcionar com <a href="https://redmine.stoutner.com/issues/546">escopo de armazenamento definido e Estrutura de Acesso ao Armazenamento</a>.
                 Isso permite que a API de destino seja aumentada para 30 e remove a necessidade das perigosas permissões READ_EXTERNAL_STORAGE e WRITE_EXTERNAL_STORAGE.
         </ul>
 
         <h3><a href="https://www.stoutner.com/privacy-browser-3-4/">3.4</a> (código da versão 48)</h3>
-        <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=7de44ca8dbf4330ee6fa3d9146940c1016edd608">28 March 2020</a> - API mínimo 19, API alvo 29</p>
+        <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=7de44ca8dbf4330ee6fa3d9146940c1016edd608">28 de março de 2020</a> - API mínimo 19, API alvo 29</p>
         <ul>
             <li>Replace Android’s download manager with a <a href="https://redmine.stoutner.com/issues/528">custom implementation</a>.</li>
             <li>Add an option to specify the <a href="https://redmine.stoutner.com/issues/32">default download location</a>.</li>
         </ul>
 
         <h3><a href="https://www.stoutner.com/privacy-browser-2-17-1/">2.17.1</a> (código da versão 42)</h3>
-        <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=fbb7aef30a9417c42661a0f76b5836dcf6a40242">5 March 2019</a> - API mínimo 19, API alvo 28</p>
+        <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=fbb7aef30a9417c42661a0f76b5836dcf6a40242">5 de março de 2019</a> - API mínimo 19, API alvo 28</p>
         <ul>
             <li>Fix a crash caused by bookmarks with <a href="https://redmine.stoutner.com/issues/395">very large favorite icons</a>.</li>
             <li>Allow moving Privacy Browser to an <a href="https://redmine.stoutner.com/issues/394">SD card</a>.</li>
         </ul>
 
         <h3><a href="https://www.stoutner.com/privacy-browser-2-8-1/">2.8.1</a> (código da versão 31)</h3>
-        <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=8d1060fb1148d2d2fd7af8261dc9956c3a5687a1">1 March 2018</a> - API mínimo 19, API alvo 27</p>
+        <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=8d1060fb1148d2d2fd7af8261dc9956c3a5687a1">1 de março de 2018</a> - API mínimo 19, API alvo 27</p>
         <ul>
             <li>Workaround a bug in recent versions of Android’s WebView that <a href="https://redmine.stoutner.com/issues/253">prevented users from saving cookies</a> when desired.</li>
         </ul>
         </ul>
 
         <h3><a href="https://www.stoutner.com/privacy-browser-2-1/">2.1</a> (código da versão 21)</h3>
-        <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=f01cad697eb5ab015888e88e20f26ac5911b1d85">25 March 2017</a> - API mínimo 19, API alvo 25</p>
+        <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=f01cad697eb5ab015888e88e20f26ac5911b1d85">25 de março de 2017</a> - API mínimo 19, API alvo 25</p>
         <ul>
             <li>Fix a <a href="https://redmine.stoutner.com/issues/110">crash on load</a> introduced in version 2.0.1 if the homepage is set to be blank.</li>
             <li>Fix a bug that <a href="https://redmine.stoutner.com/issues/112">prevented websites with a localhost domain from loading</a>.</li>
         </ul>
 
         <h3><a href="https://www.stoutner.com/privacy-browser-2-0-1/">2.0.1</a> (código da versão 20)</h3>
-        <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=1aec01e7c168c3fcc272530607e16f5ffa6d6c74">21 March 2017</a> - API mínimo 19, API alvo 25</p>
+        <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=1aec01e7c168c3fcc272530607e16f5ffa6d6c74">21 de março de 2017</a> - API mínimo 19, API alvo 25</p>
         <ul>
             <li><a href="https://redmine.stoutner.com/issues/101">Only load domain settings when the domain changes</a>.</li>
             <li>Only apply domain settings to subdomains if <a href="https://redmine.stoutner.com/issues/99">*. is specified at the beginning of the domain name</a>.</li>
         </ul>
 
         <h3><a href="https://www.stoutner.com/privacy-browser-2-0/">2.0</a> (código da versão 19)</h3>
-        <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=8f1c15606ef8cd277f51cc837c2c39667c48d0d4">16 March 2017</a> - API mínimo 19, API alvo 25</p>
+        <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=8f1c15606ef8cd277f51cc837c2c39667c48d0d4">16 de março de 2017</a> - API mínimo 19, API alvo 25</p>
         <ul>
             <li>Implement <a href="https://redmine.stoutner.com/issues/7">custom domain settings</a>.</li>
             <li>When proxying through Tor, <a href="https://redmine.stoutner.com/issues/90">wait until Orbot is ready</a> before attempting to load a page.</li>
         </ul>
 
         <h3>1.2 (código da versão 3)</h3>
-        <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=bde6908fee004715f0125ab2d51016dd63a956f4">23 March 2016</a> - API mínimo 15, API alvo 23</p>
+        <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=bde6908fee004715f0125ab2d51016dd63a956f4">23 de março de 2016</a> - API mínimo 15, API alvo 23</p>
         <ul>
             <li>Update launcher icon to make it bigger.</li>
             <li>Replace all toast messages with <a href="https://redmine.stoutner.com/issues/12">snackbars</a>.</li>
         </ul>
 
         <h3>1.1 (código da versão 2)</h3>
-        <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=f56d4111a627bebdb7f181da062253b3e6145381">9 March 2016</a> - API mínimo 10, API alvo 23</p>
+        <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=f56d4111a627bebdb7f181da062253b3e6145381">9 de março de 2016</a> - API mínimo 10, API alvo 23</p>
         <ul>
             <li>Separate the standard and the free flavors so that Privacy Browser builds correctly on F-Droid.</li>
         </ul>
index 857a4591fa5a58d4235e945e1aaaa2a45ddf1719..bb52fcaca6367e42a834c92d7c89f99ee01515e5 100644 (file)
             The source code is available from <a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=summary">gitweb.stoutner.com</a>.</p>
 
         <h3>Filter Lists</h3>
-        <p><a href="https://easylist.to/easylist/easylist.txt">EasyList</a> and <a href="https://easylist.to/easylist/easyprivacy.txt">EasyPrivacy</a>
-            are <a href="https://easylist.to/pages/licence.html">dual licensed</a> under the <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a>
-            and the <a href="https://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution-ShareAlike 3.0+ Unported</a> licenses.
-            Privacy Browser incorporates them using the GPLv3+ option.</p>
-
-        <p><a href="https://easylist.to/easylist/fanboy-annoyance.txt">Fanboy’s Annoyance List</a> and <a href="https://easylist.to/easylist/fanboy-social.txt">Fanboy’s Social Blocking List</a>
-            are released under the <a href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0 Unported license</a>,
-            which is <a href="https://www.gnu.org/licenses/license-list.en.html#ccby">compatible with the GPLv3+</a>. The lists are included unchanged in Privacy Browser.</p>
+        <p><a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultraprivacy/">UltraPrivacy</a> and <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultralist/">UltraList</a>
+            are developed by Stoutner. They are released under the <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a>.</p>
+
+        <p><a href="https://easylist.to/easylist/easylist.txt">EasyList</a> and <a href="https://easylist.to/easylist/easyprivacy.txt">EasyPrivacy</a> are
+            <a href="https://easylist.to/pages/licence.html">dual licensed</a> under the <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a> or the
+            <a href="https://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution-ShareAlike 3.0+ Unported</a> licenses. Privacy Browser incorporates them using the GPLv3+ option.</p>
+
+        <p><a href="https://easylist.to/easylist/fanboy-annoyance.txt">Fanboy’s Annoyance List</a> is released under the
+            <a href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0 Unported license</a>,
+            which is <a href="https://www.gnu.org/licenses/license-list.en.html#ccby">compatible with the GPLv3+</a>. This list is included unchanged in Privacy Browser.</p>
 
         <p>More information about the filter lists can be found on the <a href="https://easylist.to/">EasyList website</a>.</p>
 
index b0eebc9616898a5f2cc1729ae70fd016d41b5209..c0acdb6cc6de74c3627be020b5ca139bb86d1336 100644 (file)
@@ -1,6 +1,6 @@
 <!--
   SPDX-License-Identifier: GPL-3.0-or-later
-  SPDX-FileCopyrightText: 2018, 2020-2023, 2025 Soren Stoutner <soren@stoutner.com>
+  SPDX-FileCopyrightText: 2018, 2020-2023, 2025-2026 Soren Stoutner <soren@stoutner.com>
 
   Translation 2021 Thiago Nazareno Conceição Silva de Jesus <mochileiro2006-trilhas@yahoo.com.br>.  Copyright assigned to Soren Stoutner <soren@stoutner.com>.
 
             A gaveta de navegação possui um link para a atividade Solicitações e também mostra quantas solicitações foram bloqueadas.
             Tocar em uma solicitação exibe detalhes sobre por que ela foi permitida ou bloqueada.</p>
 
-        <img class="center216" src="images/request_details.png" alt="Request Details"/>
+        <img class="center222" src="images/request_details.png" alt="Request Details"/>
 
-        <p>Privacy Browser includes four <a href="https://easylist.to/">common filter lists</a> based on the <a href="https://adblockplus.org/filters">Adblock syntax</a>:
-            EasyList, EasyPrivacy, Fanboy’s Annoyance List, and Fanboy’s Social Blocking List.
-            These filter lists are processed by Privacy Browser into the following 22 sublists, which check resource requests in the order listed.</p>
+        <p>Before a web page loads a resource, it is checked against the filter lists that are enabled in the following order:</p>
+
+        <ol>
+            <li>Block All Third-Party Requests</li>
+            <li>UltraPrivacy</li>
+            <li>UltraList</li>
+            <li>EasyPrivacy</li>
+            <li>EasyList</li>
+            <li>Fanboy’s Annoyance List</li>
+        </ol>
+
+        <p>All of these lists except for the first are based on the <a href="https://adblockplus.org/filters">Adblock syntax</a>.
+            <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultraprivacy/">UltraPrivacy</a> and <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultralist/">UltraList</a>
+            are maintained by Stoutner. The last three filter lists come from the <a href="https://easylist.to/">EasyList project</a>.</p>
+
+        <p>The raw entries from the filter lists are processed into 6 sublists.</p>
 
         <ol>
             <li>Main Allow List</li>
-            <li>Final Allow List</li>
-            <li>Domain Allow List</li>
-            <li>Domain Initial Allow List</li>
-            <li>Domain Final Allow List</li>
-            <li>Third-Party Allow List</li>
-            <li>Third-Party Domain Allow List</li>
-            <li>Third-Party Domain Initial Allow List</li>
+            <li>Initial Domain Allow List</li>
+            <li>Regular Expression Allow List</li>
             <li>Main Block List</li>
-            <li>Initial Block List</li>
-            <li>Final Block List</li>
-            <li>Domain Block List</li>
-            <li>Domain Initial Block List</li>
-            <li>Domain Final Block List</li>
-            <li>Domain Regular Expression Block List</li>
-            <li>Third-Party Block List</li>
-            <li>Third-Party Initial Block List</li>
-            <li>Third-Party Domain Block List</li>
-            <li>Third-Party Domain Initial Block List</li>
-            <li>Third-Party Regular Expression Block List</li>
-            <li>Third-Party Domain Regular Expression Block List</li>
+            <li>Initial Domain Block List</li>
             <li>Regular Expression Block List</li>
         </ol>
 
-        <p>As listas iniciais são comparadas ao início do URL. As listas finais são comparadas ao final do URL. As listas de domínio verificam apenas em alguns domínios.
-            As listas de terceiros só se aplicam se o domínio raiz da solicitação for diferente do domínio raiz do URL principal.
-            Listas de expressões regulares seguem a <a href="https://en.wikipedia.org/wiki/Regular_expression">sintaxe de expressão regular</a>. Cada item da sublista possui uma ou mais entradas.
-            No caso de sublistas de domínio, a solicitação de recurso só é verificada em relação ao item se a primeira entrada corresponder ao domínio do URL principal.</p>
+        <p>Initial domain lists check against the beginning of the domain. These are very common and placing them in their own sublist allows for more CPU-efficient checking of resource requests.
+            Regular expression lists follow the <a href="https://en.wikipedia.org/wiki/Regular_expression">regular expression syntax</a>.</p>
 
-        <p>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 filter list entries are processed is available at <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/">stoutner.com</a>.</p>
+        <p>The contents of the filter lists may be viewed by selecting <code>Filter Lists</code> from the options overflow menu (three dots in the upper-right corner) of the Requests activity.</p>
 
-        <p>Privacy Browser has three additional filter lists.
-            <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultralist/">UltraList</a> and
-            <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultraprivacy/">UltraPrivacy</a>
-            filters ads and trackers that EasyList and EasyPrivacy do not. The third 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 <code>www.website.com</code> loads a picture from <code>images.website.com</code>,
-            this is not blocked as a third-party request because they both share the same base domain of <code>website.com</code>.
-            Blocking all third-party requests increases privacy, but this filter list is disabled by default because it breaks a large number of websites.</p>
+        <img class="center222" src="images/filter_list_entry.png" alt="Request Details"/>
+
+        <p>Because of limitations in Android’s WebView, Privacy Browser implements a simplified interpretation of the Adblock syntax.
+            A more detailed description of how the filter list entries are processed is available at <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/">stoutner.com</a>.</p>
     </body>
 </html>
index aff29ff6650cc72417e7f5dbf22fa5c6b7a4eab7..260b5b2361bfc8bf9f0fc1556e17ff6d925fa172 100644 (file)
Binary files a/app/src/main/assets/pt-rBR/images/request_details.png and b/app/src/main/assets/pt-rBR/images/request_details.png differ
index 4d0ab4c34a12a50cc8ce3648bf2d1d23bb9ce919..69cefc46ae7fa8b43ec3a319c22c7500df6717fc 100644 (file)
@@ -1,6 +1,6 @@
 <!--
   SPDX-License-Identifier: GPL-3.0-or-later
-  SPDX-FileCopyrightText: 2016-2025 Soren Stoutner <soren@stoutner.com>
+  SPDX-FileCopyrightText: 2016-2026 Soren Stoutner <soren@stoutner.com>
 
   This file is part of Privacy Browser Android <https://www.stoutner.com/privacy-browser-android/>.
 
     </head>
 
     <body>
+        <h3><a href="https://www.stoutner.com/privacy-browser-android-3-20">3.20</a> (код версии 80)</h3>
+        <p>12 марта 2026 - minimum API 26, target API 36</p>
+        <ul>
+            <li>Refactor the <a href="https://redmine.stoutner.com/issues/1207">filter list</a> system.</li>
+            <li>Consider <a href="https://redmine.stoutner.com/issues/481">different subdomains</a> to be third-party requests.</li>
+            <li>Clear the cache <a href="https://redmine.stoutner.com/issues/1275">after every page load</a>.</li>
+            <li>Fix the <a href="https://redmine.stoutner.com/issues/1288">navigation bar not hiding</a> in full screen browsing mode on Android 10 (API <= 29).</li>
+            <li>Fix the status bar <a href="https://redmine.stoutner.com/issues/1286">drawing over the contents</a> of the bookmarks database view.</li>
+            <li>Fix images loading on restart <a href="https://redmine.stoutner.com/issues/1274">even when disabled</a>.</li>
+            <li>Remove the <a href="https://redmine.stoutner.com/issues/1253">open file as an MHT web archive</a> checkbox on Android 16 (API >= 35).</li>
+            <li>Bump the <a href="https://redmine.stoutner.com/issues/1283">target API to 36</a> (Android 16).</li>
+        </ul>
+
         <h3><a href="https://www.stoutner.com/privacy-browser-android-3-19-3">3.19.3</a> (код версии 79)</h3>
         <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=492ce8c35dc72821d2cc814fc730d09c3fef46d4;ds=sidebyside">31 января 2025 года</a> - минимальный API 26, целевой API 35</p>
         <ul>
@@ -71,7 +84,7 @@
         </ul>
 
         <h3><a href="https://www.stoutner.com/privacy-browser-android-3-18/">3.18</a> (код версии 74)</h3>
-        <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=5be67db45b84cd4d8abedf70d90ae584415348f6">27 Ð¸Ñ\8eня 2024 года</a> - минимальный API 26, целевой API 34</p>
+        <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=5be67db45b84cd4d8abedf70d90ae584415348f6">27 Ð¼Ð°я 2024 года</a> - минимальный API 26, целевой API 34</p>
         <ul>
             <li>Исправлено отсутствие возможности <a href="https://redmine.stoutner.com/issues/1197">выбора некоторых файлов в файловом менеджере</a> на ряде сайтов.</li>
             <li><a href="https://redmine.stoutner.com/issues/378">Синтаксис журнала logcat теперь подсвечивается цветами</a>,
         </ul>
 
         <h3><a href="https://www.stoutner.com/privacy-browser-android-3-13-4/">3.13.4</a> (код версии 68)</h3>
-        <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=7ab6a9027175e6a8f72b3f3683f8c4e05643d8bc">27 Ð¼Ð°Ñ\8f 2023 года</a> - минимальный API 24, целевой API 33</p>
+        <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=7ab6a9027175e6a8f72b3f3683f8c4e05643d8bc">27 Ð¼Ð°Ñ\80Ñ\82а 2023 года</a> - минимальный API 24, целевой API 33</p>
         <ul>
             <li>Исправлен <a href="https://redmine.stoutner.com/issues/981">сбой, периодически</a> возникавший после
                 <a href="https://redmine.stoutner.com/issues/963">устранения состояния гонки</a> в версии 3.13.3.</li>
         </ul>
 
         <h3><a href="https://www.stoutner.com/privacy-browser-android-3-13-3/">3.13.3</a> (код версии 67)</h3>
-        <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=c5359b173d559fc154bf7e4bd8fd65c951c529b3">13 Ð¼Ð°Ñ\8f 2023 года</a> - минимальный API 23, целевой API 33</p>
+        <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=c5359b173d559fc154bf7e4bd8fd65c951c529b3">13 Ð¼Ð°Ñ\80Ñ\82а 2023 года</a> - минимальный API 23, целевой API 33</p>
         <ul>
             <li>Исправлена ошибка, из-за которой <a href="https://redmine.stoutner.com/issues/963">текущая вкладка иногда не становилась активной</a>.</li>
         </ul>
         </ul>
 
         <h3><a href="https://www.stoutner.com/privacy-browser-3-10-1/">3.10.1</a> (код версии 59)</h3>
-        <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=b1f88361f33fde911642f568e71936c33bdcc530">2 Ð¼Ð°Ñ\8f 2022 года</a> - минимальный API 23, целевой API 31</p>
+        <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=b1f88361f33fde911642f568e71936c33bdcc530">2 Ð¼Ð°Ñ\80Ñ\82а 2022 года</a> - минимальный API 23, целевой API 31</p>
         <ul>
             <li>Исправлена ошибка, возникавшая <a href="https://redmine.stoutner.com/issues/808">при выполнении импорта/экспорта</a>.</li>
             <li>Исправлена проблема с <a href="https://redmine.stoutner.com/issues/810">пользовательским агентом</a>.</li>
index d9f03b1fb81c9a365ae85a3dc9d3a9bdd852dd76..fe3223cef11dc247e764409eae831cff12cdf01b 100644 (file)
             Исходный код доступен на <a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=summary">gitweb.stoutner.com</a>.</p>
 
         <h3>Списки фильтрации</h3>
-        <p><a href="https://easylist.to/easylist/easylist.txt">EasyList</a> и <a href="https://easylist.to/easylist/easyprivacy.txt">EasyPrivacy</a>
-            <a href="https://easylist.to/pages/licence.html">лицензированы</a> под лицензиями <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a>
-            и <a href="https://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution-ShareAlike 3.0+ Unported</a>.
-            Privacy Browser использует их с помощью опции GPLv3+.</p>
-
-        <p><a href="https://easylist.to/easylist/fanboy-annoyance.txt">Fanboy’s Annoyance List</a> и <a href="https://easylist.to/easylist/fanboy-social.txt">Fanboy’s Social Blocking List</a>
-            выпущены под лицензией <a href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0 Unported</a>,
-            которая <a href="https://www.gnu.org/licenses/license-list.en.html#ccby">совместима с GPLv3+</a>. Списки включены без изменений в Privacy Browser.</p>
+        <p><a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultraprivacy/">UltraPrivacy</a> and <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultralist/">UltraList</a>
+            are developed by Stoutner. They are released under the <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a>.</p>
+
+        <p><a href="https://easylist.to/easylist/easylist.txt">EasyList</a> and <a href="https://easylist.to/easylist/easyprivacy.txt">EasyPrivacy</a> are
+            <a href="https://easylist.to/pages/licence.html">dual licensed</a> under the <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a> or the
+            <a href="https://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution-ShareAlike 3.0+ Unported</a> licenses. Privacy Browser incorporates them using the GPLv3+ option.</p>
+
+        <p><a href="https://easylist.to/easylist/fanboy-annoyance.txt">Fanboy’s Annoyance List</a> is released under the
+            <a href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0 Unported license</a>,
+            which is <a href="https://www.gnu.org/licenses/license-list.en.html#ccby">compatible with the GPLv3+</a>. This list is included unchanged in Privacy Browser.</p>
 
         <p>Более подробную информацию о списках фильтрации можно найти <a href="https://easylist.to/">на сайте EasyList</a>.</p>
 
index 34a5c21dc57f5bf73a1e1259ed8c2b4cb8ec8c5e..942414ff63eafaefad8b58d97a283409b1904b8b 100644 (file)
@@ -1,6 +1,6 @@
 <!--
   SPDX-License-Identifier: GPL-3.0-or-later
-  SPDX-FileCopyrightText: 2018-2020, 2022-2023, 2025 Soren Stoutner <soren@stoutner.com>
+  SPDX-FileCopyrightText: 2018-2020, 2022-2023, 2025-2026 Soren Stoutner <soren@stoutner.com>
 
   This file is part of Privacy Browser Android <https://www.stoutner.com/privacy-browser-android/>.
 
             В навигационном меню имеется ссылка на активность запросов, а также показано, сколько запросов было заблокировано.
             При нажатии на запрос отображаются сведения о том, почему он был разрешен или заблокирован.</p>
 
-        <img class="center" src="images/request_details.png" alt="Request Details"/>
+        <img class="center222" src="images/request_details.png" alt="Request Details"/>
 
-        <p>Privacy Browser включает четыре <a href="https://easylist.to/">основных списка фильтрации</a> основанных на <a href="https://adblockplus.org/filters">синтаксисе Adblock</a>:
-            EasyList, EasyPrivacy, Fanboy’s Annoyance и Fanboy’s Social.
-            Эти списки фильтрации преобразуются Privacy Browser в следующие 22 подсписка, которые проверяют запросы ресурсов в перечисленном порядке.</p>
+        <p>Before a web page loads a resource, it is checked against the filter lists that are enabled in the following order:</p>
 
         <ol>
-            <li>Основной список разрешенных</li>
-            <li>Окончательный список разрешенных</li>
-            <li>Список разрешенных доменов</li>
-            <li>Начальный список разрешенных доменов</li>
-            <li>Окончательный список разрешенных доменов</li>
-            <li>Сторонний список разрешенных</li>
-            <li>Сторонний список разрешенных доменов</li>
-            <li>Начальный список разрешенных сторонних доменов</li>
-            <li>Основной список блокировки</li>
-            <li>Начальный список блокировки</li>
-            <li>Окончательный список блокировки</li>
-            <li>Список блокировки доменов</li>
-            <li>Начальный список блокировки доменов</li>
-            <li>Окончательный список блокировки доменов</li>
-            <li>Список блокировки доменов по регулярным выражениям</li>
-            <li>Сторонний список блокировки</li>
-            <li>Сторонний начальный список блокировки</li>
-            <li>Сторонний список блокировки доменов</li>
-            <li>Сторонний начальный список блокировки доменов</li>
-            <li>Сторонний список блокировки по регулярным выражениям</li>
-            <li>Сторонний список блокировки доменов по регулярным выражениям</li>
-            <li>Список блокировки регулярными выражениями</li>
+            <li>Block All Third-Party Requests</li>
+            <li>UltraPrivacy</li>
+            <li>UltraList</li>
+            <li>EasyPrivacy</li>
+            <li>EasyList</li>
+            <li>Fanboy’s Annoyance List</li>
         </ol>
 
-        <p>Исходные списки проверяются на начало URL-адреса. Окончательные списки проверяются на конец URL-адреса. Списки доменов проверяют только определенные домены.
-            Сторонние списки применяются только в том случае, если корневой домен запроса отличается от корневого домена основного URL-адреса.
-            Списки регулярных выражений следуют за <a href="https://ru.wikipedia.org/wiki/Регулярные_выражения">синтаксисом регулярных выражений</a>.
-            Каждый элемент подсписка имеет одну или несколько записей.
-            В случае подсписков домена, запрос ресурса проверяется только в отношении элемента, если первая запись соответствует домену основного URL-адреса.</p>
+        <p>All of these lists except for the first are based on the <a href="https://adblockplus.org/filters">Adblock syntax</a>.
+            <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultraprivacy/">UltraPrivacy</a> and <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultralist/">UltraList</a>
+            are maintained by Stoutner. The last three filter lists come from the <a href="https://easylist.to/">EasyList project</a>.</p>
 
-        <p>Из-за ограничений WebView в Android и для ускорения обработки запросов, Privacy Browser реализует упрощенную интерпретацию синтаксиса Adblock.
-            Иногда это может привести к ложным срабатываниям, когда ресурсы разрешаются или блокируются не так, как предполагалось в исходной записи.
-            Более подробное описание того, как обрабатываются записи списка фильтрации, можно найти на <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/">stoutner.com</a>.</p>
+        <p>The raw entries from the filter lists are processed into 6 sublists.</p>
+
+        <ol>
+            <li>Main Allow List</li>
+            <li>Initial Domain Allow List</li>
+            <li>Regular Expression Allow List</li>
+            <li>Main Block List</li>
+            <li>Initial Domain Block List</li>
+            <li>Regular Expression Block List</li>
+        </ol>
 
-        <p>Privacy Browser имеет три дополнительных списка фильтрации.
-            <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultralist/">UltraList</a> и
-            <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultraprivacy/">UltraPrivacy</a>
-            они фильтруют рекламу и трекеры, которые не фильтруют EasyList и EasyPrivacy. Третий блокирует все сторонние запросы.
-            Запрос считается сторонним, только если базовый домен запроса отличается от URL базового домена.
-            Например, если <code>www.website.com</code> загружает изображение с сайта <code>images.website.com</code>,
-            он не будет заблокирован как сторонний запрос, поскольку оба они используют один и тот же базовый домен <code>website.com</code>.
-            Блокировка всех сторонних запросов повышает конфиденциальность, но этот список фильтров отключен по умолчанию, поскольку он нарушает работу большого количества сайтов.</p>
+        <p>Initial domain lists check against the beginning of the domain. These are very common and placing them in their own sublist allows for more CPU-efficient checking of resource requests.
+            Regular expression lists follow the <a href="https://en.wikipedia.org/wiki/Regular_expression">regular expression syntax</a>.</p>
+
+        <p>The contents of the filter lists may be viewed by selecting <code>Filter Lists</code> from the options overflow menu (three dots in the upper-right corner) of the Requests activity.</p>
+
+        <img class="center222" src="images/filter_list_entry.png" alt="Request Details"/>
+
+        <p>Because of limitations in Android’s WebView, Privacy Browser implements a simplified interpretation of the Adblock syntax.
+            Более подробное описание того, как обрабатываются записи списка фильтрации, можно найти на <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/">stoutner.com</a>.</p>
     </body>
 </html>
index 13b3f2f985816f803d3e41d20603139f22f983e8..a93814d37646be787127254c2edfbd3ab0546d14 100644 (file)
     </head>
 
     <body>
+        <h3><a href="https://www.stoutner.com/privacy-browser-android-3-20">3.20</a> (version code 80)</h3>
+        <p>12 Mart 2026 - minimum API 26, target API 36</p>
+        <ul>
+            <li>Refactor the <a href="https://redmine.stoutner.com/issues/1207">filter list</a> system.</li>
+            <li>Consider <a href="https://redmine.stoutner.com/issues/481">different subdomains</a> to be third-party requests.</li>
+            <li>Clear the cache <a href="https://redmine.stoutner.com/issues/1275">after every page load</a>.</li>
+            <li>Fix the <a href="https://redmine.stoutner.com/issues/1288">navigation bar not hiding</a> in full screen browsing mode on Android 10 (API <= 29).</li>
+            <li>Fix the status bar <a href="https://redmine.stoutner.com/issues/1286">drawing over the contents</a> of the bookmarks database view.</li>
+            <li>Fix images loading on restart <a href="https://redmine.stoutner.com/issues/1274">even when disabled</a>.</li>
+            <li>Remove the <a href="https://redmine.stoutner.com/issues/1253">open file as an MHT web archive</a> checkbox on Android 16 (API >= 35).</li>
+            <li>Bump the <a href="https://redmine.stoutner.com/issues/1283">target API to 36</a> (Android 16).</li>
+        </ul>
+
         <h3><a href="https://www.stoutner.com/privacy-browser-android-3-19-3">3.19.3</a> (version code 79)</h3>
         <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=492ce8c35dc72821d2cc814fc730d09c3fef46d4;ds=sidebyside">31 Ocak 2025</a> - minimum API 26, target API 35</p>
         <ul>
index 9835f283d45a83c0b93326d78970837af77bd787..5754f87eb68e522dfbd269f1ce3aa0b29adca56a 100644 (file)
             Kaynak kodu <a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=summary">gitweb.stoutner.com</a> adresinden temin edilebilir.</p>
 
         <h3>Filter Lists</h3>
-        <p><a href="https://easylist.to/easylist/easylist.txt">EasyList</a> ve <a href="https://easylist.to/easylist/easyprivacy.txt">EasyPrivacy</a> listeleri
-            <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a> ve <a href="https://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution-ShareAlike 3.0+ Unported</a>
-            lisansları altında <a href="https://easylist.to/pages/licence.html">çift lisanslıdır</a>.
-            Privacy Browser GPLv3+ seçeneğini kullanarak bunları kapsama almıştır.</p>
-
-        <p><a href="https://easylist.to/easylist/fanboy-annoyance.txt">Fanboy’s Annoyance List</a> ve <a href="https://easylist.to/easylist/fanboy-social.txt">Fanboy’s Social Blocking List</a> listeleri
-            <a href="https://www.gnu.org/licenses/license-list.en.html#ccby">GPLv3+ ile uyumlu olan</a>
-            <a href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0 Unported license</a> lisansı altında yayınlandı. Listeler Privacy Browser'a değiştirilmeden eklenmiştir.</p>
+        <p><a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultraprivacy/">UltraPrivacy</a> and <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultralist/">UltraList</a>
+            are developed by Stoutner. They are released under the <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a>.</p>
+
+        <p><a href="https://easylist.to/easylist/easylist.txt">EasyList</a> and <a href="https://easylist.to/easylist/easyprivacy.txt">EasyPrivacy</a> are
+            <a href="https://easylist.to/pages/licence.html">dual licensed</a> under the <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a> or the
+            <a href="https://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution-ShareAlike 3.0+ Unported</a> licenses. Privacy Browser incorporates them using the GPLv3+ option.</p>
+
+        <p><a href="https://easylist.to/easylist/fanboy-annoyance.txt">Fanboy’s Annoyance List</a> is released under the
+            <a href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0 Unported license</a>,
+            which is <a href="https://www.gnu.org/licenses/license-list.en.html#ccby">compatible with the GPLv3+</a>. This list is included unchanged in Privacy Browser.</p>
 
         <p>More information about the filter lists can be found on the <a href="https://easylist.to/">EasyList website</a>.</p>
 
index b15e4daf1a94de9e7d2d9e93084b1035f7538bb8..74763ff5e044512903c9984174e77ef02db94cdd 100644 (file)
@@ -1,6 +1,6 @@
 <!--
   SPDX-License-Identifier: GPL-3.0-or-later
-  SPDX-FileCopyrightText: 2018-2020, 2022-2023, 2025 Soren Stoutner <soren@stoutner.com>
+  SPDX-FileCopyrightText: 2018-2020, 2022-2023, 2025-2026 Soren Stoutner <soren@stoutner.com>
 
   This file is part of Privacy Browser Android <https://www.stoutner.com/privacy-browser-android/>.
 
             Gezinti çekmecesi, İstekler etkinliğine götüren bir bağlantı içerir ve ayrıca bu etkinlik kaç tane isteğin engellediğini gösterir.
             Bir isteğe dokunulduğunda, neden izin verildiğine ya da engellendiğine dair detaylar görüntülenir.</p>
 
-        <img class="center" src="images/request_details.png" alt="Request Details"/>
+        <img class="center222" src="images/request_details.png" alt="Request Details"/>
 
-        <p>Privacy Browser includes four <a href="https://easylist.to/">common filter lists</a> based on the <a href="https://adblockplus.org/filters">Adblock syntax</a>:
-            EasyList, EasyPrivacy, Fanboy’s Annoyance List, and Fanboy’s Social Blocking List.
-            These filter lists are processed by Privacy Browser into the following 22 sublists, which check resource requests in the order listed.</p>
+        <p>Before a web page loads a resource, it is checked against the filter lists that are enabled in the following order:</p>
+
+        <ol>
+            <li>Block All Third-Party Requests</li>
+            <li>UltraPrivacy</li>
+            <li>UltraList</li>
+            <li>EasyPrivacy</li>
+            <li>EasyList</li>
+            <li>Fanboy’s Annoyance List</li>
+        </ol>
+
+        <p>All of these lists except for the first are based on the <a href="https://adblockplus.org/filters">Adblock syntax</a>.
+            <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultraprivacy/">UltraPrivacy</a> and <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultralist/">UltraList</a>
+            are maintained by Stoutner. The last three filter lists come from the <a href="https://easylist.to/">EasyList project</a>.</p>
+
+        <p>The raw entries from the filter lists are processed into 6 sublists.</p>
 
         <ol>
             <li>Main Allow List</li>
-            <li>Final Allow List</li>
-            <li>Domain Allow List</li>
-            <li>Domain Initial Allow List</li>
-            <li>Domain Final Allow List</li>
-            <li>Third-Party Allow List</li>
-            <li>Third-Party Domain Allow List</li>
-            <li>Third-Party Domain Initial Allow List</li>
+            <li>Initial Domain Allow List</li>
+            <li>Regular Expression Allow List</li>
             <li>Main Block List</li>
-            <li>Initial Block List</li>
-            <li>Final Block List</li>
-            <li>Domain Block List</li>
-            <li>Domain Initial Block List</li>
-            <li>Domain Final Block List</li>
-            <li>Domain Regular Expression Block List</li>
-            <li>Third-Party Block List</li>
-            <li>Third-Party Initial Block List</li>
-            <li>Third-Party Domain Block List</li>
-            <li>Third-Party Domain Initial Block List</li>
-            <li>Third-Party Regular Expression Block List</li>
-            <li>Third-Party Domain Regular Expression Block List</li>
+            <li>Initial Domain Block List</li>
             <li>Regular Expression Block List</li>
         </ol>
 
-        <p>Başlangıç listeleri, URL'nin başlangıcına göre kontrol eder. Final listeleri, URL'nin sonuna göre kontrol eder. Domain listeleri, yalnızca belli domainlere göre kontrol eder.
-            Üçüncü taraf listeleri, yalnızca isteğin kök domaini ana URL'nin kök domaininden farklıysa uygulanır.
-            Düzenli ifade listeleri, <a href="https://en.wikipedia.org/wiki/Regular_expression">düzenli ifade sözdizimini (regular expression syntax)</a> takip eder.
-            Her alt liste öğesinin bir veya daha fazla girdisi vardır.
-            Domain alt listeleri işe karıştığında, ilk girdi ana URL'nin domaini ile eşleşirse, kaynak isteği yalnızca öğeye göre kontrol edilir.</p>
+        <p>Initial domain lists check against the beginning of the domain. These are very common and placing them in their own sublist allows for more CPU-efficient checking of resource requests.
+            Regular expression lists follow the <a href="https://en.wikipedia.org/wiki/Regular_expression">regular expression syntax</a>.</p>
 
-        <p>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 filter list entries are processed is available at <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/">stoutner.com</a>.</p>
+        <p>The contents of the filter lists may be viewed by selecting <code>Filter Lists</code> from the options overflow menu (three dots in the upper-right corner) of the Requests activity.</p>
 
-        <p>Privacy Browser has three additional filter lists.
-            <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultralist/">UltraList</a> and
-            <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultraprivacy/">UltraPrivacy</a>
-            filters ads and trackers that EasyList and EasyPrivacy do not. The third 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 <code>www.website.com</code> loads a picture from <code>images.website.com</code>,
-            this is not blocked as a third-party request because they both share the same base domain of <code>website.com</code>.
-            Blocking all third-party requests increases privacy, but this filter list is disabled by default because it breaks a large number of websites.</p>
+        <img class="center222" src="images/filter_list_entry.png" alt="Request Details"/>
+
+        <p>Because of limitations in Android’s WebView, Privacy Browser implements a simplified interpretation of the Adblock syntax.
+            A more detailed description of how the filter list entries are processed is available at <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/">stoutner.com</a>.</p>
     </body>
 </html>
index 62a5810af0ae3e7b771e319feafcbdcdf08afaeb..57b26d35f2286681c528ec2293ae4f739dcf3b98 100644 (file)
Binary files a/app/src/main/assets/tr/images/request_details.png and b/app/src/main/assets/tr/images/request_details.png differ
index 70e2a7df03cab48bdadf68a50b95a422540532b5..ae54b5b01fc086935892b4095025f12b767fd760 100644 (file)
     </head>
 
     <body>
+        <h3><a href="https://www.stoutner.com/privacy-browser-android-3-20">3.20</a> (version code 80)</h3>
+        <p>12 March 2026 - 最低支持API 26, 最高支持API 36</p>
+        <ul>
+            <li>Refactor the <a href="https://redmine.stoutner.com/issues/1207">filter list</a> system.</li>
+            <li>Consider <a href="https://redmine.stoutner.com/issues/481">different subdomains</a> to be third-party requests.</li>
+            <li>Clear the cache <a href="https://redmine.stoutner.com/issues/1275">after every page load</a>.</li>
+            <li>Fix the <a href="https://redmine.stoutner.com/issues/1288">navigation bar not hiding</a> in full screen browsing mode on Android 10 (API <= 29).</li>
+            <li>Fix the status bar <a href="https://redmine.stoutner.com/issues/1286">drawing over the contents</a> of the bookmarks database view.</li>
+            <li>Fix images loading on restart <a href="https://redmine.stoutner.com/issues/1274">even when disabled</a>.</li>
+            <li>Remove the <a href="https://redmine.stoutner.com/issues/1253">open file as an MHT web archive</a> checkbox on Android 16 (API >= 35).</li>
+            <li>Bump the <a href="https://redmine.stoutner.com/issues/1283">target API to 36</a> (Android 16).</li>
+        </ul>
+
         <h3><a href="https://www.stoutner.com/privacy-browser-android-3-19-3">3.19.3</a> (version code 79)</h3>
         <p><a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=commitdiff;h=492ce8c35dc72821d2cc814fc730d09c3fef46d4;ds=sidebyside">31 January 2025</a> - 最低支持API 26, 最高支持API 35</p>
         <ul>
index 92e9e21c0a58bc2b1651544b708c59a3951cc42d..5c2aa7c65b31b850c0dc37d0b2083bb9a4c051b0 100644 (file)
             证书的完整内容在下面,源代码可以从<a href="https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=summary">gitweb.stoutner.com</a>获得。</p>
 
         <h3>Filter Lists</h3>
-        <p><a href="https://easylist.to/easylist/easylist.txt">EasyList</a>和<a href="https://easylist.to/easylist/easyprivacy.txt">EasyPrivacy</a>
-            <a href="https://easylist.to/pages/licence.html">是</a><a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a>
-            和<a href="https://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution-ShareAlike 3.0+ Unported</a>双重许可。Privacy Browser通过GPLv3+选项打开他们.</p>
+        <p><a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultraprivacy/">UltraPrivacy</a> and <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultralist/">UltraList</a>
+            are developed by Stoutner. They are released under the <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a>.</p>
 
-        <p><a href="https://easylist.to/easylist/fanboy-annoyance.txt">Fanboy’s Annoyance List</a>和<a href="https://easylist.to/easylist/fanboy-social.txt">Fanboy’s Social Blocking List</a>
-            基于<a href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0 Unported license</a>,
-            可以<a href="https://www.gnu.org/licenses/license-list.en.html#ccby">和GPLv3+共存。</a>这些没有更改的添加到Privacy Browser。</p>
+        <p><a href="https://easylist.to/easylist/easylist.txt">EasyList</a> and <a href="https://easylist.to/easylist/easyprivacy.txt">EasyPrivacy</a> are
+            <a href="https://easylist.to/pages/licence.html">dual licensed</a> under the <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+</a> or the
+            <a href="https://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution-ShareAlike 3.0+ Unported</a> licenses. Privacy Browser incorporates them using the GPLv3+ option.</p>
+
+        <p><a href="https://easylist.to/easylist/fanboy-annoyance.txt">Fanboy’s Annoyance List</a> is released under the
+            <a href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0 Unported license</a>,
+            which is <a href="https://www.gnu.org/licenses/license-list.en.html#ccby">compatible with the GPLv3+</a>. This list is included unchanged in Privacy Browser.</p>
 
         <p>More information about the filter lists can be found on the <a href="https://easylist.to/">EasyList website</a>.</p>
 
index f232b2bacf5d10add4c5bcb1e232e0f4fc57cbf3..77aebf170cc798e2353e2704418866aa79d68ded 100644 (file)
@@ -1,6 +1,6 @@
 <!--
   SPDX-License-Identifier: GPL-3.0-or-later
-  SPDX-FileCopyrightText: 2018, 2020, 2022-2023, 2025 Soren Stoutner <soren@stoutner.com>
+  SPDX-FileCopyrightText: 2018, 2020, 2022-2023, 2025-2026 Soren Stoutner <soren@stoutner.com>
 
   Translation 2023 Xin.  Copyright assigned to Soren Stoutner <soren@stoutner.com>.
 
 
         <p>当一个链接加载,会对CCS,JavaScript,图片,和其他东西产生一个标志性的数字,这些请求的详细内容可以在请求活动中查看。导航栏显示链接请求数和被拒绝的请求数,点击请求来获得他为什么被拒绝或允许。</p>
 
-        <img class="center" src="images/request_details.png" alt="Request Details"/>
+        <img class="center222" src="images/request_details.png" alt="Request Details"/>
 
-        <p>Privacy Browser includes four <a href="https://easylist.to/">common filter lists</a> based on the <a href="https://adblockplus.org/filters">Adblock syntax</a>:
-            EasyList, EasyPrivacy, Fanboy’s Annoyance List, and Fanboy’s Social Blocking List.
-            These filter lists are processed by Privacy Browser into the following 22 sublists, which check resource requests in the order listed.</p>
+        <p>Before a web page loads a resource, it is checked against the filter lists that are enabled in the following order:</p>
+
+        <ol>
+            <li>Block All Third-Party Requests</li>
+            <li>UltraPrivacy</li>
+            <li>UltraList</li>
+            <li>EasyPrivacy</li>
+            <li>EasyList</li>
+            <li>Fanboy's Annoyance List</li>
+        </ol>
+
+        <p>All of these lists except for the first are based on the <a href="https://adblockplus.org/filters">Adblock syntax</a>.
+            <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultraprivacy/">UltraPrivacy</a> and <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultralist/">UltraList</a>
+            are maintained by Stoutner. The last three filter lists come from the <a href="https://easylist.to/">EasyList project</a>.</p>
+
+        <p>The raw entries from the filter lists are processed into 6 sublists.</p>
 
         <ol>
             <li>Main Allow List</li>
-            <li>Final Allow List</li>
-            <li>Domain Allow List</li>
-            <li>Domain Initial Allow List</li>
-            <li>Domain Final Allow List</li>
-            <li>Third-Party Allow List</li>
-            <li>Third-Party Domain Allow List</li>
-            <li>Third-Party Domain Initial Allow List</li>
+            <li>Initial Domain Allow List</li>
+            <li>Regular Expression Allow List</li>
             <li>Main Block List</li>
-            <li>Initial Block List</li>
-            <li>Final Block List</li>
-            <li>Domain Block List</li>
-            <li>Domain Initial Block List</li>
-            <li>Domain Final Block List</li>
-            <li>Domain Regular Expression Block List</li>
-            <li>Third-Party Block List</li>
-            <li>Third-Party Initial Block List</li>
-            <li>Third-Party Domain Block List</li>
-            <li>Third-Party Domain Initial Block List</li>
-            <li>Third-Party Regular Expression Block List</li>
-            <li>Third-Party Domain Regular Expression Block List</li>
+            <li>Initial Domain Block List</li>
             <li>Regular Expression Block List</li>
         </ol>
 
-        <p>初始列表检查 URL 的开头。最终列表检查 URL 的末尾。域列表仅检查某些域。第三方列表仅在请求的根域与主 URL 的根域不同时才适用。正则表达式列表遵循<a href="https://en.wikipedia.org/wiki/Regular_expression">正则表达式语法</a>。
-            每个子列表项都有一个或多个条目。在域子列表的情况下,如果第一个条目与主 URL 的域匹配,则仅根据项目检查资源请求。</p>
+        <p>Initial domain lists check against the beginning of the domain. These are very common and placing them in their own sublist allows for more CPU-efficient checking of resource requests.
+            Regular expression lists follow the <a href="https://en.wikipedia.org/wiki/Regular_expression">regular expression syntax</a>.</p>
 
-        <p>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 filter list entries are processed is available at <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/">stoutner.com</a>.</p>
+        <p>The contents of the filter lists may be viewed by selecting <code>Filter Lists</code> from the options overflow menu (three dots in the upper-right corner) of the Requests activity.</p>
 
-        <p>Privacy Browser has three additional filter lists.
-            <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultralist/">UltraList</a> and
-            <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/ultraprivacy/">UltraPrivacy</a>
-            filters ads and trackers that EasyList and EasyPrivacy do not. The third 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 <code>www.website.com</code> loads a picture from <code>images.website.com</code>,
-            this is not blocked as a third-party request because they both share the same base domain of <code>website.com</code>.
-            Blocking all third-party requests increases privacy, but this filter list is disabled by default because it breaks a large number of websites.</p>
+        <img class="center222" src="images/filter_list_entry.png" alt="Request Details"/>
+
+        <p>Because of limitations in Android's WebView, Privacy Browser implements a simplified interpretation of the Adblock syntax.
+            A more detailed description of how the filter list entries are processed is available at <a href="https://www.stoutner.com/privacy-browser-android/filter-lists/">stoutner.com</a>.</p>
     </body>
 </html>
index 9305392858b66c62d39e311215e1e774adbc2200..d7d2fc5062b97a00dc6e3f71458547beb77b361d 100644 (file)
Binary files a/app/src/main/assets/zh-rCN/images/request_details.png and b/app/src/main/assets/zh-rCN/images/request_details.png differ
index c5093e444c72e3cfd13e81f32e6a1203bae94dbb..1e8f8fc4f9129f30ec14710462f4e80981840d55 100644 (file)
@@ -1,20 +1,20 @@
-/*
- * Copyright 2019, 2021-2026 Soren Stoutner <soren@stoutner.com>.
+/* SPDX-License-Identifier: GPL-3.0-or-later
+ * SPDX-FileCopyrightText: 2019, 2021-2026 Soren Stoutner <soren@stoutner.com>
  *
- * This file is part of Privacy Browser Android <https://www.stoutner.com/privacy-browser-android>.
+ * This file is part of Privacy Browser Android <https://www.stoutner.com/privacy-browser-android/>.
  *
- * Privacy Browser Android is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later
+ * version.
  *
- * Privacy Browser Android is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+ * details.
  *
- * You should have received a copy of the GNU General Public License
- * along with Privacy Browser Android.  If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU General Public License along with
+ * this program.  If not, see <https://www.gnu.org/licenses/>.
  */
 
 package com.stoutner.privacybrowser.coroutines
index 58057b780407edf9dfbcb9303b7574ed2c45b7ec..bbe9507f6b56a30816577f7123a62dc155734a4e 100644 (file)
@@ -1,29 +1,29 @@
-/*
- * Copyright © 2016-2022 Soren Stoutner <soren@stoutner.com>.
+/* SPDX-License-Identifier: GPL-3.0-or-later
+ * SPDX-FileCopyrightText: 2016-2022, 2026 Soren Stoutner <soren@stoutner.com>
  *
- * This file is part of Privacy Browser Android <https://www.stoutner.com/privacy-browser-android>.
+ * This file is part of Privacy Browser Android <https://www.stoutner.com/privacy-browser-android/>.
  *
- * Privacy Browser Android is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later
+ * version.
  *
- * Privacy Browser Android is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+ * details.
  *
- * You should have received a copy of the GNU General Public License
- * along with Privacy Browser Android.  If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU General Public License along with
+ * this program.  If not, see <https://www.gnu.org/licenses/>.
  */
 
 package com.stoutner.privacybrowser.helpers
 
 import android.content.Context
 import android.content.Intent
-import android.net.Uri
 import android.view.View
 
+import androidx.core.net.toUri
 import androidx.preference.PreferenceManager
 import androidx.webkit.ProxyConfig
 import androidx.webkit.ProxyController
@@ -92,7 +92,7 @@ class ProxyHelper {
                 try {
                     // Add the proxy to the builder.
                     proxyConfigBuilder.addProxyRule(customProxyUrlString!!)
-                } catch (exception: Exception) {  // The custom proxy URL is invalid.
+                } catch (_: Exception) {  // The custom proxy URL is invalid.
                     // Display a Snackbar.
                     Snackbar.make(activityView, R.string.custom_proxy_invalid, Snackbar.LENGTH_LONG).show()
                 }
@@ -114,7 +114,7 @@ class ProxyHelper {
                 try {
                     // Apply the proxy.  A default executor and runnable are used.
                     proxyController.setProxyOverride(proxyConfig, {}, {})
-                } catch (exception: IllegalArgumentException) {  // The proxy config is invalid.
+                } catch (_: IllegalArgumentException) {  // The proxy config is invalid.
                     // Display a Snackbar.
                     Snackbar.make(activityView, R.string.custom_proxy_invalid, Snackbar.LENGTH_LONG).show()
                 }
@@ -146,12 +146,12 @@ class ProxyHelper {
                 val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context)
 
                 // Get the custom proxy URL string.
-                val customProxyUrlString = sharedPreferences.getString(context.getString(R.string.proxy_custom_url_key), context.getString(R.string.proxy_custom_url_default_value))
+                val customProxyUrlString = sharedPreferences.getString(context.getString(R.string.proxy_custom_url_key), context.getString(R.string.proxy_custom_url_default_value))!!
 
                 // Parse the custom proxy URL.
                 try {
                     // Convert the custom proxy URL string to a URI.
-                    val customProxyUri = Uri.parse(customProxyUrlString)
+                    val customProxyUri = customProxyUrlString.toUri()
 
                     // Get the custom socket address.
                     val customSocketAddress: SocketAddress = InetSocketAddress.createUnresolved(customProxyUri.host, customProxyUri.port)
@@ -167,7 +167,7 @@ class ProxyHelper {
                         // Create an HTTP proxy.
                         Proxy(Proxy.Type.HTTP, customSocketAddress)
                     }
-                } catch (exception: Exception) {  // The custom proxy cannot be parsed.
+                } catch (_: Exception) {  // The custom proxy cannot be parsed.
                     // Disable the proxy.
                     Proxy.NO_PROXY
                 }
index cf234c55d6301a3acaccd616f42dd6fe1480d788..e3839aca4dc1532ccada0f60fa2816864ca95eb8 100644 (file)
         <string name="main_blocklist">Haupt-Negativ-Liste</string>
         <string name="regular_expression_blocklist">Negativ-Liste für reguläre Ausdrücke</string>
 
+    <!-- Filter Lists. -->
+    <string name="filterlist_view_entry">%1$d. %2$s</string>
+
     <!-- Domains. -->
     <string name="domains">Domains</string>
     <string name="domain_settings">Domain-Einstellungen</string>
index f94ed59faf0d3fe27dd76f8ada1001d63f84cd6d..e6aec390132dc701d24b754ee90615f6d2da0ec1 100644 (file)
         <string name="main_blocklist">Lista principal de bloqueos</string>
         <string name="regular_expression_blocklist">Lista de bloqueo de expresiones regulares</string>
 
+    <!-- Filter Lists. -->
+    <string name="filterlist_view_entry">%1$d. %2$s</string>
+
     <!-- Domains. -->
     <string name="domains">Dominios</string>
     <string name="domain_settings">Configuración de dominio</string>
index cfd7c7a378ddc38259deba302bb8da94cc267299..ddb407385ea6c1b1a56d5dd374ed6c3dc5f900ed 100644 (file)
         <string name="main_blocklist">Liste principale de blocage</string>
         <string name="regular_expression_blocklist">Expression régulière de liste de blocage</string>
 
+    <!-- Filter Lists. -->
+    <string name="filterlist_view_entry">%1$d. %2$s</string>
+
     <!-- Domains. -->
     <string name="domains">Domaines</string>
     <string name="domain_settings">Paramétrage domaines</string>
index f75783b705ad89a494b5727ac03c098ddfb3d41c..172df3903d63fae40be706bc343e81bd460bc544 100644 (file)
         <string name="main_blocklist">Lista principale bloccati</string>
         <string name="regular_expression_blocklist">Lista di blocco espressioni regolari</string>
 
+    <!-- Filter Lists. -->
+    <string name="filterlist_view_entry">%1$d. %2$s</string>
+
     <!-- Domains. -->
     <string name="domains">Domini</string>
     <string name="domain_settings">Impostazioni Domini</string>
index f6f12e0fdd0cbc13a38d9f9c17c2b55d00db68fd..de1363aada4cb9e63cd1c369f4a3898d422a05e6 100644 (file)
         <string name="blocked_plural">Bloqueados</string>
         <string name="sublist">Sublista</string>
 
+    <!-- Filter Lists. -->
+    <string name="filterlist_view_entry">%1$d. %2$s</string>
+
     <!-- Domains. -->
     <string name="domains">Domínios</string>
     <string name="domain_settings">Configurações de domínio</string>
index 805412882aabae0ae0e0e7bb87ee66be94248fa4..2b6210806f2793554246d17bc4343c4ae404ca3b 100644 (file)
         <string name="main_blocklist">Основной список блокировки</string>
         <string name="regular_expression_blocklist">Список блокировки регулярными выражениями</string>
 
+    <!-- Filter Lists. -->
+    <string name="filterlist_view_entry">%1$d. %2$s</string>
+
     <!-- Domains. -->
     <string name="domains">Домены</string>
     <string name="domain_settings">Настройки домена</string>
index 28af454b1299832632cdeb993b4a4d47b77544bd..4987430550794b19f55d14a55a2d2584ac59584a 100644 (file)
         <string name="blocked_plural">Engellendi</string>
     <string name="sublist">Alt liste</string>
 
+    <!-- Filter Lists. -->
+    <string name="filterlist_view_entry">%1$d. %2$s</string>
+
     <!-- Domains. -->
     <string name="domains">Domainler</string>
     <string name="domain_settings">Domain ayarları</string>
index 02f4d05f399c590fdf367d800ef9958821daeebe..a1eba212b537cfadf83e63922eb682f2c43f6ecc 100644 (file)
         <string name="blocked_plural">不允许</string>
     <string name="sublist">子表</string>
 
+    <!-- Filter Lists. -->
+    <string name="filterlist_view_entry">%1$d. %2$s</string>
+
     <!-- Domains. -->
     <string name="domains">域名</string>
     <string name="domain_settings">域名设置</string>