Rearrange struct client_state to reduce memory on amd64
[privoxy.git] / doc / webserver / man-page / privoxy-man-page.html
index 58e137d..bd63f55 100644 (file)
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
-
+<!-- Creator     : groff version 1.19.2 -->
+<!-- CreationDate: Wed Jan 20 16:20:52 2021 -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <head>
-  <meta name="generator" content=
-  "HTML Tidy for Linux/x86 (vers 7 December 2008), see www.w3.org">
-
-  <title>Privoxy Man page</title>
-  <link rel="stylesheet" type="text/css" href="../p_web.css">
+  <meta name="generator" content="groff -Thtml, see www.gnu.org">
+  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+  <meta name="Content-Style" content="text/css">
+  <style type="text/css">
+       p     { margin-top: 0; margin-bottom: 0; }
+       pre   { margin-top: 0; margin-bottom: 0; }
+       table { margin-top: 0; margin-bottom: 0; }
+  </style>
+  <title>PRIVOXY</title>
+  <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
 </head>
-
 <body>
+  <h1 align="center">PRIVOXY</h1><a href="#NAME">NAME</a><br>
+  <a href="#SYNOPSIS">SYNOPSIS</a><br>
+  <a href="#OPTIONS">OPTIONS</a><br>
+  <a href="#DESCRIPTION">DESCRIPTION</a><br>
+  <a href="#INSTALLATION%20AND%20USAGE">INSTALLATION AND USAGE</a><br>
+  <a href="#CONFIGURATION">CONFIGURATION</a><br>
+  <a href="#FILES">FILES</a><br>
+  <a href="#SIGNALS">SIGNALS</a><br>
+  <a href="#NOTES">NOTES</a><br>
+  <a href="#SEE%20ALSO">SEE ALSO</a><br>
+  <a href="#DEVELOPMENT%20TEAM">DEVELOPMENT TEAM</a><br>
+  <a href="#COPYRIGHT%20AND%20LICENSE">COPYRIGHT AND LICENSE</a><br>
+  <hr>
+  <a name="NAME"></a>
   <h2>NAME</h2>
-  <pre>
-<!-- Manpage converted by man2html 3.0.1 -->
-
-</pre>
-
+  <p style="margin-left:11%; margin-top: 1em">privoxy &minus; Privacy Enhancing Proxy</p><a name="SYNOPSIS"></a>
   <h2>SYNOPSIS</h2>
-  <pre>
-       <b>privoxy</b>   [<b>--help</b>   ]  [<b>--version</b>   ]  [<b>--no-daemon</b>  ] [<b>--pidfile</b> <i>pidfile</i> ]
-       [<b>--user</b> <i>user[.group]</i> ] [<b>--chroot</b>    ]  [<b>--pre-chroot-nslookup</b>  <i>hostname</i>  ]
-       [<i>configfile</i> ]
-
-
-
-</pre>
-
+  <p style="margin-left:11%; margin-top: 1em"><b>privoxy</b> [<b>&minus;&minus;chroot</b> ]
+  [<b>&minus;&minus;config-test</b> ] [<b>&minus;&minus;help</b> ] [<b>&minus;&minus;no-daemon</b> ]
+  [<b>&minus;&minus;pidfile</b> <i>pidfile</i> ] [<b>&minus;&minus;pre-chroot-nslookup</b> <i>hostname</i> ]
+  [<b>&minus;&minus;user</b> <i>user[.group]</i> ] [<b>&minus;&minus;version</b> ] [<i>configfile</i> ]</p><a name=
+  "OPTIONS"></a>
   <h2>OPTIONS</h2>
-  <pre>
-       <b>Privoxy</b> may be invoked with the following command line options:
-
-       <b>--help</b> Print brief usage  info and exit.
-
-       <b>--version</b>
-          Print version info and exit.
-
-       <b>--no-daemon</b>
-          Don't   become   a  daemon,  i.e.  don't fork and become process
-          group leader, don't detach from controlling tty, and do all log-
-          ging there.
-
-       <b>--pidfile</b> <i>pidfile</i>
-          On startup, write the process ID to <i>pidfile</i>.  Delete the <i>pidfile</i>
-          on exit.  Failure to create or delete the <i>pidfile</i>  is  non-fatal.
-          If no <b>--pidfile</b> option is  given, no PID file will be used.
-
-       <b>--user</b> <i>user[.group]</i>
-          After  (optionally)  writing the PID file, assume the user ID of
-          <i>user</i> and the GID of <i>group</i>, or, if   the  optional  <i>group</i>  was  not
-          given, the default group of <i>user</i>.  Exit if the privileges are not
-          sufficient to do so.
-
-       <b>--chroot</b>
-          Before changing to the user  ID  given  in  the  --user  option,
-          chroot  to that user's home directory, i.e. make the kernel pre-
-          tend to the <b>Privoxy</b>  process  that  the  directory  tree   starts
-          there.  If set up carefully, this can limit the impact of possi-
-          ble vulnerabilities in <b>Privoxy</b> to  the files  contained  in  that
-          hierarchy.
-
-       <b>--pre-chroot-nslookup</b> <i>hostname</i>
-          Initialize   the   resolver   library   using   <i>hostname</i>   before
-          chroot'ing. On some systems this reduces  the  number  of  files
-          that must be copied into the chroot tree.
-
-       If  the  <i>configfile</i>  is   not  specified on  the  command  line, <b>Privoxy</b>
-       will  look for a file named <i>config</i> in the current directory. If no <i>con-</i>
-       <i>figfile</i> is found, <b>Privoxy</b> will fail to start.
-
-
-</pre>
-
+  <p style="margin-left:11%; margin-top: 1em"><b>Privoxy</b> may be invoked with the following command line options:
+  <b><br>
+  &minus;&minus;chroot</b></p>
+  <p style="margin-left:22%;">Before changing to the user ID given in the &minus;&minus;user option, chroot to that
+  user&rsquo;s home directory, i.e. make the kernel pretend to the <b>Privoxy</b> process that the directory tree
+  starts there. If set up carefully, this can limit the impact of possible vulnerabilities in <b>Privoxy</b> to the
+  files contained in that hierarchy.</p>
+  <p style="margin-left:11%;"><b>&minus;&minus;config-test</b></p>
+  <p style="margin-left:22%;">Exit after loading the configuration files before binding to the listen address. The exit
+  code signals whether or not the configuration files have been successfully loaded.</p>
+  <p style="margin-left:22%; margin-top: 1em">If the exit code is 1, at least one of the configuration files is
+  invalid, if it is 0, all the configuration files have been successfully loaded (but may still contain errors that can
+  currently only be detected at run time).</p>
+  <p style="margin-left:22%; margin-top: 1em">This option doesn&rsquo;t affect the log setting, combination with
+  &quot;--no-daemon&quot; is recommended if a configured log file shouldn&rsquo;t be used.</p>
+  <table width="100%" border="0" rules="none" frame="void" cellspacing="0" cellpadding="0">
+    <tr valign="top" align="left">
+      <td width="11%"></td>
+      <td width="9%">
+        <p style="margin-top: 1em" valign="top"><b>&minus;&minus;help</b></p>
+      </td>
+      <td width="2%"></td>
+      <td width="49%">
+        <p style="margin-top: 1em" valign="top">Print brief usage info and exit.</p>
+      </td>
+      <td width="29%"></td>
+    </tr>
+  </table>
+  <p style="margin-left:11%;"><b>&minus;&minus;no-daemon</b></p>
+  <p style="margin-left:22%;">Don&rsquo;t become a daemon, i.e. don&rsquo;t fork and become process group leader,
+  don&rsquo;t detach from controlling tty, and do all logging there.</p>
+  <p style="margin-left:11%;"><b>&minus;&minus;pidfile</b> <i>pidfile</i></p>
+  <p style="margin-left:22%;">On startup, write the process ID to <i>pidfile</i>. Delete the <i>pidfile</i> on exit.
+  Failure to create or delete the <i>pidfile</i> is non-fatal. If no <b>&minus;&minus;pidfile</b> option is given, no
+  PID file will be used.</p>
+  <p style="margin-left:11%;"><b>&minus;&minus;pre-chroot-nslookup</b> <i>hostname</i></p>
+  <p style="margin-left:22%;">Initialize the resolver library using <i>hostname</i> before chroot&rsquo;ing. On some
+  systems this reduces the number of files that must be copied into the chroot tree.</p>
+  <p style="margin-left:11%;"><b>&minus;&minus;user</b> <i>user[.group]</i></p>
+  <p style="margin-left:22%;">After (optionally) writing the PID file, assume the user ID of <i>user</i> and the GID of
+  <i>group</i>, or, if the optional <i>group</i> was not given, the default group of <i>user</i>. Exit if the
+  privileges are not sufficient to do so.</p>
+  <p style="margin-left:11%;"><b>&minus;&minus;version</b></p>
+  <p style="margin-left:22%;">Print version info and exit.</p>
+  <p style="margin-left:11%; margin-top: 1em">If the <i>configfile</i> is not specified on the command line,
+  <b>Privoxy</b> will look for a file named <i>config</i> in the current directory. If no <i>configfile</i> is found,
+  <b>Privoxy</b> will fail to start.</p><a name="DESCRIPTION"></a>
   <h2>DESCRIPTION</h2>
-  <pre>
-       Privoxy is a non-caching web proxy with advanced filtering capabilities
-       for enhancing privacy, modifying web page data and HTTP  headers,  con-
-       trolling  access,  and  removing ads and other obnoxious Internet junk.
-       Privoxy has a flexible configuration and  can  be  customized  to  suit
-
-
-</pre>
-
+  <p style="margin-left:11%; margin-top: 1em">Privoxy is a non-caching web proxy with advanced filtering capabilities
+  for enhancing privacy, modifying web page data and HTTP headers, controlling access, and removing ads and other
+  obnoxious Internet junk. Privoxy has a flexible configuration and can be customized to suit individual needs and
+  tastes. It has application for both stand-alone systems and multi-user networks.</p>
+  <p style="margin-left:11%; margin-top: 1em">Privoxy is Free Software and licensed under the GNU GPLv2 or later.</p>
+  <p style="margin-left:11%; margin-top: 1em">Privoxy is an associated project of Software in the Public Interest
+  (SPI).</p>
+  <p style="margin-left:11%; margin-top: 1em">Helping hands and donations are welcome:</p>
+  <table width="100%" border="0" rules="none" frame="void" cellspacing="0" cellpadding="0">
+    <tr valign="top" align="left">
+      <td width="11%"></td>
+      <td width="1%">
+        <p style="margin-top: 1em" valign="top">&bull;</p>
+      </td>
+      <td width="2%"></td>
+      <td width="54%">
+        <p style="margin-top: 1em" valign="top">https://www.privoxy.org/participate</p>
+      </td>
+      <td width="32%"></td>
+    </tr>
+    <tr valign="top" align="left">
+      <td width="11%"></td>
+      <td width="1%">
+        <p style="margin-top: 1em" valign="top">&bull;</p>
+      </td>
+      <td width="2%"></td>
+      <td width="54%">
+        <p style="margin-top: 1em" valign="top">https://www.privoxy.org/donate</p>
+      </td>
+      <td width="32%"></td>
+    </tr>
+  </table><a name="INSTALLATION AND USAGE"></a>
   <h2>INSTALLATION AND USAGE</h2>
-  <pre>
-       Browsers can either be individually configured to use <b>Privoxy</b> as  a HTTP
-       proxy (recommended), or <b>Privoxy</b> can be combined with a packet filter to
-       build  an intercepting proxy (see <i>config</i>).  The default setting is  for
-       localhost,  on port  8118 (configurable in the main config  file).   To
-       set  the  HTTP  proxy  in Firefox, go through: <b>Tools</b>; <b>Options</b>; <b>General</b>;
-       <b>Connection</b> <b>Settings</b>; <b>Manual</b> <b>Proxy</b> <b>Configuration</b>.
-
-       For Internet Explorer, go through: <b>Tools</b>; <b>Internet</b> <b>Properties</b>;  <b>Connec-</b>
-       <b>tions</b>; <b>LAN</b> <b>Settings</b>.
-
-       The Secure (SSL) Proxy should also be set to the same values, otherwise
-       https: URLs will not be proxied. Note: <b>Privoxy</b> can only proxy HTTP  and
-       HTTPS  traffic.  Do  not  try  it  with  FTP or other protocols.  HTTPS
-       presents some limitations, and not all features will  work  with  HTTPS
-       connections.
-
-       For other browsers, check the documentation.
-
-
-</pre>
-
+  <p style="margin-left:11%; margin-top: 1em">Browsers can either be individually configured to use <b>Privoxy</b> as a
+  HTTP proxy (recommended), or <b>Privoxy</b> can be combined with a packet filter to build an intercepting proxy (see
+  <i>config</i>). The default setting is for localhost, on port 8118 (configurable in the main config file). To set the
+  HTTP proxy in Firefox, go through: <b>Tools</b>; <b>Options</b>; <b>General</b>; <b>Connection Settings</b>;
+  <b>Manual Proxy Configuration</b>.</p>
+  <p style="margin-left:11%; margin-top: 1em">For Internet Explorer, go through: <b>Tools</b>; <b>Internet
+  Properties</b>; <b>Connections</b>; <b>LAN Settings</b>.</p>
+  <p style="margin-left:11%; margin-top: 1em">The Secure (SSL) Proxy should also be set to the same values, otherwise
+  https: URLs will not be proxied. Note: <b>Privoxy</b> can only proxy HTTP and HTTPS traffic. Do not try it with FTP
+  or other protocols. HTTPS presents some limitations, and not all features will work with HTTPS connections.</p>
+  <p style="margin-left:11%; margin-top: 1em">For other browsers, check the documentation.</p><a name=
+  "CONFIGURATION"></a>
   <h2>CONFIGURATION</h2>
-  <pre>
-       <b>Privoxy</b>   can  be  configured  with the various configuration files. The
-       default configuration files are: <i>config</i>,  <i>default.filter</i>,  <i>default.action</i>
-       and  <i>default.action</i>.  <i>user.action</i>  should  be  used for locally defined
-       exceptions to the default rules in <i>match-all.action</i> and <i>default.action</i>,
-       and  <i>user.filter</i>  for locally defined filters. These are well commented.
-       On Unix and Unix-like systems, these are located  in  <i>/etc/privoxy/</i>  by
-       default.
-
-       <b>Privoxy</b>   uses  the  concept  of <b>actions</b> in order  to manipulate the data
-       stream between the browser and remote sites.  There are various actions
-       available  with  specific  functions  for  such  things as blocking web
-       sites, managing cookies, etc. These actions can be invoked individually
-       or  combined,  and used against individual URLs, or groups of URLs that
-       can be defined using wildcards and regular expressions. The  result  is
-       that the user has greatly enhanced control and freedom.
-
-       The  actions list (ad blocks, etc) can also be configured with your web
-       browser  at  http://config.privoxy.org/  (assuming  the   configuration
-       allows it).  <b>Privoxy's</b> configuration parameters   can also  be viewed at
-       the same page. In addition, <b>Privoxy</b> can be toggled on/off.  This  is  an
-       internal page, and does not require Internet access.
-
-       See the <i>User</i> <i>Manual</i> for a detailed explanation of installation, general
-       usage, all configuration options, new features and notes on  upgrading.
-
-
-</pre>
-
+  <p style="margin-left:11%; margin-top: 1em"><b>Privoxy</b> can be configured with the various configuration files.
+  The default configuration files are: <i>config</i>, <i>default.filter</i>, <i>default.action</i> and
+  <i>default.action</i>. <i>user.action</i> should be used for locally defined exceptions to the default rules in
+  <i>match-all.action</i> and <i>default.action</i>, and <i>user.filter</i> for locally defined filters. These are well
+  commented. On Unix and Unix-like systems, these are located in <i>/etc/privoxy/</i> by default.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>Privoxy</b> uses the concept of <b>actions</b> in order to manipulate
+  the data stream between the browser and remote sites. There are various actions available with specific functions for
+  such things as blocking web sites, managing cookies, etc. These actions can be invoked individually or combined, and
+  used against individual URLs, or groups of URLs that can be defined using wildcards and regular expressions. The
+  result is that the user has greatly enhanced control and freedom.</p>
+  <p style="margin-left:11%; margin-top: 1em">The actions list (ad blocks, etc) can also be configured with your web
+  browser at http://config.privoxy.org/ (assuming the configuration allows it). <b>Privoxy&rsquo;s</b> configuration
+  parameters can also be viewed at the same page. In addition, <b>Privoxy</b> can be toggled on/off. This is an
+  internal page, and does not require Internet access.</p>
+  <p style="margin-left:11%; margin-top: 1em">See the <i>User Manual</i> for a detailed explanation of installation,
+  general usage, all configuration options, new features and notes on upgrading.</p><a name="FILES"></a>
   <h2>FILES</h2>
-  <pre>
-    <i>/usr/sbin/privoxy</i>
-    <i>/etc/privoxy/config</i>
-    <i>/etc/privoxy/match-all.action</i>
-    <i>/etc/privoxy/default.action</i>
-    <i>/etc/privoxy/user.action</i>
-    <i>/etc/privoxy/default.filter</i>
-       detect them automatically.
-
-
-</pre>
-
+  <p style="margin-left:11%; margin-top: 1em"><i>/usr/sbin/privoxy<br>
+  /etc/privoxy/config<br>
+  /etc/privoxy/match-all.action<br>
+  /etc/privoxy/default.action<br>
+  /etc/privoxy/user.action<br>
+  /etc/privoxy/default.filter<br>
+  /etc/privoxy/user.filter<br>
+  /etc/privoxy/trust<br>
+  /etc/privoxy/templates/*<br>
+  /var/log/privoxy/logfile</i></p>
+  <p style="margin-left:11%; margin-top: 1em">Various other files should be included, but may vary depending on
+  platform and build configuration. Additional documentation should be included in the local documentation
+  directory.</p><a name="SIGNALS"></a>
+  <h2>SIGNALS</h2>
+  <p style="margin-left:11%; margin-top: 1em"><b>Privoxy</b> terminates on the <b>SIGINT</b> and <b>SIGTERM</b>
+  signals. Log rotation scripts may cause a re-opening of the logfile by sending a <b>SIGHUP</b> to <b>Privoxy</b>.
+  Note that unlike other daemons, <b>Privoxy</b> does not need to be made aware of config file changes by <b>SIGHUP</b>
+  -- it will detect them automatically. Signals other than the ones listed above aren&rsquo;t explicitly handled and
+  result in the default action defined by the operating system.</p><a name="NOTES"></a>
   <h2>NOTES</h2>
-  <pre>
-       This  is  a  UNRELEASED  version  of <b>Privoxy</b>. Not all features are well
-       tested.
-
-       Please see the <i>User</i> <i>Manual</i> on how to contact the   developers,  for  fea-
-       ture requests, reporting problems, and other questions.
-
-
-</pre>
-
+  <p style="margin-left:11%; margin-top: 1em">Please see the <i>User Manual</i> on how to contact the developers, for
+  feature requests, reporting problems, and other questions.</p><a name="SEE ALSO"></a>
   <h2>SEE ALSO</h2>
-  <pre>
-       Other references and sites of interest to <b>Privoxy</b> users:
-
-
-       http://www.privoxy.org/, the <b>Privoxy</b> Home page.
-
-       http://www.privoxy.org/faq/, the <b>Privoxy</b>  FAQ.
-
-       http://www.privoxy.org/developer-manual/, the <b>Privoxy</b> developer manual.
-
-       https://sourceforge.net/projects/ijbswa/, the Project Page for  <b>Privoxy</b>
-       on SourceForge.
-
-       http://config.privoxy.org/,  the web-based user interface. <b>Privoxy</b> must
-       be running for this to work. Shortcut: http://p.p/
-
-       https://sourceforge.net/tracker/?group_id=11118&amp;atid=460288, to  submit
-       ``misses''  and other configuration related suggestions to the develop-
-       ers.
-
-
-</pre>
-
+  <p style="margin-left:11%; margin-top: 1em">Other references and sites of interest to <b>Privoxy</b> users:</p>
+  <p style="margin-left:11%; margin-top: 1em">https://www.privoxy.org/, the <b>Privoxy</b> Home page.</p>
+  <p style="margin-left:11%; margin-top: 1em">https://www.privoxy.org/faq/, the <b>Privoxy</b> FAQ.</p>
+  <p style="margin-left:11%; margin-top: 1em">https://www.privoxy.org/developer-manual/, the <b>Privoxy</b> developer
+  manual.</p>
+  <p style="margin-left:11%; margin-top: 1em">https://sourceforge.net/projects/ijbswa/, the Project Page for
+  <b>Privoxy</b> on SourceForge.</p>
+  <p style="margin-left:11%; margin-top: 1em">http://config.privoxy.org/, the web-based user interface. <b>Privoxy</b>
+  must be running for this to work. Shortcut: http://p.p/</p>
+  <p style="margin-left:11%; margin-top: 1em">https://sourceforge.net/p/ijbswa/actionsfile-feedback/, to submit
+  &lsquo;&lsquo;misses&rsquo;&rsquo; and other configuration related suggestions to the developers.</p><a name=
+  "DEVELOPMENT TEAM"></a>
   <h2>DEVELOPMENT TEAM</h2>
-  <pre>
-    Fabian Keil, lead developer
-    David Schmidt, developer
-
-    Hal Burgiss
-    Lee Rian
-    Roland Rosenfeld
-
-
-</pre>
-
+  <p style="margin-left:11%; margin-top: 1em">Fabian Keil, lead developer<br>
+  David Schmidt<br>
+  Lee Rian<br>
+  Roland Rosenfeld<br>
+  Ian Silvester</p><a name="COPYRIGHT AND LICENSE"></a>
   <h2>COPYRIGHT AND LICENSE</h2>
-  <pre>
-   <b>COPYRIGHT</b>
-       Copyright  (C)  2001-2011  by   Privoxy   Developers   &lt;ijbswa-develop-
-       ers@lists.sourceforge.net&gt;
-
-       Some  source  code  is  based  on  code Copyright (C) 1997 by Anonymous
-       Coders and Junkbusters, Inc. and licensed under the <i>GNU</i> <i>General</i>    <i>Public</i>
-       <i>License</i>.
-
-   <b>LICENSE</b>
-       <b>Privoxy</b>   is  free  software;  you  can redistribute it and/or modify it
-       under the terms of the <i>GNU</i> <i>General</i> <i>Public</i> <i>License</i>, version 2,  as  pub-
-       lished by the Free Software Foundation.
-</pre>
+  <p style="margin-left:11%; margin-top: 1em"><b>COPYRIGHT</b><br>
+  Copyright (C) 2001-2020 by Privoxy Developers &lt;privoxy-devel@lists.privoxy.org&gt;</p>
+  <p style="margin-left:11%; margin-top: 1em">Some source code is based on code Copyright (C) 1997 by Anonymous Coders
+  and Junkbusters, Inc.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>LICENSE<br>
+  Privoxy</b> is free software; you can redistribute and/or modify its source code under the terms of the <i>GNU
+  General Public License</i> as published by the Free Software Foundation, either version 2 of the license, or (at your
+  option) any later version.</p>
+  <p style="margin-left:11%; margin-top: 1em">The same is true for <b>Privoxy</b> binaries unless they are linked with
+  a mbed TLS version that is licensed under the Apache 2.0 license in which case you can redistribute and/or modify the
+  <b>Privoxy</b> binaries under the terms of the <i>GNU General Public License</i> as published by the Free Software
+  Foundation, either version 3 of the license, or (at your option) any later version.</p>
+  <p style="margin-left:11%; margin-top: 1em"><b>Privoxy</b> is distributed in the hope that it will be useful, but
+  WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
+  the <i>license</i> for details.</p>
+  <hr>
 </body>
 </html>