<legalnotice>&FDLNotice;</legalnotice>
<!-- Last update. -->
- <date>2023-02-22</date>
+ <date>2023-06-13</date>
<!-- The version of Privacy Browser this documentation is written for. -->
- <releaseinfo>&privacybrowser; version 0.1</releaseinfo>
+ <releaseinfo>&privacybrowser; version 0.4</releaseinfo>
<!-- Abstract about this handbook -->
<para>
<mediaobject>
<imageobject>
- <imagedata fileref="privacybrowser.png" format="PNG"/>
+ <imagedata fileref="privacybrowser-window.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Screenshot</phrase>
</para>
</sect1>
+ <!-- HTTP Pings. -->
+ <sect1 id="http-pings">
+ <title>HTTP Pings</title>
+
+ <para>
+ HTTP hyperlinks can have an extra <ulink url="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#ping">ping attribute</ulink> that sends a POST request to a different URL.
+ These HTTP pings are commonly used for tracking.
+ <ulink url="https://www.theregister.com/2019/04/06/apple_safari_changes/">Most browsers</ulink> send HTTP pings without informing the user
+ <ulink url="https://lists.w3.org/Archives/Public/public-html/2018May/0027.html">in any way</ulink>
+ (despite what The Register article says, current versions of FireFox also happily send HTTP pings).
+ </para>
+
+ <para>
+ Privacy Browser blocks all HTTP pings and presents a dialog informing the user every time the current tab attempts to send one.
+ Hopefully, as more people become aware of what HTTP pings are, web sites will become more embarrassed about using them.
+ This is a classic example of how those who wrote the HTTP specs do not have the best interests of internet users at heart. I would like the day to come when this is removed from both the internet and the spec.
+ Here is an example of me <ulink url="https://forum.f-droid.org/t/the-f-droid-forum-should-stop-tracking-links-with-http-pings/">raising the issue</ulink> with F-Droid.
+ </para>
+ </sect1>
+
<!-- Spell Checking. -->
<sect1 id="spell-checking">
<title>Spell Checking</title>
<title>View</title>
<variablelist>
+ <!-- Zoom In. -->
+ <varlistentry id="zoom-in">
+ <term>
+ <menuchoice>
+ <shortcut>
+ <keycombo action="simul">&Ctrl;<keycap>+</keycap></keycombo>
+ </shortcut>
+ <guimenu>View</guimenu>
+ <guimenuitem>Zoom In</guimenuitem>
+ </menuchoice>
+ </term>
+
+ <listitem>
+ <para>
+ Increment the zoom factor by 0.25. Valid factors range from 0.25 to 5.00.
+ </para>
+ </listitem>
+ </varlistentry>
+
+
+ <!-- Zoom Out. -->
+ <varlistentry id="zoom-out">
+ <term>
+ <menuchoice>
+ <shortcut>
+ <keycombo action="simul">&Ctrl;<keycap>-</keycap></keycombo>
+ </shortcut>
+ <guimenu>View</guimenu>
+ <guimenuitem>Zoom Out</guimenuitem>
+ </menuchoice>
+ </term>
+
+ <listitem>
+ <para>
+ Decrement the zoom factor by 0.25. Valid factors range from 0.25 to 5.00.
+ </para>
+ </listitem>
+ </varlistentry>
+
<!-- Refresh. -->
<varlistentry id="view-refresh">
<term>
</listitem>
</varlistentry>
+ <!-- Reload and Bypass Cache. -->
+ <varlistentry id="view-reload-and-bypass-cache">
+ <term>
+ <menuchoice>
+ <shortcut>
+ <keycombo action="simul">&Ctrl;<keycap>F5</keycap></keycombo>
+ </shortcut>
+ <guimenu>View</guimenu>
+ <guimenuitem>Reload and Bypass Cache</guimenuitem>
+ </menuchoice>
+ </term>
+
+ <listitem>
+ <para>
+ Reload the website in the current tab bypassing any information in the cache and loading everything from the webserver.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <!-- View Source. -->
+ <varlistentry id="view-source">
+ <term>
+ <menuchoice>
+ <shortcut>
+ <keycombo action="simul">&Ctrl;<keycap>U</keycap></keycombo>
+ </shortcut>
+ <guimenu>View</guimenu>
+ <guimenuitem>View Source</guimenuitem>
+ </menuchoice>
+ </term>
+
+ <listitem>
+ <para>
+ Toggle between viewing the source and viewing the rendered website.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <!-- View Source in New Tab. -->
+ <varlistentry id="view-source-in-new-tab">
+ <term>
+ <menuchoice>
+ <shortcut>
+ <keycombo action="simul">&Ctrl;&Shift;<keycap>U</keycap></keycombo>
+ </shortcut>
+ <guimenu>View</guimenu>
+ <guimenuitem>View Source in New Tab></guimenuitem>
+ </menuchoice>
+ </term>
+
+ <listitem>
+ <para>
+ Open a new tab displaying the source of the current tab, or a new tab displaying the rendered version if the source is already displayed. Note that right-clicking on the background of a rendered website will display a context menu with a "View page source" entry, which performs the first of these actions.
+ </para>
+ </listitem>
+ </varlistentry>
+
<!-- Full Screen Mode. -->
<varlistentry id="view-full-screen-mode">
<term>
<sect2>
<title>On-The-Fly Settings</title>
+ <variablelist>
+ <!-- JavaScript. -->
+ <varlistentry id="on-the-fly-settings-javascript">
+ <term>
+ <menuchoice>
+ <shortcut>
+ <keycombo action="simul">&Ctrl;<keycap>J</keycap></keycombo>
+ </shortcut>
+ <guimenu>On-The-Fly Settings</guimenu>
+ <guimenuitem>JavaScript</guimenuitem>
+ </menuchoice>
+ </term>
+
+ <listitem>
+ <para>
+ Toggle JavaScript in the current tab.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <!-- Local Storage. -->
+ <varlistentry id="on-the-fly-settings-local-storage">
+ <term>
+ <menuchoice>
+ <shortcut>
+ <keycombo action="simul">&Ctrl;<keycap>L</keycap></keycombo>
+ </shortcut>
+ <guimenu>On-The-Fly Settings</guimenu>
+ <guimenuitem>Local Storage</guimenuitem>
+ </menuchoice>
+ </term>
+
+ <listitem>
+ <para>
+ Toggle local storage in the current tab.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <!-- DOM Storage. -->
+ <varlistentry id="on-the-fly-settings-dom-storage">
+ <term>
+ <menuchoice>
+ <shortcut>
+ <keycombo action="simul">&Ctrl;<keycap>D</keycap></keycombo>
+ </shortcut>
+ <guimenu>On-The-Fly Settings</guimenu>
+ <guimenuitem>DOM Storage</guimenuitem>
+ </menuchoice>
+ </term>
+
+ <listitem>
+ <para>
+ Toggle DOM storage in the current tab.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
<!-- User Agent. -->
<sect3>
<title>User Agent</title>
<term>
<menuchoice>
<shortcut>
- <keycombo action="simul">&Ctrl;<keycap>D</keycap></keycombo>
+ <keycombo action="simul">&Ctrl;&Shift;<keycap>D</keycap></keycombo>
</shortcut>
<guimenu>Settings</guimenu>
<guimenuitem>Domain Settings</guimenuitem>
<title>Other Commands</title>
<variablelist>
+ <!-- Find Case Sensitive. -->
+ <varlistentry id="find-case-sensitive">
+ <term>
+ <command>
+ &Ctrl;+<keycap>S</keycap>
+ </command>
+ </term>
+
+ <listitem>
+ <para>
+ Toggle find case sensitive if the find toolbar is visible.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <!-- Open link in new tab. -->
+ <varlistentry id="new-tab">
+ <term>
+ <command>
+ &Ctrl;+&Shift;+Click
+ </command>
+ </term>
+
+ <listitem>
+ <para>
+ Open link in new tab. This performs the same action as right-clicking on the link and selecting “Open link in new tab”.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <!-- Open link in background tab. -->
+ <varlistentry id="new-background-tab">
+ <term>
+ <command>
+ &Ctrl;+Click
+ </command>
+ </term>
+
+ <listitem>
+ <para>
+ Open link in new background tab. This performs the same action as right-clicking on the link and selecting “Open link in new background tab”.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <!-- Open link in new window. -->
+ <varlistentry id="new-window">
+ <term>
+ <command>
+ &Shift;+Click
+ </command>
+ </term>
+
+ <listitem>
+ <para>
+ Open link in new window. This performs the same action as right-clicking on the link and selecting “Open link in new window”.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <!-- Save link. -->
+ <varlistentry id="save-link">
+ <term>
+ <command>
+ &Alt;+Click
+ </command>
+ </term>
+
+ <listitem>
+ <para>
+ Save link. This performs the same action as right-clicking on the link and selecting “Save link”.
+ </para>
+ </listitem>
+ </varlistentry>
+
<!-- F11. -->
<varlistentry id="f11">
<term>
</sect1>
</chapter>
+ <!-- Changelog. -->
+ <chapter id="changelog">
+ <title>Changelog</title>
+
+ <!-- Version 0.4. -->
+ <sect1 id="version_0.4">
+ <title><ulink url="https://www.stoutner.com/privacy-browser-pc-0-4/">0.4</ulink> -
+ <ulink url="https://gitweb.stoutner.com/?p=PrivacyBrowserPC.git;a=commitdiff;h=b4c8c8d02113d14c2a07751eb3b0c1bdeec7abb4">13 June 2023</ulink></title>
+
+ <itemizedlist>
+ <listitem><para>Add a setting to <ulink url="https://redmine.stoutner.com/issues/1002">control spatial navigation</ulink>.</para></listitem>
+ <listitem><para>Add an action to <ulink url="https://redmine.stoutner.com/issues/982">reload and bypass cache</ulink>.</para></listitem>
+ <listitem><para>Fix a crash if one Privacy Browser window is closed while a <ulink url="https://redmine.stoutner.com/issues/1010">tab within it is loading</ulink>.</para></listitem>
+ <listitem><para>Add <ulink url="https://redmine.stoutner.com/issues/1009">keyboard+click commands</ulink> to the Handbook.</para></listitem>
+ </itemizedlist>
+ </sect1>
+
+ <!-- Version 0.3. -->
+ <sect1 id="version_0.3">
+ <title><ulink url="https://www.stoutner.com/privacy-browser-pc-0-3/">0.3</ulink> -
+ <ulink url="https://gitweb.stoutner.com/?p=PrivacyBrowserPC.git;a=commitdiff;h=ace098e8677ac0d6468b825c73e65b82c0d6993e">8 May 2023</ulink></title>
+
+ <itemizedlist>
+ <listitem><para>Add the changelog <ulink url="https://redmine.stoutner.com/issues/1000">to the Handbook</ulink>.</para></listitem>
+ <listitem><para>Add the missing <ulink url="https://redmine.stoutner.com/issues/999">current domain settings icon</ulink> on Gnome and Xfce.</para></listitem>
+ <listitem><para>Make changes to <ulink url="https://redmine.stoutner.com/issues/1005">build on Guix</ulink>.</para></listitem>
+ </itemizedlist>
+ </sect1>
+
+ <!-- Version 0.2. -->
+ <sect1 id="version_0.2">
+ <title><ulink url="https://www.stoutner.com/privacy-browser-pc-0-2/">0.2</ulink> -
+ <ulink url="https://gitweb.stoutner.com/?p=PrivacyBrowserPC.git;a=commitdiff;h=44b5d3a1f6a5e7fc2aa8530845f26eba7bc26f9a">17 April 2023</ulink></title>
+
+ <itemizedlist>
+ <listitem><para>Fix a crash on GNOME when <ulink url="https://redmine.stoutner.com/issues/994">downloading a file</ulink> with local storage disabled.</para></listitem>
+ <listitem><para>Fix problems with <ulink url="https://redmine.stoutner.com/issues/992">missing</ulink>
+ <ulink url="https://redmine.stoutner.com/issues/993">icons</ulink> on GNOME.</para></listitem>
+ <listitem><para>Display an <ulink url="https://redmine.stoutner.com/issues/980">animated favorite icon</ulink> while a webpage is loading.</para></listitem>
+ <listitem><para><ulink url="https://redmine.stoutner.com/issues/975">Fix the Handbook</ulink> on non-KDE systems.</para></listitem>
+ <listitem><para>Change the <ulink url="https://redmine.stoutner.com/issues/978">order of entries</ulink> in the WebEngine context menu.</para></listitem>
+ <listitem><para>Make spellcheck languages <ulink url="https://redmine.stoutner.com/issues/958">easier to click on</ulink>.</para></listitem>
+ <listitem><para>Only generate a HTTP ping dialog if the <ulink url="https://redmine.stoutner.com/issues/979">request is made by the current tab</ulink>.</para></listitem>
+ <listitem><para>Add a section to the Handbook about <ulink url="https://redmine.stoutner.com/issues/976">HTTP pings</ulink>.</para></listitem>
+ </itemizedlist>
+ </sect1>
+
+ <!-- Version 0.1. -->
+ <sect1 id="version_0.1">
+ <title><ulink url="https://www.stoutner.com/privacy-browser-pc-0-1/">0.1</ulink> -
+ <ulink url="https://gitweb.stoutner.com/?p=PrivacyBrowserPC.git;a=commitdiff;h=73459c6685ec5e58d776f2594c9b587802363b1c">11 March 2023</ulink></title>
+
+ <itemizedlist>
+ <listitem><para>Initial release.</para></listitem>
+ </itemizedlist>
+ </sect1>
+ </chapter>
+
<!-- FAQ. -->
<chapter id="faq">
<title>Questions and Answers</title>
</question>
<answer>
- <para>Because Privacy Browser is so perfectly designed that none have ever been asked. Also, because this is the first release and nobody has had a chance to ask them yet. ;)</para>
+ <para>Because Privacy Browser is so perfectly designed that none have ever been asked. Also, because this is an alpha release and nobody has had a chance to ask them yet. ;)</para>
</answer>
</qandaentry>
</qandaset>
<title>Credits and License</title>
<para>
- Program copyright 2016-2017,2021-2023 Soren Stoutner <ulink url="mailto:soren@stoutner.com">soren@stoutner.com</ulink>.
+ Privacy Browser PC copyright 2016-2017,2021-2023 Soren Stoutner <ulink url="mailto:soren@stoutner.com">soren@stoutner.com</ulink>.
</para>
- <para>
- Translators:
- <itemizedlist>
- <listitem><para>Translations will be added in a future release.</para></listitem>
- </itemizedlist>
- </para>
+ <!-- Program. -->
+ <sect1 id="program">
+ <title>Program</title>
- <!-- The program license. -->
- &underGPL;
+ <para>
+ The source code is available at <ulink url="https://gitweb.stoutner.com/?p=PrivacyBrowserPC.git;a=summary">gitweb.stoutner.com</ulink>
+ or by running <filename>git clone https://git.stoutner.com/PrivacyBrowserPC.git</filename>.
+ </para>
- <para>
- Documentation copyright 2023 Soren Stoutner <ulink url="mailto:soren@stoutner.com">soren@stoutner.com</ulink>.
- </para>
+ <para>
+ Translators:
+ <itemizedlist>
+ <listitem><para>Translations will be added in a future release.</para></listitem>
+ </itemizedlist>
+ </para>
+
+ <!-- The program license. -->
+ &underGPL;
+ </sect1>
+
+ <!-- Documentation. -->
+ <sect1 id="documentation">
+ <title>Documentation</title>
+
+ <para>
+ <filename>doc/index.docbook</filename> and <filename>src/com.stoutner.privacybrowser.appdata.xml</filename> are released under the
+ <ulink url="https://www.gnu.org/licenses/fdl-1.3.html">GFDL-1.3 license</ulink> with no Front-Cover or Back-Cover Texts or Invariant Sections.
+ All other documentation is released under the <ulink url="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+ license</ulink>.
+ </para>
- <!-- The documentation license. -->
- &underFDL;
+ <!-- The documentation license. -->
+ &underFDL;
+ </sect1>
+
+ <!-- Icons. -->
+ <sect1 id="icons">
+ <title>Icons</title>
+
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="privacybrowser.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase>Privacy Browser</phrase>
+ </textobject>
+ </inlinemediaobject>
+
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="javascript.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase>JavaScript</phrase>
+ </textobject>
+ </inlinemediaobject>
+
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="privacybrowser-monochrome.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase>Privacy Browser Monochrome</phrase>
+ </textobject>
+ </inlinemediaobject>
+
+ are derived from <filename>security</filename> and <filename>language</filename>, which are part of the <ulink url="https://fonts.google.com/icons">Android Material icon set</ulink>
+ and are released under the <ulink url="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</ulink>. Modifications copyright 2016-2017,2021-2023 Soren Stoutner.
+ The resulting images are released under the <ulink url="https://www.gnu.org/licenses/gpl-3.0.html">GPLv3+ license</ulink>.
+ </para>
+
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="loading.gif" format="GIF"/>
+ </imageobject>
+ <textobject>
+ <phrase>Loading</phrase>
+ </textobject>
+ </inlinemediaobject>
+
+ comes from <ulink url="https://github.com/Codelessly/FlutterLoadingGIFs/blob/master/packages/cupertino_activity_indicator_selective.gif">FlutterLoadingGIFs</ulink>
+ where it is named <filename>cupertino_activity_indicator_selective.gif</filename>.
+ It is released under the <ulink url="https://opensource.org/license/0bsd/">Zero-Clause BSD License</ulink>.
+ </para>
+ </sect1>
</chapter>
</book>