Remove silver sponsor scrubtheweb.com
[privoxy.git] / doc / source / p-config.sgml
index 6bf7fbe..f328827 100644 (file)
@@ -3,7 +3,7 @@
 
  Purpose     :  Used with other docs and files only.
 
 
  Purpose     :  Used with other docs and files only.
 
- Copyright (C) 2001-2018 Privoxy Developers https://www.privoxy.org/
+ Copyright (C) 2001-2023 Privoxy Developers https://www.privoxy.org/
  See LICENSE.
 
  ========================================================================
  See LICENSE.
 
  ========================================================================
  example:
 </para>
 
  example:
 </para>
 
-<para>
- <literal>
-  <msgtext>
-   <literallayout>
-  <emphasis>confdir /etc/privoxy</emphasis></literallayout>
-  </msgtext>
- </literal>
-</para>
+<literallayout>
+  <emphasis>confdir /etc/privoxy</emphasis>
+</literallayout>
 
 <para>
  Assigns the value <literal>/etc/privoxy</literal> to the option
 
 <para>
  Assigns the value <literal>/etc/privoxy</literal> to the option
  Sample Configuration File for Privoxy &p-version;
 </title>
 <para>
  Sample Configuration File for Privoxy &p-version;
 </title>
 <para>
-Copyright (C) 2001-2018 Privoxy Developers https://www.privoxy.org/
+Copyright (C) 2001-2023 Privoxy Developers https://www.privoxy.org/
 </para>
 
 </para>
 
-<para>
- <literallayout>
+<literallayout>
 ##################################################################
                                                                  #
                     Table of Contents                            #
 ##################################################################
                                                                  #
                     Table of Contents                            #
@@ -113,14 +107,15 @@ Copyright (C) 2001-2018 Privoxy Developers https://www.privoxy.org/
       4. ACCESS CONTROL AND SECURITY                             #
       5. FORWARDING                                              #
       6. MISCELLANEOUS                                           #
       4. ACCESS CONTROL AND SECURITY                             #
       5. FORWARDING                                              #
       6. MISCELLANEOUS                                           #
-      7. WINDOWS GUI OPTIONS                                     #
+      7. HTTPS INSPECTION                                        #
+      8. WINDOWS GUI OPTIONS                                     #
                                                                  #
 ##################################################################
                                                                  #
 ##################################################################
- </literallayout>
-</para>
 
 
-<literallayout>I. INTRODUCTION
- ===============  <!-- fuck this madness --></literallayout>
+
+I. INTRODUCTION
+ ===============
+</literallayout>
 
 <para>
  This file holds Privoxy's main configuration.  Privoxy detects
 
 <para>
  This file holds Privoxy's main configuration.  Privoxy detects
@@ -246,22 +241,22 @@ II. FORMAT OF THE CONFIGURATION FILE
   <para>
    Unix, in local filesystem (may not work with all browsers):
   </para>
   <para>
    Unix, in local filesystem (may not work with all browsers):
   </para>
-   <screen>&nbsp;&nbsp;user-manual&nbsp;&nbsp;file:///usr/share/doc/privoxy-&p-version;/user-manual/</screen>
+  <screen>user-manual  file:///usr/share/doc/privoxy-&p-version;/user-manual/</screen>
   <para>
    Windows, in local filesystem, <emphasis>must</emphasis> use forward slash notation:
   </para>
   <para>
    Windows, in local filesystem, <emphasis>must</emphasis> use forward slash notation:
   </para>
-   <screen>&nbsp;&nbsp;user-manual&nbsp;&nbsp;file:/c:/some-dir/privoxy-&p-version;/user-manual/</screen>
+  <screen>user-manual  file:/c:/some-dir/privoxy-&p-version;/user-manual/</screen>
   <para>
    Windows, UNC notation (with forward slashes):
   </para>
   <para>
    Windows, UNC notation (with forward slashes):
   </para>
-   <screen>&nbsp;&nbsp;user-manual&nbsp;&nbsp;file://///some-server/some-path/privoxy-&p-version;/user-manual/</screen>
+  <screen>user-manual  file://///some-server/some-path/privoxy-&p-version;/user-manual/</screen>
  -->
   <para>
    The best all purpose solution is simply to put the full local
    <literal>PATH</literal> to where the <citetitle>User Manual</citetitle> is
    located:
   </para>
  -->
   <para>
    The best all purpose solution is simply to put the full local
    <literal>PATH</literal> to where the <citetitle>User Manual</citetitle> is
    located:
   </para>
-   <screen>&nbsp;&nbsp;user-manual&nbsp;&nbsp;/usr/share/doc/privoxy/user-manual</screen>
+  <screen>user-manual  /usr/share/doc/privoxy/user-manual</screen>
   <para>
    The User Manual is then available to anyone with access to
    <application>Privoxy</application>, by following the built-in URL:
   <para>
    The User Manual is then available to anyone with access to
    <application>Privoxy</application>, by following the built-in URL:
@@ -272,7 +267,7 @@ II. FORMAT OF THE CONFIGURATION FILE
    If the documentation is not on the local system, it can be accessed
    from a remote server, as:
   </para>
    If the documentation is not on the local system, it can be accessed
    from a remote server, as:
   </para>
-   <screen>&nbsp;&nbsp;user-manual&nbsp;&nbsp;http://example.com/privoxy/user-manual/</screen>
+  <screen>user-manual  http://example.com/privoxy/user-manual/</screen>
   <![%user-man;[
    <!-- this gets hammered in conversion to config. Text repeated below. -->
   <warning>
   <![%user-man;[
    <!-- this gets hammered in conversion to config. Text repeated below. -->
   <warning>
@@ -341,7 +336,7 @@ II. FORMAT OF THE CONFIGURATION FILE
   <term>Notes:</term>
   <listitem>
    <para>
   <term>Notes:</term>
   <listitem>
    <para>
-    The value of this option only matters if the experimental trust mechanism has been
+    The value of this option only matters if the trust mechanism has been
     activated. (See <link linkend="trustfile"><emphasis>trustfile</emphasis></link> below.)
    </para>
    <para>
     activated. (See <link linkend="trustfile"><emphasis>trustfile</emphasis></link> below.)
    </para>
    <para>
@@ -743,6 +738,7 @@ actionsfile
  fk 2007-11-07
 -->
 <![%config-file;[<literallayout>@@actionsfile user.action      # User customizations</literallayout>]]>
  fk 2007-11-07
 -->
 <![%config-file;[<literallayout>@@actionsfile user.action      # User customizations</literallayout>]]>
+<![%config-file;[<literallayout>@@#actionsfile regression-tests.action     # Tests for privoxy-regression-test</literallayout>]]>
 </sect3>
 
 <!--   ~~~~~       New section      ~~~~~     -->
 </sect3>
 
 <!--   ~~~~~       New section      ~~~~~     -->
@@ -1021,22 +1017,22 @@ actionsfile
     The available debug levels are:
    </para>
     <programlisting>
     The available debug levels are:
    </para>
     <programlisting>
-  debug     1 # Log the destination for each request &my-app; let through. See also debug 1024.
-  debug     2 # show each connection status
-  debug     4 # show I/O status
-  debug     8 # show header parsing
-  debug    16 # log all data written to the network
-  debug    32 # debug force feature
-  debug    64 # debug regular expression filters
-  debug   128 # debug redirects
-  debug   256 # debug GIF de-animation
-  debug   512 # Common Log Format
-  debug  1024 # Log the destination for requests &my-app; didn't let through, and the reason why.
-  debug  2048 # CGI user interface
-  debug  4096 # Startup banner and warnings.
-  debug  8192 # Non-fatal errors
-  debug 32768 # log all data read from the network
-  debug 65536 # Log the applying actions
+debug     1 # Log the destination for each request. See also debug 1024.
+debug     2 # show each connection status
+debug     4 # show tagging-related messages
+debug     8 # show header parsing
+debug    16 # log all data written to the network
+debug    32 # debug force feature
+debug    64 # debug regular expression filters
+debug   128 # debug redirects
+debug   256 # debug GIF de-animation
+debug   512 # Common Log Format
+debug  1024 # Log the destination for requests &my-app; didn't let through, and the reason why.
+debug  2048 # CGI user interface
+debug  4096 # Startup banner and warnings.
+debug  8192 # Non-fatal errors
+debug 32768 # log all data read from the network
+debug 65536 # Log the applying actions
 </programlisting>
    <para>
     To select multiple debug levels, you can either add them or use
 </programlisting>
    <para>
     To select multiple debug levels, you can either add them or use
@@ -1047,7 +1043,7 @@ actionsfile
     as it happens. <emphasis>1, 1024, 4096 and 8192 are recommended</emphasis>
     so that you will notice when things go wrong. The other levels are
     probably only of interest if you are hunting down a specific problem.
     as it happens. <emphasis>1, 1024, 4096 and 8192 are recommended</emphasis>
     so that you will notice when things go wrong. The other levels are
     probably only of interest if you are hunting down a specific problem.
-    They can produce a hell of an output (especially 16).
+    They can produce a lot of output (especially 16).
    </para>
    <para>
     If you are used to the more verbose settings, simply enable the debug lines
    </para>
    <para>
     If you are used to the more verbose settings, simply enable the debug lines
@@ -1071,10 +1067,17 @@ actionsfile
  </varlistentry>
 </variablelist>
 
  </varlistentry>
 </variablelist>
 
-<![%config-file;[<literallayout>@@#debug     1 # Log the destination for each request &my-app; let through.</literallayout>]]>
+<![%config-file;[<literallayout>@@#debug     1 # Log the destination for each request. See also debug 1024.</literallayout>]]>
+<![%config-file;[<literallayout>@@#debug     2 # show each connection status</literallayout>]]>
+<![%config-file;[<literallayout>@@#debug     4 # show tagging-related messages</literallayout>]]>
+<![%config-file;[<literallayout>@@#debug     8 # show header parsing</literallayout>]]>
+<![%config-file;[<literallayout>@@#debug   128 # debug redirects</literallayout>]]>
+<![%config-file;[<literallayout>@@#debug   256 # debug GIF de-animation</literallayout>]]>
+<![%config-file;[<literallayout>@@#debug   512 # Common Log Format</literallayout>]]>
 <![%config-file;[<literallayout>@@#debug  1024 # Log the destination for requests &my-app; didn't let through, and the reason why.</literallayout>]]>
 <![%config-file;[<literallayout>@@#debug  4096 # Startup banner and warnings</literallayout>]]>
 <![%config-file;[<literallayout>@@#debug  8192 # Non-fatal errors</literallayout>]]>
 <![%config-file;[<literallayout>@@#debug  1024 # Log the destination for requests &my-app; didn't let through, and the reason why.</literallayout>]]>
 <![%config-file;[<literallayout>@@#debug  4096 # Startup banner and warnings</literallayout>]]>
 <![%config-file;[<literallayout>@@#debug  8192 # Non-fatal errors</literallayout>]]>
+<![%config-file;[<literallayout>@@#debug 65536 # Log applying actions</literallayout>]]>
 </sect3>
 
 
 </sect3>
 
 
@@ -1265,13 +1268,16 @@ actionsfile
     If the specified address isn't available on the system, or if the
     hostname can't be resolved, <application>Privoxy</application>
     will fail to start.
     If the specified address isn't available on the system, or if the
     hostname can't be resolved, <application>Privoxy</application>
     will fail to start.
+    On GNU/Linux, and other platforms that can listen on not yet assigned IP
+    addresses, Privoxy will start and will listen on the specified
+    address whenever the IP address is assigned to the system
    </para>
    <para>
     IPv6 addresses containing colons have to be quoted by brackets.
     They can only be used if <application>Privoxy</application> has
     been compiled with IPv6 support. If you aren't sure if your version
     supports it, have a look at
    </para>
    <para>
     IPv6 addresses containing colons have to be quoted by brackets.
     They can only be used if <application>Privoxy</application> has
     been compiled with IPv6 support. If you aren't sure if your version
     supports it, have a look at
-    <literal>http://config.privoxy.org/show-status</literal>.
+    <ulink url="http://config.privoxy.org/show-status">http://config.privoxy.org/show-status</ulink>.
    </para>
    <para>
     Some operating systems will prefer IPv6 to IPv4 addresses even if the
    </para>
    <para>
     Some operating systems will prefer IPv6 to IPv4 addresses even if the
@@ -1296,8 +1302,8 @@ actionsfile
     (ACL's, see below), and/or a firewall.
    </para>
    <para>
     (ACL's, see below), and/or a firewall.
    </para>
    <para>
-    If you open <application>Privoxy</application> to untrusted users, you will
-    also want to make sure that the following actions are disabled:  <literal><link
+    If you open <application>Privoxy</application> to untrusted users, you should
+    also make sure that the following actions are disabled:  <literal><link
     linkend="enable-edit-actions">enable-edit-actions</link></literal> and
     <literal><link linkend="enable-remote-toggle">enable-remote-toggle</link></literal>
    </para>
     linkend="enable-edit-actions">enable-edit-actions</link></literal> and
     <literal><link linkend="enable-remote-toggle">enable-remote-toggle</link></literal>
    </para>
@@ -1313,7 +1319,7 @@ actionsfile
      You want it to serve requests from inside only:
    </para>
     <programlisting>
      You want it to serve requests from inside only:
    </para>
     <programlisting>
-  listen-address  192.168.0.1:8118
+listen-address  192.168.0.1:8118
 </programlisting>
    <para>
     Suppose you are running <application>Privoxy</application> on an
 </programlisting>
    <para>
     Suppose you are running <application>Privoxy</application> on an
@@ -1321,7 +1327,7 @@ actionsfile
     of the loopback device:
    </para>
     <programlisting>
     of the loopback device:
    </para>
     <programlisting>
-  listen-address [::1]:8118
+listen-address [::1]:8118
 </programlisting>
   </listitem>
  </varlistentry>
 </programlisting>
   </listitem>
  </varlistentry>
@@ -1632,7 +1638,7 @@ actionsfile
   </listitem>
  </varlistentry>
  <varlistentry>
   </listitem>
  </varlistentry>
  <varlistentry>
-  <term>Examples:</term>
+  <term>Example:</term>
   <listitem>
    <para>
     enforce-blocks 1
   <listitem>
    <para>
     enforce-blocks 1
@@ -1679,7 +1685,7 @@ ACLs: permit-access and deny-access</title>
     If your system implements
     <ulink url="http://tools.ietf.org/html/rfc3493">RFC 3493</ulink>, then
     <replaceable class="parameter">src_addr</replaceable> and <replaceable
     If your system implements
     <ulink url="http://tools.ietf.org/html/rfc3493">RFC 3493</ulink>, then
     <replaceable class="parameter">src_addr</replaceable> and <replaceable
-    class="parameter">dst_addr</replaceable> can be IPv6 addresses delimeted by
+    class="parameter">dst_addr</replaceable> can be IPv6 addresses delimited by
     brackets, <replaceable class="parameter">port</replaceable> can be a number
     or a service name, and
     <replaceable class="parameter">src_masklen</replaceable> and
     brackets, <replaceable class="parameter">port</replaceable> can be a number
     or a service name, and
     <replaceable class="parameter">src_masklen</replaceable> and
@@ -1770,14 +1776,14 @@ ACLs: permit-access and deny-access</title>
     <emphasis>all</emphasis> destination addresses are OK:
    </para>
     <screen>
     <emphasis>all</emphasis> destination addresses are OK:
    </para>
     <screen>
-  permit-access  localhost
+permit-access  localhost
 </screen>
    <para>
     Allow any host on the same class C subnet as www.privoxy.org access to
     nothing but www.example.com (or other domains hosted on the same system):
    </para>
     <screen>
 </screen>
    <para>
     Allow any host on the same class C subnet as www.privoxy.org access to
     nothing but www.example.com (or other domains hosted on the same system):
    </para>
     <screen>
-  permit-access  www.privoxy.org/24 www.example.com/32
+permit-access  www.privoxy.org/24 www.example.com/32
 </screen>
    <para>
     Allow access from any host on the 26-bit subnet 192.168.45.64 to anywhere,
 </screen>
    <para>
     Allow access from any host on the 26-bit subnet 192.168.45.64 to anywhere,
@@ -1785,22 +1791,22 @@ ACLs: permit-access and deny-access</title>
     www.dirty-stuff.example.com:
    </para>
     <screen>
     www.dirty-stuff.example.com:
    </para>
     <screen>
-  permit-access  192.168.45.64/26
-  deny-access    192.168.45.73    www.dirty-stuff.example.com
+permit-access  192.168.45.64/26
+deny-access    192.168.45.73    www.dirty-stuff.example.com
 </screen>
    <para>
      Allow access from the IPv4 network 192.0.2.0/24 even if listening on
      an IPv6 wild card address (not supported on all platforms):
    </para>
     <programlisting>
 </screen>
    <para>
      Allow access from the IPv4 network 192.0.2.0/24 even if listening on
      an IPv6 wild card address (not supported on all platforms):
    </para>
     <programlisting>
-  permit-access  192.0.2.0/24
+permit-access  192.0.2.0/24
 </programlisting>
    <para>
      This is equivalent to the following line even if listening on an
      IPv4 address (not supported on all platforms):
    </para>
     <programlisting>
 </programlisting>
    <para>
      This is equivalent to the following line even if listening on an
      IPv4 address (not supported on all platforms):
    </para>
     <programlisting>
-  permit-access  [::ffff:192.0.2.0]/120
+permit-access  [::ffff:192.0.2.0]/120
 </programlisting>
   </listitem>
  </varlistentry>
 </programlisting>
   </listitem>
  </varlistentry>
@@ -1989,6 +1995,11 @@ ACLs: permit-access and deny-access</title>
     Requests are accepted if the specified trusted-cgi-refer is the prefix
     of the Referer.
    </para>
     Requests are accepted if the specified trusted-cgi-refer is the prefix
     of the Referer.
    </para>
+   <para>
+    If the trusted source is supposed to access the CGI pages via
+    JavaScript the <link linkend="cors-allowed-origin">cors-allowed-origin</link>
+    option can be used.
+   </para>
    <warning>
     <para>
      Declaring pages the admin doesn't control trustworthy may allow
    <warning>
     <para>
      Declaring pages the admin doesn't control trustworthy may allow
@@ -2000,7 +2011,75 @@ ACLs: permit-access and deny-access</title>
  </varlistentry>
 </variablelist>
 
  </varlistentry>
 </variablelist>
 
-<![%config-file;[<literallayout>@@trusted-cgi-referer http://www.example.org/local-privoxy-control-page</literallayout>]]>
+<![%config-file;[<literallayout>@@#trusted-cgi-referer http://www.example.org/local-privoxy-control-page</literallayout>]]>
+</sect3>
+
+
+<!--   ~~~~~       New section      ~~~~~     -->
+<sect3 renderas="sect4" id="cors-allowed-origin"><title>cors-allowed-origin</title>
+<variablelist>
+ <varlistentry>
+  <term>Specifies:</term>
+  <listitem>
+   <para>
+    A trusted website which can access &my-app;'s CGI pages through JavaScript.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Type of value:</term>
+  <listitem>
+   <para>URL</para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Default value:</term>
+  <listitem>
+   <para>Unset</para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Effect if unset:</term>
+  <listitem>
+   <para>
+    No external sites get access via cross-origin resource sharing.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Notes:</term>
+  <listitem>
+   <para>
+    Modern browsers by default prevent cross-origin requests made
+    via JavaScript to &my-app;'s CGI interface even if &my-app;
+    would trust the referer because it's white listed via the
+    <link linkend="trusted-cgi-referer">trusted-cgi-referer</link>
+    directive.
+   </para>
+   <para>
+    <ulink url="https://en.wikipedia.org/wiki/Cross-origin_resource_sharing"
+     >Cross-origin resource sharing (CORS)</ulink> is a mechanism to allow
+    cross-origin requests.
+   </para>
+   <para>
+    The <quote>cors-allowed-origin</quote> option can be used to specify
+    a domain that is allowed to make requests to Privoxy CGI interface
+    via JavaScript. It is used in combination with the
+    <link linkend="trusted-cgi-referer">trusted-cgi-referer</link>
+    directive.
+   </para>
+   <warning>
+    <para>
+     Declaring domains the admin doesn't control trustworthy may allow
+     malicious third parties to modify Privoxy's internal state against
+     the user's wishes and without the user's knowledge.
+   </para>
+   </warning>
+  </listitem>
+ </varlistentry>
+</variablelist>
+
+<![%config-file;[<literallayout>@@#cors-allowed-origin http://www.example.org/</literallayout>]]>
 </sect3>
 
 </sect2>
 </sect3>
 
 </sect2>
@@ -2108,30 +2187,30 @@ ACLs: permit-access and deny-access</title>
     Everything goes to an example parent proxy, except SSL on port 443 (which it doesn't handle):
    </para>
     <screen>
     Everything goes to an example parent proxy, except SSL on port 443 (which it doesn't handle):
    </para>
     <screen>
-  forward   /      parent-proxy.example.org:8080
-  forward   :443   .
+forward   /      parent-proxy.example.org:8080
+forward   :443   .
 </screen>
    <para>
     Everything goes to our example ISP's caching proxy, except for requests
     to that ISP's sites:
    </para>
     <screen>
 </screen>
    <para>
     Everything goes to our example ISP's caching proxy, except for requests
     to that ISP's sites:
    </para>
     <screen>
-  forward   /                  caching-proxy.isp.example.net:8000
-  forward   .isp.example.net   .
+forward   /                  caching-proxy.isp.example.net:8000
+forward   .isp.example.net   .
 </screen>
    <para>
     Parent proxy specified by an IPv6 address:
    </para>
     <programlisting>
 </screen>
    <para>
     Parent proxy specified by an IPv6 address:
    </para>
     <programlisting>
-  forward   /                   [2001:DB8::1]:8000
+forward   /                   [2001:DB8::1]:8000
 </programlisting>
    <para>
     Suppose your parent proxy doesn't support IPv6:
    </para>
     <programlisting>
 </programlisting>
    <para>
     Suppose your parent proxy doesn't support IPv6:
    </para>
     <programlisting>
-  forward  /                        parent-proxy.example.org:8000
-  forward  ipv6-server.example.org  .
-  forward  &lt;[2-3][0-9a-f][0-9a-f][0-9a-f]:*&gt;   .
+forward  /                        parent-proxy.example.org:8000
+forward  ipv6-server.example.org  .
+forward  &lt;[2-3][0-9a-f][0-9a-f][0-9a-f]:*&gt;   .
 </programlisting>
   </listitem>
  </varlistentry>
 </programlisting>
   </listitem>
  </varlistentry>
@@ -2159,7 +2238,7 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
   <listitem>
    <para>
     <replaceable class="parameter">target_pattern</replaceable>
   <listitem>
    <para>
     <replaceable class="parameter">target_pattern</replaceable>
-    <replaceable class="parameter">socks_proxy</replaceable>[:<replaceable class="parameter">port</replaceable>]
+    [<replaceable class="parameter">user</replaceable>:<replaceable class="parameter">pass</replaceable>@]<replaceable class="parameter">socks_proxy</replaceable>[:<replaceable class="parameter">port</replaceable>]
     <replaceable class="parameter">http_parent</replaceable>[:<replaceable class="parameter">port</replaceable>]
    </para>
    <para>
     <replaceable class="parameter">http_parent</replaceable>[:<replaceable class="parameter">port</replaceable>]
    </para>
    <para>
@@ -2172,7 +2251,8 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
     (<replaceable class="parameter">http_parent</replaceable>
     may be <quote>.</quote> to denote <quote>no HTTP forwarding</quote>), and the optional
     <replaceable class="parameter">port</replaceable> parameters are TCP ports,
     (<replaceable class="parameter">http_parent</replaceable>
     may be <quote>.</quote> to denote <quote>no HTTP forwarding</quote>), and the optional
     <replaceable class="parameter">port</replaceable> parameters are TCP ports,
-    i.e. integer values from 1 to 65535
+    i.e. integer values from 1 to 65535. <replaceable class="parameter">user</replaceable> and
+    <replaceable class="parameter">pass</replaceable> can be used for SOCKS5 authentication if required.
    </para>
   </listitem>
  </varlistentry>
    </para>
   </listitem>
  </varlistentry>
@@ -2238,14 +2318,21 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
      the Internet.
    </para>
     <screen>
      the Internet.
    </para>
     <screen>
-  forward-socks4a   /              socks-gw.example.com:1080  www-cache.isp.example.net:8080
-  forward           .example.com   .
+forward-socks4a   /              socks-gw.example.com:1080  www-cache.isp.example.net:8080
+forward           .example.com   .
 </screen>
    <para>
     A rule that uses a SOCKS 4 gateway for all destinations but no HTTP parent looks like this:
    </para>
     <screen>
 </screen>
    <para>
     A rule that uses a SOCKS 4 gateway for all destinations but no HTTP parent looks like this:
    </para>
     <screen>
-  forward-socks4   /               socks-gw.example.com:1080  .
+forward-socks4   /               socks-gw.example.com:1080  .
+</screen>
+
+   <para>
+    To connect SOCKS5 proxy which requires username/password authentication:
+   </para>
+    <screen>
+forward-socks5   /               user:pass@socks-gw.example.com:1080  .
 </screen>
 
     <para>
 </screen>
 
     <para>
@@ -2253,7 +2340,7 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
     something like:
    </para>
     <screen>
     something like:
    </para>
     <screen>
-  forward-socks5t   /               127.0.0.1:9050 .
+forward-socks5t   /               127.0.0.1:9050 .
 </screen>
    <para>
     Note that if you got Tor through one of the bundles, you may
 </screen>
    <para>
     Note that if you got Tor through one of the bundles, you may
@@ -2267,9 +2354,9 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
     therefore might want to make some exceptions:
    </para>
     <screen>
     therefore might want to make some exceptions:
    </para>
     <screen>
-  forward         192.168.*.*/     .
-  forward            10.*.*.*/     .
-  forward           127.*.*.*/     .
+forward         192.168.*.*/     .
+forward          10.*.*.*/       .
+forward         127.*.*.*/       .
 </screen>
    <para>
     Unencrypted connections to systems in these address ranges will
 </screen>
    <para>
     Unencrypted connections to systems in these address ranges will
@@ -2284,7 +2371,7 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
     this:
    </para>
     <screen>
     this:
    </para>
     <screen>
- forward           localhost/     .
+forward           localhost/     .
 </screen>
 
   </listitem>
 </screen>
 
   </listitem>
@@ -2313,18 +2400,18 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
  host-a:
 </para>
 
  host-a:
 </para>
 
- <screen>
-  forward    /           .
-  forward    .isp-b.example.net  host-b:8118
+<screen>
+forward    /           .
+forward    .isp-b.example.net  host-b:8118
 </screen>
 
 <para>
  host-b:
 </para>
 
 </screen>
 
 <para>
  host-b:
 </para>
 
- <screen>
-  forward    /           .
-  forward    .isp-a.example.org  host-a:8118
+<screen>
+forward    /           .
+forward    .isp-a.example.org  host-a:8118
 </screen>
 
 <para>
 </screen>
 
 <para>
@@ -2344,18 +2431,19 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
  run on the same box, your <application>squid</application> configuration could then look like this:
 </para>
 
  run on the same box, your <application>squid</application> configuration could then look like this:
 </para>
 
- <screen>
-  # Define Privoxy as parent proxy (without ICP)
-  cache_peer 127.0.0.1 parent 8118 7 no-query
+<screen>
+# Define Privoxy as parent proxy (without ICP)
+cache_peer 127.0.0.1 parent 8118 7 no-query
 
 
-  # Define ACL for protocol FTP
-  acl ftp proto FTP
+# Define ACL for protocol FTP
+acl ftp proto FTP
 
 
-  # Do not forward FTP requests to Privoxy
-  always_direct allow ftp
+# Do not forward FTP requests to Privoxy
+always_direct allow ftp
 
 
-  # Forward all the rest to Privoxy
-  never_direct allow all</screen>
+# Forward all the rest to Privoxy
+never_direct allow all
+</screen>
 
 <para>
  You would then need to change your browser's proxy settings to <application>squid</application>'s address and port.
 
 <para>
  You would then need to change your browser's proxy settings to <application>squid</application>'s address and port.
@@ -2368,9 +2456,10 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
  say, on <literal>antivir.example.com</literal>, port 8010:
 </para>
 
  say, on <literal>antivir.example.com</literal>, port 8010:
 </para>
 
- <screen>
-  forward   /                          .
-  forward   /.*\.(exe|com|dll|zip)$    antivir.example.com:8010</screen>
+<screen>
+forward   /                          .
+forward   /.*\.(exe|com|dll|zip)$    antivir.example.com:8010
+</screen>
 
 </sect3>
 ]]>
 
 </sect3>
 ]]>
@@ -2429,7 +2518,7 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
   </listitem>
  </varlistentry>
  <varlistentry>
   </listitem>
  </varlistentry>
  <varlistentry>
-  <term>Examples:</term>
+  <term>Example:</term>
   <listitem>
    <para>
     forwarded-connect-retries 1
   <listitem>
    <para>
     forwarded-connect-retries 1
@@ -2506,7 +2595,7 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
   </listitem>
  </varlistentry>
  <varlistentry>
   </listitem>
  </varlistentry>
  <varlistentry>
-  <term>Examples:</term>
+  <term>Example:</term>
   <listitem>
    <para>
     accept-intercepted-requests 1
   <listitem>
    <para>
     accept-intercepted-requests 1
@@ -2564,7 +2653,7 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
   </listitem>
  </varlistentry>
  <varlistentry>
   </listitem>
  </varlistentry>
  <varlistentry>
-  <term>Examples:</term>
+  <term>Example:</term>
   <listitem>
    <para>
     allow-cgi-request-crunching 1
   <listitem>
    <para>
     allow-cgi-request-crunching 1
@@ -2631,7 +2720,7 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
   </listitem>
  </varlistentry>
  <varlistentry>
   </listitem>
  </varlistentry>
  <varlistentry>
-  <term>Examples:</term>
+  <term>Example:</term>
   <listitem>
    <para>
     split-large-forms 1
   <listitem>
    <para>
     split-large-forms 1
@@ -2714,7 +2803,7 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
   </listitem>
  </varlistentry>
  <varlistentry>
   </listitem>
  </varlistentry>
  <varlistentry>
-  <term>Examples:</term>
+  <term>Example:</term>
   <listitem>
    <para>
     keep-alive-timeout 300
   <listitem>
    <para>
     keep-alive-timeout 300
@@ -2783,7 +2872,7 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
   </listitem>
  </varlistentry>
  <varlistentry>
   </listitem>
  </varlistentry>
  <varlistentry>
-  <term>Examples:</term>
+  <term>Example:</term>
   <listitem>
    <para>
     tolerate-pipelining 1
   <listitem>
    <para>
     tolerate-pipelining 1
@@ -2864,7 +2953,7 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
   </listitem>
  </varlistentry>
  <varlistentry>
   </listitem>
  </varlistentry>
  <varlistentry>
-  <term>Examples:</term>
+  <term>Example:</term>
   <listitem>
    <para>
     default-server-timeout 60
   <listitem>
    <para>
     default-server-timeout 60
@@ -2872,7 +2961,7 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
   </listitem>
  </varlistentry>
 </variablelist>
   </listitem>
  </varlistentry>
 </variablelist>
-<![%config-file;[<literallayout>@@#default-server-timeout 60</literallayout>]]>
+<![%config-file;[<literallayout>@@#default-server-timeout 5</literallayout>]]>
 </sect3>
 
 
 </sect3>
 
 
@@ -2926,9 +3015,9 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
     There are also a few privacy implications you should be aware of.
    </para>
    <para>
     There are also a few privacy implications you should be aware of.
    </para>
    <para>
-    If this option is effective, outgoing connections are shared between
+    If this option is enabled, outgoing connections are shared between
     clients (if there are more than one) and closing the browser that initiated
     clients (if there are more than one) and closing the browser that initiated
-    the outgoing connection does no longer affect the connection between &my-app;
+    the outgoing connection does not affect the connection between &my-app;
     and the server unless the client's request hasn't been completed yet.
    </para>
    <para>
     and the server unless the client's request hasn't been completed yet.
    </para>
    <para>
@@ -2963,7 +3052,7 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
   </listitem>
  </varlistentry>
  <varlistentry>
   </listitem>
  </varlistentry>
  <varlistentry>
-  <term>Examples:</term>
+  <term>Example:</term>
   <listitem>
    <para>
     connection-sharing 1
   <listitem>
    <para>
     connection-sharing 1
@@ -3016,10 +3105,18 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
     If you aren't using an occasionally slow proxy like Tor, reducing
     it to a few seconds should be fine.
    </para>
     If you aren't using an occasionally slow proxy like Tor, reducing
     it to a few seconds should be fine.
    </para>
+   <warning>
+    <para>
+     When a TLS library is being used to read or write data from a socket with
+     <literal><ulink url="actions-file.html#HTTPS-INSPECTION">https-inspection</ulink></literal>
+     enabled the socket-timeout currently isn't applied and the timeout
+     used depends on the library (which may not even use a timeout).
+    </para>
+   </warning>
   </listitem>
  </varlistentry>
  <varlistentry>
   </listitem>
  </varlistentry>
  <varlistentry>
-  <term>Examples:</term>
+  <term>Example:</term>
   <listitem>
    <para>
     socket-timeout 300
   <listitem>
    <para>
     socket-timeout 300
@@ -3056,16 +3153,11 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
   </listitem>
  </varlistentry>
  <varlistentry>
   </listitem>
  </varlistentry>
  <varlistentry>
-  <term>Effect if unset:</term>
+  <term>Notes:</term>
   <listitem>
    <para>
     Connections are served until a resource limit is reached.
    </para>
   <listitem>
    <para>
     Connections are served until a resource limit is reached.
    </para>
-  </listitem>
- </varlistentry>
- <varlistentry>
-  <term>Notes:</term>
-  <listitem>
    <para>
     &my-app; creates one thread (or process) for every incoming client
     connection that isn't rejected based on the access control settings.
    <para>
     &my-app; creates one thread (or process) for every incoming client
     connection that isn't rejected based on the access control settings.
@@ -3099,15 +3191,20 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
    </para>
    <para>
     One most POSIX-compliant systems &my-app; can't properly deal with
    </para>
    <para>
     One most POSIX-compliant systems &my-app; can't properly deal with
-    more than FD_SETSIZE file descriptors at the same time and has to reject
-    connections if the limit is reached. This will likely change in a
-    future version, but currently this limit can't be increased without
-    recompiling &my-app; with a different FD_SETSIZE limit.
+    more than FD_SETSIZE file descriptors if &my-app; has been configured
+    to use select() and has to reject connections if the limit is reached.
+    When using select() this limit therefore can't be increased without
+    recompiling &my-app; with a different FD_SETSIZE limit unless &my-app;
+    is running on Windows with _WIN32 defined.
+   </para>
+   <para>
+    When &my-app; has been configured to use poll() the FD_SETSIZE limit
+    does not apply.
    </para>
   </listitem>
  </varlistentry>
  <varlistentry>
    </para>
   </listitem>
  </varlistentry>
  <varlistentry>
-  <term>Examples:</term>
+  <term>Example:</term>
   <listitem>
    <para>
     max-client-connections 256
   <listitem>
    <para>
     max-client-connections 256
@@ -3156,13 +3253,13 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
   <listitem>
    <para>
     Under high load incoming connection may queue up before Privoxy
   <listitem>
    <para>
     Under high load incoming connection may queue up before Privoxy
-    gets around to serve them. The queue length is limitted by the
+    gets around to serve them. The queue length is limited by the
     operating system. Once the queue is full, additional connections
     are dropped before Privoxy can accept and serve them.
    </para>
    <para>
     Increasing the queue length allows Privoxy to accept more
     operating system. Once the queue is full, additional connections
     are dropped before Privoxy can accept and serve them.
    </para>
    <para>
     Increasing the queue length allows Privoxy to accept more
-    incomming connections that arrive roughly at the same time.
+    incoming connections that arrive roughly at the same time.
    </para>
    <para>
     Note that Privoxy can only request a certain queue length,
    </para>
    <para>
     Note that Privoxy can only request a certain queue length,
@@ -3186,7 +3283,7 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
   </listitem>
  </varlistentry>
  <varlistentry>
   </listitem>
  </varlistentry>
  <varlistentry>
-  <term>Examples:</term>
+  <term>Example:</term>
   <listitem>
    <para>
     listen-backlog 4096
   <listitem>
    <para>
     listen-backlog 4096
@@ -3257,7 +3354,7 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
   </listitem>
  </varlistentry>
  <varlistentry>
   </listitem>
  </varlistentry>
  <varlistentry>
-  <term>Examples:</term>
+  <term>Example:</term>
   <listitem>
    <para>
     enable-accept-filter 1
   <listitem>
    <para>
     enable-accept-filter 1
@@ -3318,8 +3415,8 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
    <para>
     This directive was added as a work-around for Firefox bug 492459:
     <quote>Websites are no longer rendered if SSL requests for JavaScripts are blocked by a proxy.</quote>
    <para>
     This directive was added as a work-around for Firefox bug 492459:
     <quote>Websites are no longer rendered if SSL requests for JavaScripts are blocked by a proxy.</quote>
-    (<ulink url="https://bugzilla.mozilla.org/show_bug.cgi?id=492459"
-       >https://bugzilla.mozilla.org/show_bug.cgi?id=492459</ulink>),
+    (<ulink url="https://bugzilla.mozilla.org/show_bug.cgi?id=492459">
+                 https://bugzilla.mozilla.org/show_bug.cgi?id=492459</ulink>),
     the bug has been fixed for quite some time, but this directive is also useful
     to make it harder for websites to detect whether or not resources are being
     blocked.
     the bug has been fixed for quite some time, but this directive is also useful
     to make it harder for websites to detect whether or not resources are being
     blocked.
@@ -3439,17 +3536,19 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
   <term>Examples:</term>
   <listitem>
     <screen>
   <term>Examples:</term>
   <listitem>
     <screen>
-    # Best speed (compared to the other levels)
-    compression-level 1
-    # Best compression
-    compression-level 9
-    # No compression. Only useful for testing as the added header
-    # slightly increases the amount of data that has to be sent.
-    # If your benchmark shows that using this compression level
-    # is superior to using no compression at all, the benchmark
-    # is likely to be flawed.
-    compression-level 0
-    </screen>
+# Best speed (compared to the other levels)
+compression-level 1
+
+# Best compression
+compression-level 9
+
+# No compression. Only useful for testing as the added header
+# slightly increases the amount of data that has to be sent.
+# If your benchmark shows that using this compression level
+# is superior to using no compression at all, the benchmark
+# is likely to be flawed.
+compression-level 0
+</screen>
   </listitem>
  </varlistentry>
 </variablelist>
   </listitem>
  </varlistentry>
 </variablelist>
@@ -3501,7 +3600,10 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
    </para>
    <para>
      Note that sorting headers in an uncommon way will make fingerprinting
    </para>
    <para>
      Note that sorting headers in an uncommon way will make fingerprinting
-     actually easier. Encrypted headers are not affected by this directive.
+     actually easier.
+     Encrypted headers are not affected by this directive unless
+     <literal><ulink url="actions-file.html#HTTPS-INSPECTION">https-inspection</ulink></literal>
+     is enabled.
    </para>
   </listitem>
  </varlistentry>
    </para>
   </listitem>
  </varlistentry>
@@ -3515,9 +3617,13 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
  Referer \
  Cookie \
  DNT \
  Referer \
  Cookie \
  DNT \
+ Connection \
+ Pragma \
+ Upgrade-Insecure-Requests \
  If-Modified-Since \
  Cache-Control \
  Content-Length \
  If-Modified-Since \
  Cache-Control \
  Content-Length \
+ Origin \
  Content-Type
 </literallayout>]]>
 </sect3>
  Content-Type
 </literallayout>]]>
 </sect3>
@@ -3551,12 +3657,6 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
  <varlistentry>
   <term>Notes:</term>
   <listitem>
  <varlistentry>
   <term>Notes:</term>
   <listitem>
-   <warning>
-   <para>
-    This is an experimental feature. The syntax is likely to change
-    in future versions.
-   </para>
-   </warning>
    <para>
     Client-specific tags allow Privoxy admins to create different
     profiles and let the users chose which one they want without
    <para>
     Client-specific tags allow Privoxy admins to create different
     profiles and let the users chose which one they want without
@@ -3590,7 +3690,7 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
     Clients can request tags to be set by using the CGI interface <ulink
      url="http://config.privoxy.org/client-tags">http://config.privoxy.org/client-tags</ulink>.
     The specific tag description is only used on the web page and should
     Clients can request tags to be set by using the CGI interface <ulink
      url="http://config.privoxy.org/client-tags">http://config.privoxy.org/client-tags</ulink>.
     The specific tag description is only used on the web page and should
-    be phrased in away that the user understand the effect of the tag.
+    be phrased in away that the user understands the effect of the tag.
    </para>
   </listitem>
  </varlistentry>
    </para>
   </listitem>
  </varlistentry>
@@ -3598,11 +3698,16 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
   <term>Examples:</term>
   <listitem>
     <screen>
   <term>Examples:</term>
   <listitem>
     <screen>
-    # Define a couple of tags, the described effect requires action sections
-    # that are enabled based on CLIENT-TAG patterns.
-    client-specific-tag circumvent-blocks Overrule blocks but do not affect other actions
-    disable-content-filters Disable content-filters but do not affect other actions
-    </screen>
+  # Define a couple of tags, the described effect requires action sections
+  # that are enabled based on CLIENT-TAG patterns.
+  client-specific-tag circumvent-blocks Overrule blocks but do not affect other actions
+  client-specific-tag disable-content-filters Disable content-filters but do not affect other actions
+  client-specific-tag overrule-redirects Overrule redirect sections
+  client-specific-tag allow-cookies Do not crunch cookies in either direction
+  client-specific-tag change-tor-socks-port Change forward-socks5 settings to use a different Tor socks port (and circuits)
+  client-specific-tag no-https-inspection Disable HTTPS inspection
+  client-specific-tag no-tls-verification Don't verify certificates when http-inspection is enabled
+</screen>
   </listitem>
  </varlistentry>
 </variablelist>
   </listitem>
  </varlistentry>
 </variablelist>
@@ -3637,12 +3742,6 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
  <varlistentry>
   <term>Notes:</term>
   <listitem>
  <varlistentry>
   <term>Notes:</term>
   <listitem>
-   <warning>
-   <para>
-    This is an experimental feature. The syntax is likely to change
-    in future versions.
-   </para>
-   </warning>
    <para>
     In case of some tags users may not want to enable them permanently,
     but only for a short amount of time, for example to circumvent a block
    <para>
     In case of some tags users may not want to enable them permanently,
     but only for a short amount of time, for example to circumvent a block
@@ -3658,12 +3757,12 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
   </listitem>
  </varlistentry>
  <varlistentry>
   </listitem>
  </varlistentry>
  <varlistentry>
-  <term>Examples:</term>
+  <term>Example:</term>
   <listitem>
     <screen>
   <listitem>
     <screen>
-      # Increase the time to life for temporarily enabled tags to 3 minutes
-      client-tag-lifetime 180
-    </screen>
+    # Increase the time to life for temporarily enabled tags to 3 minutes
+    client-tag-lifetime 180
+</screen>
   </listitem>
  </varlistentry>
 </variablelist>
   </listitem>
  </varlistentry>
 </variablelist>
@@ -3698,12 +3797,6 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
  <varlistentry>
   <term>Notes:</term>
   <listitem>
  <varlistentry>
   <term>Notes:</term>
   <listitem>
-   <warning>
-   <para>
-    This is an experimental feature. The syntax is likely to change
-    in future versions.
-   </para>
-   </warning>
    <para>
     If clients reach Privoxy through another proxy, for example a load
     balancer, Privoxy can't tell the client's IP address from the connection.
    <para>
     If clients reach Privoxy through another proxy, for example a load
     balancer, Privoxy can't tell the client's IP address from the connection.
@@ -3730,13 +3823,13 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
   </listitem>
  </varlistentry>
  <varlistentry>
   </listitem>
  </varlistentry>
  <varlistentry>
-  <term>Examples:</term>
+  <term>Example:</term>
   <listitem>
     <screen>
   <listitem>
     <screen>
-      # Allow systems that can reach Privoxy to provide the client
-      # IP address with a X-Forwarded-For header.
-      trust-x-forwarded-for 1
-    </screen>
+    # Allow systems that can reach Privoxy to provide the client
+    # IP address with a X-Forwarded-For header.
+    trust-x-forwarded-for 1
+</screen>
   </listitem>
  </varlistentry>
 </variablelist>
   </listitem>
  </varlistentry>
 </variablelist>
@@ -3803,12 +3896,12 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
   </listitem>
  </varlistentry>
  <varlistentry>
   </listitem>
  </varlistentry>
  <varlistentry>
-  <term>Examples:</term>
+  <term>Example:</term>
   <listitem>
     <screen>
   <listitem>
     <screen>
-      # Increase the receive buffer size
-      receive-buffer-size 32768
-    </screen>
+    # Increase the receive buffer size
+    receive-buffer-size 32768
+</screen>
   </listitem>
  </varlistentry>
 </variablelist>
   </listitem>
  </varlistentry>
 </variablelist>
@@ -3818,123 +3911,643 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
 
 </sect2>
 
 
 </sect2>
 
-<!--   ~~~~~       New section      ~~~~~     -->
-
-<sect2 id="windows-gui">
-<title>Windows GUI Options</title>
-<para>
- <application>Privoxy</application> has a number of options specific to the
- Windows GUI interface:
-</para>
-
-<anchor id="activity-animation">
-<![%config-file;[<para>@@</para>]]> <!-- for spacing -->
-<para>
- If <quote>activity-animation</quote> is set to 1, the
- <application>Privoxy</application> icon will animate when
- <quote>Privoxy</quote> is active. To turn off, set to 0.
-</para>
-
-<![%config-file;[<literallayout>@@#activity-animation   1</literallayout>]]>
-<![%user-man;[
-<para>
- <literal>
-  <msgtext>
-   <literallayout>
-  <emphasis>activity-animation   1</emphasis>
-   </literallayout>
-  </msgtext>
- </literal>
-</para>
-]]>
-
-<anchor id="log-messages">
-<![%config-file;[<para>@@</para>]]> <!-- for spacing -->
-<para>
- If <quote>log-messages</quote> is set to 1,
- <application>Privoxy</application> copies log messages to the console
- window.
- The log detail depends on the <link linkend="debug">debug</link> directive.
-</para>
-
-<![%config-file;[<literallayout>@@#log-messages   1</literallayout>]]>
-<![%user-man;[
-<para>
- <literal>
-  <msgtext>
-   <literallayout>
-  <emphasis>log-messages       1</emphasis>
-   </literallayout>
-  </msgtext>
- </literal>
-</para>
-]]>
 
 
-<anchor id="log-buffer-size">
-<![%config-file;[<para>@@</para>]]> <!-- for spacing -->
-<para>
- If <quote>log-buffer-size</quote> is set to 1, the size of the log buffer,
- i.e. the amount of memory used for the log messages displayed in the
- console window, will be limited to <quote>log-max-lines</quote> (see below).
-</para>
+<sect2 id="https-inspection-directives">
+<title>HTTPS Inspection</title>
 
 <para>
 
 <para>
- Warning: Setting this to 0 will result in the buffer to grow infinitely and
- eat up all your memory!
+  HTTPS inspection allows to filter encrypted requests and responses.
+  This is only supported when <application>Privoxy</application>
+  has been built with FEATURE_HTTPS_INSPECTION.
+  If you aren't sure if your version supports it, have a look at
+  <ulink url="http://config.privoxy.org/show-status">http://config.privoxy.org/show-status</ulink>.
 </para>
 
 </para>
 
-<![%config-file;[<literallayout>@@#log-buffer-size 1</literallayout>]]>
-<![%user-man;[
-<para>
- <literal>
-  <msgtext>
-   <literallayout>
-  <emphasis>log-buffer-size      1</emphasis>
-   </literallayout>
-  </msgtext>
- </literal>
-</para>
-]]>
+<!--   ~~~~~       New section      ~~~~~     -->
 
 
-<anchor id="log-max-lines">
-<![%config-file;[<para>@@</para>]]> <!-- for spacing -->
-<para>
- <application>log-max-lines</application> is the maximum number of lines held
- in the log buffer. See above.
-</para>
+<sect3 renderas="sect4" id="ca-directory"><title>ca-directory</title>
+<variablelist>
+ <varlistentry>
+  <term>Specifies:</term>
+  <listitem>
+   <para>
+    Directory with the CA key, the CA certificate and the trusted CAs file.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Type of value:</term>
+  <listitem>
+   <para>
+    Text
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Default value:</term>
+  <listitem>
+   <para><emphasis>./CA</emphasis></para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Effect if unset:</term>
+  <listitem>
+   <para>
+    Default value is used.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Notes:</term>
+  <listitem>
+   <para>
+    This directive specifies the directory where the
+    CA key, the CA certificate and the trusted CAs file
+    are located.
+   </para>
+   <para>
+    The permissions should only let &my-app; and the  &my-app;
+    admin access the directory.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Example:</term>
+  <listitem>
+   <para>
+    ca-directory /usr/local/etc/privoxy/CA
+   </para>
+  </listitem>
+ </varlistentry>
+</variablelist>
+<![%config-file;[<literallayout>@@#ca-directory /usr/local/etc/privoxy/CA</literallayout>]]>
+</sect3>
 
 
-<![%config-file;[<literallayout>@@#log-max-lines 200</literallayout>]]>
-<![%user-man;[
-<para>
- <literal>
-  <msgtext>
-   <literallayout>
-  <emphasis>log-max-lines      200</emphasis>
-   </literallayout>
-  </msgtext>
- </literal>
-</para>
-]]>
+<!--  ~  End section  ~  -->
 
 
-<anchor id="log-highlight-messages">
-<![%config-file;[<para>@@</para>]]> <!-- for spacing -->
-<para>
- If <quote>log-highlight-messages</quote> is set to 1,
- <application>Privoxy</application> will highlight portions of the log
- messages with a bold-faced font:
-</para>
+<!--   ~~~~~       New section      ~~~~~     -->
 
 
-<![%config-file;[<literallayout>@@#log-highlight-messages 1</literallayout>]]>
-<![%user-man;[
-<para>
- <literal>
-  <msgtext>
-   <literallayout>
-  <emphasis>log-highlight-messages   1</emphasis>
-   </literallayout>
-  </msgtext>
- </literal>
+<sect3 renderas="sect4" id="ca-cert-file"><title>ca-cert-file</title>
+<variablelist>
+ <varlistentry>
+  <term>Specifies:</term>
+  <listitem>
+   <para>
+    The CA certificate file in ".crt" format.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Type of value:</term>
+  <listitem>
+   <para>
+    Text
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Default value:</term>
+  <listitem>
+   <para><emphasis>cacert.crt</emphasis></para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Effect if unset:</term>
+  <listitem>
+   <para>
+    Default value is used.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Notes:</term>
+  <listitem>
+   <para>
+    This directive specifies the name of the CA certificate file
+    in ".crt" format.
+   </para>
+   <para>
+    The file is used by &my-app; to generate website certificates
+    when https inspection is enabled with the
+    <literal><ulink url="actions-file.html#HTTPS-INSPECTION">https-inspection</ulink></literal>
+    action.
+   </para>
+   <para>
+    &my-app; clients should import the certificate so that they
+    can validate the generated certificates.
+   </para>
+   <para>
+    The file can be generated with:
+    <command>openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.crt -days 3650</command>
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Example:</term>
+  <listitem>
+   <para>
+    ca-cert-file root.crt
+   </para>
+  </listitem>
+ </varlistentry>
+</variablelist>
+<![%config-file;[<literallayout>@@#ca-cert-file cacert.crt</literallayout>]]>
+</sect3>
+
+<!--  ~  End section  ~  -->
+
+<!--   ~~~~~       New section      ~~~~~     -->
+
+<sect3 renderas="sect4" id="ca-key-file"><title>ca-key-file</title>
+<variablelist>
+ <varlistentry>
+  <term>Specifies:</term>
+  <listitem>
+   <para>
+    The CA key file in ".pem" format.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Type of value:</term>
+  <listitem>
+   <para>
+    Text
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Default value:</term>
+  <listitem>
+   <para><emphasis>cacert.pem</emphasis></para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Effect if unset:</term>
+  <listitem>
+   <para>
+    Default value is used.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Notes:</term>
+  <listitem>
+   <para>
+    This directive specifies the name of the CA key file in ".pem" format.
+    The <ulink url="#CA-CERT-FILE">ca-cert-file section</ulink> contains
+    a command to generate it.
+   </para>
+   <para>
+    The CA key is used by &my-app; to sign generated certificates.
+   </para>
+   <para>
+    Access to the key should be limited to Privoxy.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Example:</term>
+  <listitem>
+   <para>
+    ca-key-file cakey.pem
+   </para>
+  </listitem>
+ </varlistentry>
+</variablelist>
+<![%config-file;[<literallayout>@@#ca-key-file cakey.pem</literallayout>]]>
+</sect3>
+
+<!--  ~  End section  ~  -->
+
+<!--   ~~~~~       New section      ~~~~~     -->
+
+<sect3 renderas="sect4" id="ca-password"><title>ca-password</title>
+<variablelist>
+ <varlistentry>
+  <term>Specifies:</term>
+  <listitem>
+   <para>
+    The password for the CA keyfile.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Type of value:</term>
+  <listitem>
+   <para>
+    Text
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Default value:</term>
+  <listitem>
+   <para><emphasis>Empty string</emphasis></para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Effect if unset:</term>
+  <listitem>
+   <para>
+    Default value is used.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Notes:</term>
+  <listitem>
+   <para>
+    This directive specifies the password for the CA keyfile
+    that is used when Privoxy generates certificates for intercepted
+    requests.
+   </para>
+   <warning>
+   <para>
+     Note that the password is shown on the CGI page so don't
+     reuse an important one.
+   </para>
+   <para>
+     If disclosure of the password is a compliance issue consider blocking
+     the relevant CGI requests after enabling the <link linkend="enforce-blocks">enforce-blocks</link>
+     and <link linkend="allow-cgi-request-crunching">allow-cgi-request-crunching</link>.
+   </para>
+   </warning>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Example:</term>
+  <listitem>
+   <para>
+    ca-password blafasel
+   </para>
+  </listitem>
+ </varlistentry>
+</variablelist>
+<![%config-file;[<literallayout>@@#ca-password swordfish</literallayout>]]>
+</sect3>
+
+<!--  ~  End section  ~  -->
+
+<!--   ~~~~~       New section      ~~~~~     -->
+
+<sect3 renderas="sect4" id="certificate-directory"><title>certificate-directory</title>
+<variablelist>
+ <varlistentry>
+  <term>Specifies:</term>
+  <listitem>
+   <para>
+    Directory to save generated keys and certificates.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Type of value:</term>
+  <listitem>
+   <para>
+    Text
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Default value:</term>
+  <listitem>
+   <para><emphasis>./certs</emphasis></para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Effect if unset:</term>
+  <listitem>
+   <para>
+    Default value is used.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Notes:</term>
+  <listitem>
+   <para>
+    This directive specifies the directory where generated
+    TLS/SSL keys and certificates are saved when https inspection
+    is enabled with the
+    <literal><ulink url="actions-file.html#HTTPS-INSPECTION">https-inspection</ulink></literal>
+    action.
+   </para>
+   <para>
+    The keys and certificates currently have to be deleted manually
+    when changing the <ulink url="#CA-CERT-FILE">ca-cert-file</ulink>
+    and the <ulink url="#CA-CERT-KEY">ca-cert-key</ulink>.
+   </para>
+   <para>
+    The permissions should only let &my-app; and the &my-app;
+    admin access the directory.
+   </para>
+   <warning>
+    <para>
+     &my-app; currently does not garbage-collect obsolete keys
+     and certificates and does not keep track of how may keys
+     and certificates exist.
+    </para>
+    <para>
+     &my-app; admins should monitor the size of the directory
+     and/or make sure there is sufficient space available.
+     A cron job to limit the number of keys and certificates
+     to a certain number may be worth considering.
+    </para>
+   </warning>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Example:</term>
+  <listitem>
+   <para>
+    certificate-directory /usr/local/var/privoxy/certs
+   </para>
+  </listitem>
+ </varlistentry>
+</variablelist>
+<![%config-file;[<literallayout>@@#certificate-directory /usr/local/var/privoxy/certs</literallayout>]]>
+</sect3>
+
+<!--  ~  End section  ~  -->
+
+<!--   ~~~~~       New section      ~~~~~     -->
+
+<sect3 renderas="sect4" id="cipher-list"><title>cipher-list</title>
+<variablelist>
+ <varlistentry>
+  <term>Specifies:</term>
+  <listitem>
+   <para>
+    A list of ciphers to use in TLS handshakes
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Type of value:</term>
+  <listitem>
+   <para>
+    Text
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Default value:</term>
+  <listitem>
+   <para>None</para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Effect if unset:</term>
+  <listitem>
+   <para>
+    A default value is inherited from the TLS library.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Notes:</term>
+  <listitem>
+   <para>
+    This directive allows to specify a non-default list of ciphers to use
+    in TLS handshakes with clients and servers.
+   </para>
+   <para>
+    Ciphers are separated by colons. Which ciphers are supported
+    depends on the TLS library. When using OpenSSL, unsupported ciphers
+    are skipped. When using MbedTLS they are rejected.
+   </para>
+   <warning>
+    <para>
+     Specifying an unusual cipher list makes fingerprinting easier.
+     Note that the default list provided by the TLS library may
+     be unusual when compared to the one used by modern browsers
+     as well.
+    </para>
+   </warning>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Examples:</term>
+  <listitem>
+   <screen>
+  # Explicitly set a couple of ciphers with names used by MbedTLS
+cipher-list cipher-list TLS-ECDHE-RSA-WITH-CHACHA20-POLY1305-SHA256:\
+TLS-ECDHE-ECDSA-WITH-CHACHA20-POLY1305-SHA256:\
+TLS-DHE-RSA-WITH-CHACHA20-POLY1305-SHA256:\
+TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256:\
+TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384:\
+TLS-ECDHE-ECDSA-WITH-AES-256-CCM:\
+TLS-ECDHE-ECDSA-WITH-AES-256-CCM-8:\
+TLS-ECDHE-ECDSA-WITH-AES-128-CCM:\
+TLS-ECDHE-ECDSA-WITH-AES-128-CCM-8:\
+TLS-ECDHE-ECDSA-WITH-CAMELLIA-128-GCM-SHA256:\
+TLS-ECDHE-ECDSA-WITH-CAMELLIA-256-GCM-SHA384:\
+TLS-ECDHE-RSA-WITH-AES-128-GCM-SHA256:\
+TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384:\
+TLS-ECDHE-RSA-WITH-CAMELLIA-128-GCM-SHA256:\
+TLS-ECDHE-RSA-WITH-CAMELLIA-256-GCM-SHA384:\
+TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:\
+TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:\
+TLS-DHE-RSA-WITH-AES-256-CCM:\
+TLS-DHE-RSA-WITH-AES-256-CCM-8:\
+TLS-DHE-RSA-WITH-AES-128-CCM:\
+TLS-DHE-RSA-WITH-AES-128-CCM-8:\
+TLS-DHE-RSA-WITH-CAMELLIA-128-GCM-SHA256:\
+TLS-DHE-RSA-WITH-CAMELLIA-256-GCM-SHA384:\
+TLS-ECDH-RSA-WITH-AES-128-GCM-SHA256:\
+TLS-ECDH-RSA-WITH-AES-256-GCM-SHA384:\
+TLS-ECDH-RSA-WITH-CAMELLIA-128-GCM-SHA256:\
+TLS-ECDH-RSA-WITH-CAMELLIA-256-GCM-SHA384:\
+TLS-ECDH-ECDSA-WITH-AES-128-GCM-SHA256:\
+TLS-ECDH-ECDSA-WITH-AES-256-GCM-SHA384:\
+TLS-ECDH-ECDSA-WITH-CAMELLIA-128-GCM-SHA256:\
+TLS-ECDH-ECDSA-WITH-CAMELLIA-256-GCM-SHA384
+</screen>
+   <screen>
+  # Explicitly set a couple of ciphers with names used by OpenSSL
+cipher-list ECDHE-RSA-AES256-GCM-SHA384:\
+ECDHE-ECDSA-AES256-GCM-SHA384:\
+DH-DSS-AES256-GCM-SHA384:\
+DHE-DSS-AES256-GCM-SHA384:\
+DH-RSA-AES256-GCM-SHA384:\
+DHE-RSA-AES256-GCM-SHA384:\
+ECDH-RSA-AES256-GCM-SHA384:\
+ECDH-ECDSA-AES256-GCM-SHA384:\
+ECDHE-RSA-AES128-GCM-SHA256:\
+ECDHE-ECDSA-AES128-GCM-SHA256:\
+DH-DSS-AES128-GCM-SHA256:\
+DHE-DSS-AES128-GCM-SHA256:\
+DH-RSA-AES128-GCM-SHA256:\
+DHE-RSA-AES128-GCM-SHA256:\
+ECDH-RSA-AES128-GCM-SHA256:\
+ECDH-ECDSA-AES128-GCM-SHA256:\
+ECDHE-RSA-AES256-GCM-SHA384:\
+AES128-SHA
+</screen>
+   <screen>
+  # Use keywords instead of explicitly naming the ciphers (Does not work with MbedTLS)
+cipher-list ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
+</screen>
+  </listitem>
+ </varlistentry>
+</variablelist>
+</sect3>
+
+<!--  ~  End section  ~  -->
+
+<!--   ~~~~~       New section      ~~~~~     -->
+
+<sect3 renderas="sect4" id="trusted-cas-file"><title>trusted-cas-file</title>
+<variablelist>
+ <varlistentry>
+  <term>Specifies:</term>
+  <listitem>
+   <para>
+    The trusted CAs file in ".pem" format.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Type of value:</term>
+  <listitem>
+   <para>
+    File name relative to ca-directory
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Default value:</term>
+  <listitem>
+   <para><emphasis>trustedCAs.pem</emphasis></para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Effect if unset:</term>
+  <listitem>
+   <para>
+    Default value is used.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Notes:</term>
+  <listitem>
+   <para>
+    This directive specifies the trusted CAs file that is used when validating
+    certificates for intercepted TLS/SSL requests.
+   </para>
+   <para>
+    An example file can be downloaded from
+    <ulink url="https://curl.se/ca/cacert.pem">https://curl.se/ca/cacert.pem</ulink>.
+    If you want to create the file yourself, please see:
+    <ulink url="https://curl.se/docs/caextract.html">https://curl.se/docs/caextract.html</ulink>.
+   </para>
+  </listitem>
+ </varlistentry>
+ <varlistentry>
+  <term>Example:</term>
+  <listitem>
+   <para>
+    trusted-cas-file trusted_cas_file.pem
+   </para>
+  </listitem>
+ </varlistentry>
+</variablelist>
+<![%config-file;[<literallayout>@@#trusted-cas-file trustedCAs.pem</literallayout>]]>
+</sect3>
+
+<!--  ~  End section  ~  -->
+
+</sect2>
+
+<!--   ~~~~~       New section      ~~~~~     -->
+
+<sect2 id="windows-gui">
+<title>Windows GUI Options</title>
+<para>
+ <application>Privoxy</application> has a number of options specific to the
+ Windows GUI interface:
+</para>
+
+<anchor id="activity-animation">
+<![%config-file;[<para>@@</para>]]> <!-- for spacing -->
+<para>
+ If <quote>activity-animation</quote> is set to 1, the
+ <application>Privoxy</application> icon will animate when
+ <quote>Privoxy</quote> is active. To turn off, set to 0.
+</para>
+
+<![%config-file;[<literallayout>@@#activity-animation   1</literallayout>]]>
+<![%user-man;[
+   <literallayout>
+  <emphasis>activity-animation   1</emphasis>
+</literallayout>
+]]>
+
+<anchor id="log-messages">
+<![%config-file;[<para>@@</para>]]> <!-- for spacing -->
+<para>
+ If <quote>log-messages</quote> is set to 1,
+ <application>Privoxy</application> copies log messages to the console
+ window.
+ The log detail depends on the <link linkend="debug">debug</link> directive.
+</para>
+
+<![%config-file;[<literallayout>@@#log-messages   1</literallayout>]]>
+<![%user-man;[
+   <literallayout>
+  <emphasis>log-messages       1</emphasis>
+</literallayout>
+]]>
+
+<anchor id="log-buffer-size">
+<![%config-file;[<para>@@</para>]]> <!-- for spacing -->
+<para>
+ If <quote>log-buffer-size</quote> is set to 1, the size of the log buffer,
+ i.e. the amount of memory used for the log messages displayed in the
+ console window, will be limited to <quote>log-max-lines</quote> (see below).
+</para>
+
+<para>
+ Warning: Setting this to 0 will result in the buffer to grow infinitely and
+ eat up all your memory!
+</para>
+
+<![%config-file;[<literallayout>@@#log-buffer-size 1</literallayout>]]>
+<![%user-man;[
+   <literallayout>
+  <emphasis>log-buffer-size      1</emphasis>
+</literallayout>
+]]>
+
+<anchor id="log-max-lines">
+<![%config-file;[<para>@@</para>]]> <!-- for spacing -->
+<para>
+ <application>log-max-lines</application> is the maximum number of lines held
+ in the log buffer. See above.
+</para>
+
+<![%config-file;[<literallayout>@@#log-max-lines 200</literallayout>]]>
+<![%user-man;[
+   <literallayout>
+  <emphasis>log-max-lines      200</emphasis>
+</literallayout>
+]]>
+
+<anchor id="log-highlight-messages">
+<![%config-file;[<para>@@</para>]]> <!-- for spacing -->
+<para>
+ If <quote>log-highlight-messages</quote> is set to 1,
+ <application>Privoxy</application> will highlight portions of the log
+ messages with a bold-faced font:
 </para>
 </para>
+
+<![%config-file;[<literallayout>@@#log-highlight-messages 1</literallayout>]]>
+<![%user-man;[
+   <literallayout>
+  <emphasis>log-highlight-messages   1</emphasis>
+</literallayout>
 ]]>
 
 <anchor id="log-font-name">
 ]]>
 
 <anchor id="log-font-name">
@@ -3945,15 +4558,9 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
 
 <![%config-file;[<literallayout>@@#log-font-name Comic Sans MS</literallayout>]]>
 <![%user-man;[
 
 <![%config-file;[<literallayout>@@#log-font-name Comic Sans MS</literallayout>]]>
 <![%user-man;[
-<para>
- <literal>
-  <msgtext>
    <literallayout>
   <emphasis>log-font-name        Comic Sans MS</emphasis>
    <literallayout>
   <emphasis>log-font-name        Comic Sans MS</emphasis>
-   </literallayout>
-  </msgtext>
- </literal>
-</para>
+</literallayout>
 ]]>
 
 <anchor id="log-font-size">
 ]]>
 
 <anchor id="log-font-size">
@@ -3964,15 +4571,9 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
 
 <![%config-file;[<literallayout>@@#log-font-size 8</literallayout>]]>
 <![%user-man;[
 
 <![%config-file;[<literallayout>@@#log-font-size 8</literallayout>]]>
 <![%user-man;[
-<para>
- <literal>
-  <msgtext>
    <literallayout>
   <emphasis>log-font-size        8</emphasis>
    <literallayout>
   <emphasis>log-font-size        8</emphasis>
-   </literallayout>
-  </msgtext>
- </literal>
-</para>
+</literallayout>
 ]]>
 
 <anchor id="show-on-task-bar">
 ]]>
 
 <anchor id="show-on-task-bar">
@@ -3985,15 +4586,9 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
 
 <![%config-file;[<literallayout>@@#show-on-task-bar 0</literallayout>]]>
 <![%user-man;[
 
 <![%config-file;[<literallayout>@@#show-on-task-bar 0</literallayout>]]>
 <![%user-man;[
-<para>
- <literal>
-  <msgtext>
    <literallayout>
   <emphasis>show-on-task-bar     0</emphasis>
    <literallayout>
   <emphasis>show-on-task-bar     0</emphasis>
-   </literallayout>
-  </msgtext>
- </literal>
-</para>
+</literallayout>
 ]]>
 
 <anchor id="close-button-minimizes">
 ]]>
 
 <anchor id="close-button-minimizes">
@@ -4006,15 +4601,9 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
 
 <![%config-file;[<literallayout>@@#close-button-minimizes 1</literallayout>]]>
 <![%user-man;[
 
 <![%config-file;[<literallayout>@@#close-button-minimizes 1</literallayout>]]>
 <![%user-man;[
-<para>
- <literal>
-  <msgtext>
    <literallayout>
   <emphasis>close-button-minimizes  1</emphasis>
    <literallayout>
   <emphasis>close-button-minimizes  1</emphasis>
-   </literallayout>
-  </msgtext>
- </literal>
-</para>
+</literallayout>
 ]]>
 
 <anchor id="hide-console">
 ]]>
 
 <anchor id="hide-console">
@@ -4028,15 +4617,9 @@ forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t</title>
 
 <![%config-file;[<literallayout>@@#hide-console</literallayout>]]>
 <![%user-man;[
 
 <![%config-file;[<literallayout>@@#hide-console</literallayout>]]>
 <![%user-man;[
-<para>
- <literal>
-  <msgtext>
    <literallayout>
   #<emphasis>hide-console</emphasis>
    <literallayout>
   #<emphasis>hide-console</emphasis>
-   </literallayout>
-  </msgtext>
- </literal>
-</para>
+</literallayout>
 ]]>
 
 </sect2>
 ]]>
 
 </sect2>