Rebuild docs
[privoxy.git] / doc / webserver / user-manual / actions-file.html
index d1c0e09..1e2b734 100644 (file)
@@ -4,7 +4,7 @@
 <head>
   <title>Actions Files</title>
   <meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
-  <link rel="HOME" title="Privoxy 3.0.27 User Manual" href="index.html">
+  <link rel="HOME" title="Privoxy 3.0.30 User Manual" href="index.html">
   <link rel="PREVIOUS" title="The Main Configuration File" href="config.html">
   <link rel="NEXT" title="Filter Files" href="filter-file.html">
   <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
@@ -15,7 +15,7 @@
   <div class="NAVHEADER">
     <table summary="Header navigation table" width="100%" border="0" cellpadding="0" cellspacing="0">
       <tr>
-        <th colspan="3" align="center">Privoxy 3.0.27 User Manual</th>
+        <th colspan="3" align="center">Privoxy 3.0.30 User Manual</th>
       </tr>
       <tr>
         <td width="10%" align="left" valign="bottom"><a href="config.html" accesskey="P">Prev</a></td>
@@ -73,7 +73,7 @@
         <p>The default profiles, and their associated actions, as pre-defined in <tt class=
         "FILENAME">default.action</tt> are:</p>
         <div class="TABLE">
-          <a name="AEN2866" id="AEN2866"></a>
+          <a name="DEFAULT-CONFIGURATIONS" id="DEFAULT-CONFIGURATIONS"></a>
           <p><b>Table 1. Default Configurations</b></p>
           <table border="1" frame="border" rules="all" class="CALSTABLE">
             <col width="1*" title="C1">
       already!</p>
       <p>The pattern matching syntax is different for the host and path parts of the URL. The host part uses a simple
       globbing type matching technique, while the path part uses more flexible <a href=
-      "http://en.wikipedia.org/wiki/Regular_expressions" target="_top"><span class="QUOTE">"Regular
+      "https://en.wikipedia.org/wiki/Regular_expressions" target="_top"><span class="QUOTE">"Regular
       Expressions"</span></a> (POSIX 1003.2).</p>
       <p>The port part of a pattern is a decimal port number preceded by a colon (<tt class="LITERAL">:</tt>). If the
       host part contains a numerical IPv6 address, it has to be put into angle brackets (<tt class="LITERAL">&lt;</tt>,
         </div>
         <p>Additionally, there are wild-cards that you can use in the domain names themselves. These work similarly to
         shell globbing type wild-cards: <span class="QUOTE">"*"</span> represents zero or more arbitrary characters
-        (this is equivalent to the <a href="http://en.wikipedia.org/wiki/Regular_expressions" target=
+        (this is equivalent to the <a href="https://en.wikipedia.org/wiki/Regular_expressions" target=
         "_top"><span class="QUOTE">"Regular Expression"</span></a> based syntax of <span class="QUOTE">".*"</span>),
         <span class="QUOTE">"?"</span> represents any single character (this is equivalent to the regular expression
         syntax of a simple <span class="QUOTE">"."</span>), and you can define <span class="QUOTE">"character
           </dl>
         </div>
         <p>While flexible, this is not the sophistication of full regular expression based syntax.</p>
+        <p>When compiled with FEATURE_PCRE_HOST_PATTERNS patterns can be prefixed with <span class=
+        "QUOTE">"PCRE-HOST-PATTERN:"</span> in which case full regular expression (PCRE) can be used for the host
+        pattern as well.</p>
       </div>
       <div class="SECT3">
         <h3 class="SECT3"><a name="PATH-PATTERN" id="PATH-PATTERN">8.4.2. The Path Pattern</a></h3>
         <p><span class="APPLICATION">Privoxy</span> uses <span class="QUOTE">"modern"</span> POSIX 1003.2 <a href=
-        "http://en.wikipedia.org/wiki/Regular_expressions" target="_top"><span class="QUOTE">"Regular
+        "https://en.wikipedia.org/wiki/Regular_expressions" target="_top"><span class="QUOTE">"Regular
         Expressions"</span></a> for matching the path portion (after the slash), and is thus more flexible.</p>
         <p>There is an <a href="appendix.html#REGEX">Appendix</a> with a brief quick-start into regular expressions,
         you also might want to have a look at your operating system's documentation on regular expressions (try
@@ -822,6 +825,13 @@ example.org/blocked-example-page</pre>
               <p>If the request URI gets changed, <span class="APPLICATION">Privoxy</span> will detect that and use the
               new one. This can be used to rewrite the request destination behind the client's back, for example to
               specify a Tor exit relay for certain requests.</p>
+              <p>Note that to change the destination host for <a href=
+              "actions-file.html#HTTPS-INSPECTION">https-inspected</a> requests a protocol and host has to be added to
+              the URI.</p>
+              <p>If <a href="actions-file.html#HTTPS-INSPECTION">https inspection</a> is enabled, the protocol can be
+              downgraded from https to http but upgrading a request from http to https is currently not supported.</p>
+              <p>After detecting a rewrite, <span class="APPLICATION">Privoxy</span> does not update the actions used
+              for the request based on the new host.</p>
               <p>Please refer to the <a href="filter-file.html">filter file chapter</a> to learn which client-header
               filters are available by default, and how to create your own.</p>
             </dd>
@@ -841,7 +851,55 @@ example.org/blocked-example-page</pre>
         </div>
       </div>
       <div class="SECT3">
-        <h4 class="SECT3"><a name="CLIENT-HEADER-TAGGER" id="CLIENT-HEADER-TAGGER">8.5.5. client-header-tagger</a></h4>
+        <h4 class="SECT3"><a name="CLIENT-BODY-FILTER" id="CLIENT-BODY-FILTER">8.5.5. client-body-filter</a></h4>
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Typical use:</dt>
+            <dd>
+              <p>Rewrite or remove client request body.</p>
+            </dd>
+            <dt>Effect:</dt>
+            <dd>
+              <p>All request bodies to which this action applies are filtered on-the-fly through the specified regular
+              expression based substitutions.</p>
+            </dd>
+            <dt>Type:</dt>
+            <dd>
+              <p>Multi-value.</p>
+            </dd>
+            <dt>Parameter:</dt>
+            <dd>
+              <p>The name of a client-body filter, as defined in one of the <a href="filter-file.html">filter
+              files</a>.</p>
+            </dd>
+            <dt>Notes:</dt>
+            <dd>
+              <p>Please refer to the <a href="filter-file.html">filter file chapter</a> to learn how to create your own
+              client-body filters.</p>
+              <p>The distribution <tt class="FILENAME">default.filter</tt> file contains a selection of client-body
+              filters for example purposes.</p>
+              <p>The amount of data that can be filtered is limited by the <tt class="LITERAL"><a href=
+              "config.html#BUFFER-LIMIT">buffer-limit</a></tt> option in the main <a href="config.html">config
+              file</a>. The default is 4096 KB (4 Megs). Once this limit is exceeded, the whole request body is passed
+              through unfiltered.</p>
+            </dd>
+            <dt>Example usage (section):</dt>
+            <dd>
+              <table border="0" bgcolor="#E0E0E0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN"># Remove "test" everywhere in the request body
+{+client-body-filter{remove-test}}
+/</pre>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
+        </div>
+      </div>
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="CLIENT-HEADER-TAGGER" id="CLIENT-HEADER-TAGGER">8.5.6. client-header-tagger</a></h4>
         <div class="VARIABLELIST">
           <dl>
             <dt>Typical use:</dt>
@@ -939,7 +997,7 @@ TAG:^IP-ADDRESS: 10\.0\.0\.1$</pre>
         </div>
       </div>
       <div class="SECT3">
-        <h4 class="SECT3"><a name="CONTENT-TYPE-OVERWRITE" id="CONTENT-TYPE-OVERWRITE">8.5.6.
+        <h4 class="SECT3"><a name="CONTENT-TYPE-OVERWRITE" id="CONTENT-TYPE-OVERWRITE">8.5.7.
         content-type-overwrite</a></h4>
         <div class="VARIABLELIST">
           <dl>
@@ -1008,7 +1066,7 @@ www.example.net/.*style</pre>
         </div>
       </div>
       <div class="SECT3">
-        <h4 class="SECT3"><a name="CRUNCH-CLIENT-HEADER" id="CRUNCH-CLIENT-HEADER">8.5.7. crunch-client-header</a></h4>
+        <h4 class="SECT3"><a name="CRUNCH-CLIENT-HEADER" id="CRUNCH-CLIENT-HEADER">8.5.8. crunch-client-header</a></h4>
         <div class="VARIABLELIST">
           <dl>
             <dt>Typical use:</dt>
@@ -1067,7 +1125,7 @@ www.example.net/.*style</pre>
         </div>
       </div>
       <div class="SECT3">
-        <h4 class="SECT3"><a name="CRUNCH-IF-NONE-MATCH" id="CRUNCH-IF-NONE-MATCH">8.5.8. crunch-if-none-match</a></h4>
+        <h4 class="SECT3"><a name="CRUNCH-IF-NONE-MATCH" id="CRUNCH-IF-NONE-MATCH">8.5.9. crunch-if-none-match</a></h4>
         <div class="VARIABLELIST">
           <dl>
             <dt>Typical use:</dt>
@@ -1119,7 +1177,7 @@ www.example.net/.*style</pre>
         </div>
       </div>
       <div class="SECT3">
-        <h4 class="SECT3"><a name="CRUNCH-INCOMING-COOKIES" id="CRUNCH-INCOMING-COOKIES">8.5.9.
+        <h4 class="SECT3"><a name="CRUNCH-INCOMING-COOKIES" id="CRUNCH-INCOMING-COOKIES">8.5.10.
         crunch-incoming-cookies</a></h4>
         <div class="VARIABLELIST">
           <dl>
@@ -1165,7 +1223,7 @@ www.example.net/.*style</pre>
         </div>
       </div>
       <div class="SECT3">
-        <h4 class="SECT3"><a name="CRUNCH-SERVER-HEADER" id="CRUNCH-SERVER-HEADER">8.5.10.
+        <h4 class="SECT3"><a name="CRUNCH-SERVER-HEADER" id="CRUNCH-SERVER-HEADER">8.5.11.
         crunch-server-header</a></h4>
         <div class="VARIABLELIST">
           <dl>
@@ -1225,7 +1283,7 @@ www.example.net/.*style</pre>
         </div>
       </div>
       <div class="SECT3">
-        <h4 class="SECT3"><a name="CRUNCH-OUTGOING-COOKIES" id="CRUNCH-OUTGOING-COOKIES">8.5.11.
+        <h4 class="SECT3"><a name="CRUNCH-OUTGOING-COOKIES" id="CRUNCH-OUTGOING-COOKIES">8.5.12.
         crunch-outgoing-cookies</a></h4>
         <div class="VARIABLELIST">
           <dl>
@@ -1270,7 +1328,7 @@ www.example.net/.*style</pre>
         </div>
       </div>
       <div class="SECT3">
-        <h4 class="SECT3"><a name="DEANIMATE-GIFS" id="DEANIMATE-GIFS">8.5.12. deanimate-gifs</a></h4>
+        <h4 class="SECT3"><a name="DEANIMATE-GIFS" id="DEANIMATE-GIFS">8.5.13. deanimate-gifs</a></h4>
         <div class="VARIABLELIST">
           <dl>
             <dt>Typical use:</dt>
@@ -1313,7 +1371,7 @@ www.example.net/.*style</pre>
         </div>
       </div>
       <div class="SECT3">
-        <h4 class="SECT3"><a name="DELAY-RESPONSE" id="DELAY-RESPONSE">8.5.13. delay-response</a></h4>
+        <h4 class="SECT3"><a name="DELAY-RESPONSE" id="DELAY-RESPONSE">8.5.14. delay-response</a></h4>
         <div class="VARIABLELIST">
           <dl>
             <dt>Typical use:</dt>
@@ -1356,7 +1414,7 @@ www.example.net/.*style</pre>
         </div>
       </div>
       <div class="SECT3">
-        <h4 class="SECT3"><a name="DOWNGRADE-HTTP-VERSION" id="DOWNGRADE-HTTP-VERSION">8.5.14.
+        <h4 class="SECT3"><a name="DOWNGRADE-HTTP-VERSION" id="DOWNGRADE-HTTP-VERSION">8.5.15.
         downgrade-http-version</a></h4>
         <div class="VARIABLELIST">
           <dl>
@@ -1403,7 +1461,7 @@ problem-host.example.com</pre>
         </div>
       </div>
       <div class="SECT3">
-        <h4 class="SECT3"><a name="EXTERNAL-FILTER" id="EXTERNAL-FILTER">8.5.15. external-filter</a></h4>
+        <h4 class="SECT3"><a name="EXTERNAL-FILTER" id="EXTERNAL-FILTER">8.5.16. external-filter</a></h4>
         <div class="VARIABLELIST">
           <dl>
             <dt>Typical use:</dt>
@@ -1465,7 +1523,7 @@ problem-host.example.com</pre>
         </div>
       </div>
       <div class="SECT3">
-        <h4 class="SECT3"><a name="FAST-REDIRECTS" id="FAST-REDIRECTS">8.5.16. fast-redirects</a></h4>
+        <h4 class="SECT3"><a name="FAST-REDIRECTS" id="FAST-REDIRECTS">8.5.17. fast-redirects</a></h4>
         <div class="VARIABLELIST">
           <dl>
             <dt>Typical use:</dt>
@@ -1524,7 +1582,7 @@ problem-host.example.com</pre>
               <p>To detect a redirection URL, <tt class="LITERAL">fast-redirects</tt> only looks for the string
               <span class="QUOTE">"http://"</span>, either in plain text (invalid but often used) or encoded as
               <span class="QUOTE">"http%3a//"</span>. Some sites use their own URL encoding scheme, encrypt the address
-              of the target server or replace it with a database id. In theses cases <tt class=
+              of the target server or replace it with a database id. In these cases <tt class=
               "LITERAL">fast-redirects</tt> is fooled and the request reaches the redirection server where it probably
               gets logged.</p>
             </dd>
@@ -1546,7 +1604,7 @@ problem-host.example.com</pre>
         </div>
       </div>
       <div class="SECT3">
-        <h4 class="SECT3"><a name="FILTER" id="FILTER">8.5.17. filter</a></h4>
+        <h4 class="SECT3"><a name="FILTER" id="FILTER">8.5.18. filter</a></h4>
         <div class="VARIABLELIST">
           <dl>
             <dt>Typical use:</dt>
@@ -1584,11 +1642,11 @@ problem-host.example.com</pre>
               completely rendered doesn't change much, but it may be perceived as slower since the page is not
               incrementally displayed.) This effect will be more noticeable on slower connections.</p>
               <p><span class="QUOTE">"Rolling your own"</span> filters requires a knowledge of <a href=
-              "http://en.wikipedia.org/wiki/Regular_expressions" target="_top"><span class="QUOTE">"Regular
-              Expressions"</span></a> and <a href="http://en.wikipedia.org/wiki/Html" target="_top"><span class=
+              "https://en.wikipedia.org/wiki/Regular_expressions" target="_top"><span class="QUOTE">"Regular
+              Expressions"</span></a> and <a href="https://en.wikipedia.org/wiki/Html" target="_top"><span class=
               "QUOTE">"HTML"</span></a>. This is very powerful feature, and potentially very intrusive. Filters should
               be used with caution, and where an equivalent <span class="QUOTE">"action"</span> is not available.</p>
-              <p>The amount of data that can be filtered is limited to the <tt class="LITERAL"><a href=
+              <p>The amount of data that can be filtered is limited by the <tt class="LITERAL"><a href=
               "config.html#BUFFER-LIMIT">buffer-limit</a></tt> option in the main <a href="config.html">config
               file</a>. The default is 4096 KB (4 Megs). Once this limit is exceeded, the buffered data, and all
               pending data, is passed through unfiltered.</p>
@@ -1622,8 +1680,8 @@ problem-host.example.com</pre>
               <table border="0" bgcolor="#E0E0E0" width="90%">
                 <tr>
                   <td>
-                    <pre class="SCREEN">
-                    +filter{js-annoyances}       # Get rid of particularly annoying JavaScript abuse.</pre>
+                    <pre class=
+                    "SCREEN">+filter{js-annoyances}       # Get rid of particularly annoying JavaScript abuse.</pre>
                   </td>
                 </tr>
               </table>
@@ -1631,8 +1689,8 @@ problem-host.example.com</pre>
               <table border="0" bgcolor="#E0E0E0" width="90%">
                 <tr>
                   <td>
-                    <pre class="SCREEN">
-                    +filter{js-events}           # Kill JavaScript event bindings and timers (Radically destructive! Only for extra nasty sites).</pre>
+                    <pre class=
+                    "SCREEN">+filter{js-events}           # Kill JavaScript event bindings and timers (Radically destructive! Only for extra nasty sites).</pre>
                   </td>
                 </tr>
               </table>
@@ -1640,8 +1698,8 @@ problem-host.example.com</pre>
               <table border="0" bgcolor="#E0E0E0" width="90%">
                 <tr>
                   <td>
-                    <pre class="SCREEN">
-                    +filter{html-annoyances}     # Get rid of particularly annoying HTML abuse.</pre>
+                    <pre class=
+                    "SCREEN">+filter{html-annoyances}     # Get rid of particularly annoying HTML abuse.</pre>
                   </td>
                 </tr>
               </table>
@@ -1649,8 +1707,8 @@ problem-host.example.com</pre>
               <table border="0" bgcolor="#E0E0E0" width="90%">
                 <tr>
                   <td>
-                    <pre class="SCREEN">
-                    +filter{content-cookies}     # Kill cookies that come in the HTML or JS content.</pre>
+                    <pre class=
+                    "SCREEN">+filter{content-cookies}     # Kill cookies that come in the HTML or JS content.</pre>
                   </td>
                 </tr>
               </table>
@@ -1658,8 +1716,8 @@ problem-host.example.com</pre>
               <table border="0" bgcolor="#E0E0E0" width="90%">
                 <tr>
                   <td>
-                    <pre class="SCREEN">
-                    +filter{refresh-tags}        # Kill automatic refresh tags if refresh time is larger than 9 seconds.</pre>
+                    <pre class=
+                    "SCREEN">+filter{refresh-tags}        # Kill automatic refresh tags if refresh time is larger than 9 seconds.</pre>
                   </td>
                 </tr>
               </table>
@@ -1683,8 +1741,8 @@ problem-host.example.com</pre>
               <table border="0" bgcolor="#E0E0E0" width="90%">
                 <tr>
                   <td>
-                    <pre class="SCREEN">
-                    +filter{img-reorder}         # Reorder attributes in &lt;img&gt; tags to make the banners-by-* filters more effective.</pre>
+                    <pre class=
+                    "SCREEN">+filter{img-reorder}         # Reorder attributes in &lt;img&gt; tags to make the banners-by-* filters more effective.</pre>
                   </td>
                 </tr>
               </table>
@@ -1700,8 +1758,8 @@ problem-host.example.com</pre>
               <table border="0" bgcolor="#E0E0E0" width="90%">
                 <tr>
                   <td>
-                    <pre class="SCREEN">
-                    +filter{banners-by-link}     # Kill banners by their links to known clicktrackers.</pre>
+                    <pre class=
+                    "SCREEN">+filter{banners-by-link}     # Kill banners by their links to known clicktrackers.</pre>
                   </td>
                 </tr>
               </table>
@@ -1709,8 +1767,8 @@ problem-host.example.com</pre>
               <table border="0" bgcolor="#E0E0E0" width="90%">
                 <tr>
                   <td>
-                    <pre class="SCREEN">
-                    +filter{webbugs}             # Squish WebBugs (1x1 invisible GIFs used for user tracking).</pre>
+                    <pre class=
+                    "SCREEN">+filter{webbugs}             # Squish WebBugs (1x1 invisible GIFs used for user tracking).</pre>
                   </td>
                 </tr>
               </table>
@@ -1718,8 +1776,8 @@ problem-host.example.com</pre>
               <table border="0" bgcolor="#E0E0E0" width="90%">
                 <tr>
                   <td>
-                    <pre class="SCREEN">
-                    +filter{tiny-textforms}      # Extend those tiny textareas up to 40x80 and kill the hard wrap.</pre>
+                    <pre class=
+                    "SCREEN">+filter{tiny-textforms}      # Extend those tiny textareas up to 40x80 and kill the hard wrap.</pre>
                   </td>
                 </tr>
               </table>
@@ -1727,8 +1785,8 @@ problem-host.example.com</pre>
               <table border="0" bgcolor="#E0E0E0" width="90%">
                 <tr>
                   <td>
-                    <pre class="SCREEN">
-                    +filter{jumping-windows}     # Prevent windows from resizing and moving themselves.</pre>
+                    <pre class=
+                    "SCREEN">+filter{jumping-windows}     # Prevent windows from resizing and moving themselves.</pre>
                   </td>
                 </tr>
               </table>
@@ -1736,8 +1794,8 @@ problem-host.example.com</pre>
               <table border="0" bgcolor="#E0E0E0" width="90%">
                 <tr>
                   <td>
-                    <pre class="SCREEN">
-                    +filter{frameset-borders}    # Give frames a border and make them resizable.</pre>
+                    <pre class=
+                    "SCREEN">+filter{frameset-borders}    # Give frames a border and make them resizable.</pre>
                   </td>
                 </tr>
               </table>
@@ -1745,8 +1803,8 @@ problem-host.example.com</pre>
               <table border="0" bgcolor="#E0E0E0" width="90%">
                 <tr>
                   <td>
-                    <pre class="SCREEN">
-                    +filter{iframes}             # Removes all detected iframes. Should only be enabled for individual sites.</pre>
+                    <pre class=
+                    "SCREEN">+filter{iframes}             # Removes all detected iframes. Should only be enabled for individual sites.</pre>
                   </td>
                 </tr>
               </table>
@@ -1754,8 +1812,8 @@ problem-host.example.com</pre>
               <table border="0" bgcolor="#E0E0E0" width="90%">
                 <tr>
                   <td>
-                    <pre class="SCREEN">
-                    +filter{demoronizer}         # Fix MS's non-standard use of standard charsets.</pre>
+                    <pre class=
+                    "SCREEN">+filter{demoronizer}         # Fix MS's non-standard use of standard charsets.</pre>
                   </td>
                 </tr>
               </table>
@@ -1779,8 +1837,8 @@ problem-host.example.com</pre>
               <table border="0" bgcolor="#E0E0E0" width="90%">
                 <tr>
                   <td>
-                    <pre class="SCREEN">
-                    +filter{fun}                 # Text replacements for subversive browsing fun!</pre>
+                    <pre class=
+                    "SCREEN">+filter{fun}                 # Text replacements for subversive browsing fun!</pre>
                   </td>
                 </tr>
               </table>
@@ -1788,8 +1846,8 @@ problem-host.example.com</pre>
               <table border="0" bgcolor="#E0E0E0" width="90%">
                 <tr>
                   <td>
-                    <pre class="SCREEN">
-                    +filter{crude-parental}      # Crude parental filtering. Note that this filter doesn't work reliably.</pre>
+                    <pre class=
+                    "SCREEN">+filter{crude-parental}      # Crude parental filtering. Note that this filter doesn't work reliably.</pre>
                   </td>
                 </tr>
               </table>
@@ -1797,8 +1855,8 @@ problem-host.example.com</pre>
               <table border="0" bgcolor="#E0E0E0" width="90%">
                 <tr>
                   <td>
-                    <pre class="SCREEN">
-                    +filter{ie-exploits}         # Disable some known Internet Explorer bug exploits.</pre>
+                    <pre class=
+                    "SCREEN">+filter{ie-exploits}         # Disable some known Internet Explorer bug exploits.</pre>
                   </td>
                 </tr>
               </table>
@@ -1806,8 +1864,8 @@ problem-host.example.com</pre>
               <table border="0" bgcolor="#E0E0E0" width="90%">
                 <tr>
                   <td>
-                    <pre class="SCREEN">
-                    +filter{site-specifics}      # Cure for site-specific problems. Don't apply generally!</pre>
+                    <pre class=
+                    "SCREEN">+filter{site-specifics}      # Cure for site-specific problems. Don't apply generally!</pre>
                   </td>
                 </tr>
               </table>
@@ -1815,8 +1873,17 @@ problem-host.example.com</pre>
               <table border="0" bgcolor="#E0E0E0" width="90%">
                 <tr>
                   <td>
-                    <pre class="SCREEN">
-                    +filter{no-ping}             # Removes non-standard ping attributes in &lt;a&gt; and &lt;area&gt; tags.</pre>
+                    <pre class=
+                    "SCREEN">+filter{no-ping}             # Removes non-standard ping attributes in &lt;a&gt; and &lt;area&gt; tags.</pre>
+                  </td>
+                </tr>
+              </table>
+              <p><a name="FILTER-GITHUB" id="FILTER-GITHUB"></a></p>
+              <table border="0" bgcolor="#E0E0E0" width="90%">
+                <tr>
+                  <td>
+                    <pre class=
+                    "SCREEN">+filter{github}              # Removes the annoying "Sign-Up" banner and the Cookie disclaimer.</pre>
                   </td>
                 </tr>
               </table>
@@ -1824,8 +1891,16 @@ problem-host.example.com</pre>
               <table border="0" bgcolor="#E0E0E0" width="90%">
                 <tr>
                   <td>
-                    <pre class="SCREEN">
-                    +filter{google}              # CSS-based block for Google text ads. Also removes a width limitation and the toolbar advertisement.</pre>
+                    <pre class=
+                    "SCREEN">+filter{google}              # CSS-based block for Google text ads. Also removes a width limitation and the toolbar advertisement.</pre>
+                  </td>
+                </tr>
+              </table>
+              <p><a name="FILTER-IMDB" id="FILTER-IMDB"></a></p>
+              <table border="0" bgcolor="#E0E0E0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">+filter{imdb}                # Removes some ads on IMDb.</pre>
                   </td>
                 </tr>
               </table>
@@ -1833,8 +1908,8 @@ problem-host.example.com</pre>
               <table border="0" bgcolor="#E0E0E0" width="90%">
                 <tr>
                   <td>
-                    <pre class="SCREEN">
-                    +filter{yahoo}               # CSS-based block for Yahoo text ads. Also removes a width limitation.</pre>
+                    <pre class=
+                    "SCREEN">+filter{yahoo}               # CSS-based block for Yahoo text ads. Also removes a width limitation.</pre>
                   </td>
                 </tr>
               </table>
@@ -1842,8 +1917,8 @@ problem-host.example.com</pre>
               <table border="0" bgcolor="#E0E0E0" width="90%">
                 <tr>
                   <td>
-                    <pre class="SCREEN">
-                    +filter{msn}                 # CSS-based block for MSN text ads. Also removes tracking URLs and a width limitation.</pre>
+                    <pre class=
+                    "SCREEN">+filter{msn}                 # CSS-based block for MSN text ads. Also removes tracking URLs and a width limitation.</pre>
                   </td>
                 </tr>
               </table>
@@ -1851,8 +1926,17 @@ problem-host.example.com</pre>
               <table border="0" bgcolor="#E0E0E0" width="90%">
                 <tr>
                   <td>
-                    <pre class="SCREEN">
-                    +filter{blogspot}            # Cleans up some Blogspot blogs. Read the fine print before using this.</pre>
+                    <pre class=
+                    "SCREEN">+filter{blogspot}            # Cleans up some Blogspot blogs. Read the fine print before using this.</pre>
+                  </td>
+                </tr>
+              </table>
+              <p><a name="FILTER-SOURCEFORGE" id="FILTER-SOURCEFORGE"></a></p>
+              <table border="0" bgcolor="#E0E0E0" width="90%">
+                <tr>
+                  <td>
+                    <pre class=
+                    "SCREEN">+filter{sourceforge}         # Reduces the amount of ads for proprietary software on SourceForge.</pre>
                   </td>
                 </tr>
               </table>
@@ -1861,7 +1945,7 @@ problem-host.example.com</pre>
         </div>
       </div>
       <div class="SECT3">
-        <h4 class="SECT3"><a name="FORCE-TEXT-MODE" id="FORCE-TEXT-MODE">8.5.18. force-text-mode</a></h4>
+        <h4 class="SECT3"><a name="FORCE-TEXT-MODE" id="FORCE-TEXT-MODE">8.5.19. force-text-mode</a></h4>
         <div class="VARIABLELIST">
           <dl>
             <dt>Typical use:</dt>
@@ -1918,7 +2002,7 @@ problem-host.example.com</pre>
         </div>
       </div>
       <div class="SECT3">
-        <h4 class="SECT3"><a name="FORWARD-OVERRIDE" id="FORWARD-OVERRIDE">8.5.19. forward-override</a></h4>
+        <h4 class="SECT3"><a name="FORWARD-OVERRIDE" id="FORWARD-OVERRIDE">8.5.20. forward-override</a></h4>
         <div class="VARIABLELIST">
           <dl>
             <dt>Typical use:</dt>
@@ -2025,7 +2109,7 @@ TAG:^User-Agent: fetch libfetch/2\.0$</pre>
         </div>
       </div>
       <div class="SECT3">
-        <h4 class="SECT3"><a name="HANDLE-AS-EMPTY-DOCUMENT" id="HANDLE-AS-EMPTY-DOCUMENT">8.5.20.
+        <h4 class="SECT3"><a name="HANDLE-AS-EMPTY-DOCUMENT" id="HANDLE-AS-EMPTY-DOCUMENT">8.5.21.
         handle-as-empty-document</a></h4>
         <div class="VARIABLELIST">
           <dl>
@@ -2078,7 +2162,7 @@ example.org/.*\.js$</pre>
         </div>
       </div>
       <div class="SECT3">
-        <h4 class="SECT3"><a name="HANDLE-AS-IMAGE" id="HANDLE-AS-IMAGE">8.5.21. handle-as-image</a></h4>
+        <h4 class="SECT3"><a name="HANDLE-AS-IMAGE" id="HANDLE-AS-IMAGE">8.5.22. handle-as-image</a></h4>
         <div class="VARIABLELIST">
           <dl>
             <dt>Typical use:</dt>
@@ -2138,7 +2222,7 @@ nasty-banner-server.example.com/junk.cgi\?output=trash</pre>
         </div>
       </div>
       <div class="SECT3">
-        <h4 class="SECT3"><a name="HIDE-ACCEPT-LANGUAGE" id="HIDE-ACCEPT-LANGUAGE">8.5.22.
+        <h4 class="SECT3"><a name="HIDE-ACCEPT-LANGUAGE" id="HIDE-ACCEPT-LANGUAGE">8.5.23.
         hide-accept-language</a></h4>
         <div class="VARIABLELIST">
           <dl>
@@ -2191,7 +2275,7 @@ nasty-banner-server.example.com/junk.cgi\?output=trash</pre>
         </div>
       </div>
       <div class="SECT3">
-        <h4 class="SECT3"><a name="HIDE-CONTENT-DISPOSITION" id="HIDE-CONTENT-DISPOSITION">8.5.23.
+        <h4 class="SECT3"><a name="HIDE-CONTENT-DISPOSITION" id="HIDE-CONTENT-DISPOSITION">8.5.24.
         hide-content-disposition</a></h4>
         <div class="VARIABLELIST">
           <dl>
@@ -2247,7 +2331,7 @@ nasty-banner-server.example.com/junk.cgi\?output=trash</pre>
         </div>
       </div>
       <div class="SECT3">
-        <h4 class="SECT3"><a name="HIDE-IF-MODIFIED-SINCE" id="HIDE-IF-MODIFIED-SINCE">8.5.24.
+        <h4 class="SECT3"><a name="HIDE-IF-MODIFIED-SINCE" id="HIDE-IF-MODIFIED-SINCE">8.5.25.
         hide-if-modified-since</a></h4>
         <div class="VARIABLELIST">
           <dl>
@@ -2306,7 +2390,7 @@ nasty-banner-server.example.com/junk.cgi\?output=trash</pre>
         </div>
       </div>
       <div class="SECT3">
-        <h4 class="SECT3"><a name="HIDE-FROM-HEADER" id="HIDE-FROM-HEADER">8.5.25. hide-from-header</a></h4>
+        <h4 class="SECT3"><a name="HIDE-FROM-HEADER" id="HIDE-FROM-HEADER">8.5.26. hide-from-header</a></h4>
         <div class="VARIABLELIST">
           <dl>
             <dt>Typical use:</dt>
@@ -2357,7 +2441,7 @@ nasty-banner-server.example.com/junk.cgi\?output=trash</pre>
         </div>
       </div>
       <div class="SECT3">
-        <h4 class="SECT3"><a name="HIDE-REFERRER" id="HIDE-REFERRER">8.5.26. hide-referrer</a></h4><a name=
+        <h4 class="SECT3"><a name="HIDE-REFERRER" id="HIDE-REFERRER">8.5.27. hide-referrer</a></h4><a name=
         "HIDE-REFERER" id="HIDE-REFERER"></a>
         <div class="VARIABLELIST">
           <dl>
@@ -2438,7 +2522,7 @@ nasty-banner-server.example.com/junk.cgi\?output=trash</pre>
         </div>
       </div>
       <div class="SECT3">
-        <h4 class="SECT3"><a name="HIDE-USER-AGENT" id="HIDE-USER-AGENT">8.5.27. hide-user-agent</a></h4>
+        <h4 class="SECT3"><a name="HIDE-USER-AGENT" id="HIDE-USER-AGENT">8.5.28. hide-user-agent</a></h4>
         <div class="VARIABLELIST">
           <dl>
             <dt>Typical use:</dt>
@@ -2482,7 +2566,7 @@ nasty-banner-server.example.com/junk.cgi\?output=trash</pre>
               occasionally useful to forge this in order to access sites that won't let you in otherwise (though there
               may be a good reason in some cases).</p>
               <p>More information on known user-agent strings can be found at <a href="http://www.user-agents.org/"
-              target="_top">http://www.user-agents.org/</a> and <a href="http://en.wikipedia.org/wiki/User_agent"
+              target="_top">http://www.user-agents.org/</a> and <a href="https://en.wikipedia.org/wiki/User_agent"
               target="_top">http://en.wikipedia.org/wiki/User_agent</a>.</p>
             </dd>
             <dt>Example usage:</dt>
@@ -2490,7 +2574,8 @@ nasty-banner-server.example.com/junk.cgi\?output=trash</pre>
               <table border="0" bgcolor="#E0E0E0" width="90%">
                 <tr>
                   <td>
-                    <pre class="SCREEN">+hide-user-agent{Netscape 6.1 (X11; I; Linux 2.4.18 i686)}</pre>
+                    <pre class=
+                    "SCREEN">+hide-user-agent{Mozilla/5.0 (X11; ElectroBSD i386; rv:78.0) Gecko/20100101 Firefox/78.0}</pre>
                   </td>
                 </tr>
               </table>
@@ -2499,7 +2584,101 @@ nasty-banner-server.example.com/junk.cgi\?output=trash</pre>
         </div>
       </div>
       <div class="SECT3">
-        <h4 class="SECT3"><a name="LIMIT-CONNECT" id="LIMIT-CONNECT">8.5.28. limit-connect</a></h4>
+        <h4 class="SECT3"><a name="HTTPS-INSPECTION" id="HTTPS-INSPECTION">8.5.29. https-inspection</a></h4>
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Typical use:</dt>
+            <dd>
+              <p>Filter encrypted requests and responses</p>
+            </dd>
+            <dt>Effect:</dt>
+            <dd>
+              <p>Encrypted requests are decrypted, filtered and forwarded encrypted.</p>
+            </dd>
+            <dt>Type:</dt>
+            <dd>
+              <p>Boolean.</p>
+            </dd>
+            <dt>Parameter:</dt>
+            <dd>
+              <p>N/A</p>
+            </dd>
+            <dt>Notes:</dt>
+            <dd>
+              <p>This action allows <span class="APPLICATION">Privoxy</span> to filter encrypted requests and
+              responses. For this to work <span class="APPLICATION">Privoxy</span> has to generate a certificate and
+              send it to the client which has to accept it.</p>
+              <p>Before this works the directives in the <tt class="LITERAL"><a href=
+              "config.html#HTTPS-INSPECTION-DIRECTIVES" target="_top">HTTPS inspection section</a></tt> of the config
+              file have to be configured.</p>
+              <p>Note that the action has to be enabled based on the CONNECT request which doesn't contain a path.
+              Enabling it based on a pattern with path doesn't work as the path is only seen by <span class=
+              "APPLICATION">Privoxy</span> if the action is already enabled.</p>
+              <p>This is an experimental feature.</p>
+            </dd>
+            <dt>Example usage (section):</dt>
+            <dd>
+              <table border="0" bgcolor="#E0E0E0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">{+https-inspection}
+www.example.com</pre>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
+        </div>
+      </div>
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="IGNORE-CERTIFICATE-ERRORS" id="IGNORE-CERTIFICATE-ERRORS">8.5.30.
+        ignore-certificate-errors</a></h4>
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Typical use:</dt>
+            <dd>
+              <p>Filter encrypted requests and responses without verifying the certificate</p>
+            </dd>
+            <dt>Effect:</dt>
+            <dd>
+              <p>Encrypted requests are forwarded to sites without verifying the certificate.</p>
+            </dd>
+            <dt>Type:</dt>
+            <dd>
+              <p>Boolean.</p>
+            </dd>
+            <dt>Parameter:</dt>
+            <dd>
+              <p>N/A</p>
+            </dd>
+            <dt>Notes:</dt>
+            <dd>
+              <p>When the <a href="actions-file.html#HTTPS-INSPECTION"><span class=
+              "QUOTE">"+https-inspection"</span></a> action is used <span class="APPLICATION">Privoxy</span> by default
+              verifies that the remote site uses a valid certificate.</p>
+              <p>If the certificate can't be validated by <span class="APPLICATION">Privoxy</span> the connection is
+              aborted.</p>
+              <p>This action disables the certificate check so requests to sites with certificates that can't be
+              validated are allowed.</p>
+              <p>Note that enabling this action allows Man-in-the-middle attacks.</p>
+            </dd>
+            <dt>Example usage:</dt>
+            <dd>
+              <table border="0" bgcolor="#E0E0E0" width="90%">
+                <tr>
+                  <td>
+                    <pre class="SCREEN">    {+ignore-certificate-errors}
+    www.example.org
+   </pre>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
+        </div>
+      </div>
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="LIMIT-CONNECT" id="LIMIT-CONNECT">8.5.31. limit-connect</a></h4>
         <div class="VARIABLELIST">
           <dl>
             <dt>Typical use:</dt>
@@ -2551,7 +2730,7 @@ nasty-banner-server.example.com/junk.cgi\?output=trash</pre>
         </div>
       </div>
       <div class="SECT3">
-        <h4 class="SECT3"><a name="LIMIT-COOKIE-LIFETIME" id="LIMIT-COOKIE-LIFETIME">8.5.29.
+        <h4 class="SECT3"><a name="LIMIT-COOKIE-LIFETIME" id="LIMIT-COOKIE-LIFETIME">8.5.32.
         limit-cookie-lifetime</a></h4>
         <div class="VARIABLELIST">
           <dl>
@@ -2603,7 +2782,7 @@ nasty-banner-server.example.com/junk.cgi\?output=trash</pre>
         </div>
       </div>
       <div class="SECT3">
-        <h4 class="SECT3"><a name="PREVENT-COMPRESSION" id="PREVENT-COMPRESSION">8.5.30. prevent-compression</a></h4>
+        <h4 class="SECT3"><a name="PREVENT-COMPRESSION" id="PREVENT-COMPRESSION">8.5.33. prevent-compression</a></h4>
         <div class="VARIABLELIST">
           <dl>
             <dt>Typical use:</dt>
@@ -2641,8 +2820,9 @@ nasty-banner-server.example.com/junk.cgi\?output=trash</pre>
               action settings.</p>
               <p>Note that some (rare) ill-configured sites don't handle requests for uncompressed documents correctly.
               Broken PHP applications tend to send an empty document body, some IIS versions only send the beginning of
-              the content. If you enable <tt class="LITERAL">prevent-compression</tt> per default, you might want to
-              add exceptions for those sites. See the example for how to do that.</p>
+              the content and some content delivery networks let the connection time out. If you enable <tt class=
+              "LITERAL">prevent-compression</tt> per default, you might want to add exceptions for those sites. See the
+              example for how to do that.</p>
             </dd>
             <dt>Example usage (sections):</dt>
             <dd>
@@ -2674,7 +2854,7 @@ nasty-banner-server.example.com/junk.cgi\?output=trash</pre>
         </div>
       </div>
       <div class="SECT3">
-        <h4 class="SECT3"><a name="OVERWRITE-LAST-MODIFIED" id="OVERWRITE-LAST-MODIFIED">8.5.31.
+        <h4 class="SECT3"><a name="OVERWRITE-LAST-MODIFIED" id="OVERWRITE-LAST-MODIFIED">8.5.34.
         overwrite-last-modified</a></h4>
         <div class="VARIABLELIST">
           <dl>
@@ -2736,7 +2916,7 @@ nasty-banner-server.example.com/junk.cgi\?output=trash</pre>
         </div>
       </div>
       <div class="SECT3">
-        <h4 class="SECT3"><a name="REDIRECT" id="REDIRECT">8.5.32. redirect</a></h4>
+        <h4 class="SECT3"><a name="REDIRECT" id="REDIRECT">8.5.35. redirect</a></h4>
         <div class="VARIABLELIST">
           <dl>
             <dt>Typical use:</dt>
@@ -2816,6 +2996,10 @@ example.com/.*toChange=(?!bar)
 # Redirect Destination = https://www.illumos.org/issues/4974
 i[0-9][0-9][0-9][0-9]*/
 
+# Redirect requests for the old Tor Hidden Service of the Privoxy website to the new one
+{+redirect{s@^http://jvauzb4sb3bwlsnc.onion/@http://l3tczdiiwoo63iwxty4lhs6p7eaxop5micbn7vbliydgv63x5zrrrfyd.onion/@}}
+jvauzb4sb3bwlsnc.onion/
+
 # Redirect remote requests for this manual
 # to the local version delivered by Privoxy
 {+redirect{s@^http://www@http://config@}}
@@ -2828,7 +3012,7 @@ www.privoxy.org/user-manual/</pre>
         </div>
       </div>
       <div class="SECT3">
-        <h4 class="SECT3"><a name="SERVER-HEADER-FILTER" id="SERVER-HEADER-FILTER">8.5.33.
+        <h4 class="SECT3"><a name="SERVER-HEADER-FILTER" id="SERVER-HEADER-FILTER">8.5.36.
         server-header-filter</a></h4>
         <div class="VARIABLELIST">
           <dl>
@@ -2878,7 +3062,7 @@ example.org/instance-that-is-delivered-as-xml-but-is-not</pre>
         </div>
       </div>
       <div class="SECT3">
-        <h4 class="SECT3"><a name="SERVER-HEADER-TAGGER" id="SERVER-HEADER-TAGGER">8.5.34.
+        <h4 class="SECT3"><a name="SERVER-HEADER-TAGGER" id="SERVER-HEADER-TAGGER">8.5.37.
         server-header-tagger</a></h4>
         <div class="VARIABLELIST">
           <dl>
@@ -2935,7 +3119,45 @@ TAG:^image/</pre>
         </div>
       </div>
       <div class="SECT3">
-        <h4 class="SECT3"><a name="SESSION-COOKIES-ONLY" id="SESSION-COOKIES-ONLY">8.5.35.
+        <h4 class="SECT3"><a name="SUPPRESS-TAG" id="SUPPRESS-TAG">8.5.38. suppress-tag</a></h4>
+        <div class="VARIABLELIST">
+          <dl>
+            <dt>Typical use:</dt>
+            <dd>
+              <p>Suppress client or server tag.</p>
+            </dd>
+            <dt>Effect:</dt>
+            <dd>
+              <p>Server or client tags to which this action applies are not added to the request, thus making all
+              actions that are specific to these request tags inactive.</p>
+            </dd>
+            <dt>Type:</dt>
+            <dd>
+              <p>Multi-value.</p>
+            </dd>
+            <dt>Parameter:</dt>
+            <dd>
+              <p>The result tag of a server-header or client-header tagger, as defined in one of the <a href=
+              "filter-file.html">filter files</a>.</p>
+            </dd>
+            <dt>Example usage (section):</dt>
+            <dd>
+              <table border="0" bgcolor="#E0E0E0" width="90%">
+                <tr>
+                  <td>
+                    <pre class=
+                    "SCREEN"># Suppress tag produced by range-requests client-header tagger for requests coming from address 10.0.0.1
+{+suppress-tag{RANGE-REQUEST}}
+TAG:^IP-ADDRESS: 10\.0\.0\.1$</pre>
+                  </td>
+                </tr>
+              </table>
+            </dd>
+          </dl>
+        </div>
+      </div>
+      <div class="SECT3">
+        <h4 class="SECT3"><a name="SESSION-COOKIES-ONLY" id="SESSION-COOKIES-ONLY">8.5.39.
         session-cookies-only</a></h4>
         <div class="VARIABLELIST">
           <dl>
@@ -2997,7 +3219,7 @@ TAG:^image/</pre>
         </div>
       </div>
       <div class="SECT3">
-        <h4 class="SECT3"><a name="SET-IMAGE-BLOCKER" id="SET-IMAGE-BLOCKER">8.5.36. set-image-blocker</a></h4>
+        <h4 class="SECT3"><a name="SET-IMAGE-BLOCKER" id="SET-IMAGE-BLOCKER">8.5.40. set-image-blocker</a></h4>
         <div class="VARIABLELIST">
           <dl>
             <dt>Typical use:</dt>
@@ -3086,7 +3308,7 @@ TAG:^image/</pre>
         </div>
       </div>
       <div class="SECT3">
-        <h3 class="SECT3"><a name="SUMMARY" id="SUMMARY">8.5.37. Summary</a></h3>
+        <h3 class="SECT3"><a name="SUMMARY" id="SUMMARY">8.5.41. Summary</a></h3>
         <p>Note that many of these actions have the potential to cause a page to misbehave, possibly even not to
         display at all. There are many ways a site designer may choose to design his site, and what HTTP header
         content, and other criteria, he may depend on. There is no way to have hard and fast rules for all sites. See