67cdc7a543857b6ccc3acd2679ac565858d6e0b1
[privoxy.git] / doc / source / privoxy-man-page.sgml
1 <!--
2  File        :  $Source: /cvsroot/ijbswa/current/doc/source/privoxy-man-page.sgml,v $
3
4  Purpose     :  Manual Page
5                 This file belongs into
6                 ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/
7                 
8  $Id: privoxy-man-page.sgml,v 2.31 2009/07/18 16:24:39 fabiankeil Exp $
9
10  Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
11  See LICENSE.
12
13  ========================================================================
14  NOTE: Please read developer-manual/documentation.html before touching 
15  anything in this, or other Privoxy documentation. 
16  ========================================================================
17
18  Doc NOTES: This is some tricky markup! There are some quirks
19  to how this markup is handled. It is not always so co-operative.
20  Please don't change the markup unless you can verify the changes 
21  will improve finished output! 
22  
23  literallayout tags are particularly sensitive to where they are placed.
24  The 'replaceable' and 'command' tags are used here somewhat unconventionally,
25  since it seems to generate the proper formatting (at least for me :).
26
27  Create man page: 'make man'
28
29  Requires docbook2man (short perl script), see CVS
30  http://sources.redhat.com/docbook-tools/. Also requires openjade and SGMLSpm
31  perl module. 
32  
33  For man page references, see:
34  http://www.linuxdoc.org/HOWTO/mini/DocBook-Install/using.html
35  http://docbook.org/tdg/en/html/ch02.html#making-refentry
36
37 -->
38 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN"[
39 <!entity % dummy "IGNORE"> 
40 <!entity p-intro SYSTEM "privoxy.sgml">
41 <!entity seealso SYSTEM "seealso.sgml">
42 <!entity copyright SYSTEM "copyright.sgml">
43 <!entity license SYSTEM "license.sgml">
44 <!entity authors SYSTEM "p-authors.sgml">
45 <!entity p-version "3.0.14">
46 <!entity p-status "BETA">
47 <!entity % p-not-stable "INCLUDE">
48 <!entity % p-stable "IGNORE">
49 <!entity % p-text "IGNORE">           <!-- define we are not a text only doc -->
50 <!entity % p-authors-formal "IGNORE"> <!-- exclude additional formating      -->
51 <!entity my-copy "(C)">               <!-- db2man barfs on copyright symbol  -->
52 <!entity % seealso-extra "IGNORE">    <!-- for excluding sections of seealso -->
53 ]>
54
55 <refentry id="privoxy">
56 <refentryinfo>
57  <date>2009-02-15</date>
58 </refentryinfo>
59 <refmeta>
60  <refentrytitle>privoxy</refentrytitle> 
61  <manvolnum>1</manvolnum>
62  <refmiscinfo>
63   Privoxy &p-version;<![%p-not-stable;[ &p-status;]]>
64  </refmiscinfo>
65 </refmeta>
66
67 <refnamediv>
68  <refname><application>privoxy</application></refname>
69  <refpurpose>Privacy Enhancing Proxy</refpurpose>
70 </refnamediv>
71
72 <refsynopsisdiv>
73  <cmdsynopsis> 
74   <command>privoxy</command>
75   <arg><option>--help</option></arg>
76   <arg><option>--version</option></arg>
77   <arg><option>--no-daemon</option></arg>
78   <arg><option>--pidfile </option><replaceable class="parameter">pidfile</replaceable></arg>  
79   <arg><option>--user </option><replaceable class="parameter">user[.group]</replaceable></arg> 
80   <arg><option>--chroot</option></arg>
81   <arg><option>--pre-chroot-nslookup </option><replaceable class="parameter">hostname</replaceable></arg> 
82   <arg><replaceable class="parameter">configfile</replaceable></arg>        
83  </cmdsynopsis>
84
85 </refsynopsisdiv>
86
87
88 <!--   ~~~~~       New section      ~~~~~     -->
89 <refsect1><title>Options</title>
90  <para>
91   <command>Privoxy</command> may be invoked with the following command line
92   options:
93  </para>
94
95  <variablelist>                                          
96   <varlistentry>
97     <term>--help</term>
98       <listitem>
99        <para>
100          Print brief usage info and exit.
101         </para>
102       </listitem>
103   </varlistentry>
104
105   <varlistentry>
106     <term>--version</term>
107       <listitem>
108        <para>
109          Print version info and exit.
110         </para>
111       </listitem>
112   </varlistentry>
113
114   <varlistentry>
115     <term>--no-daemon</term>
116      <listitem>
117       <para>
118         Don't  become  a daemon, i.e. don't fork and become process group
119         leader, don't detach from controlling tty, and do all logging there.
120       </para>
121     </listitem>
122   </varlistentry>
123
124   <varlistentry>
125     <term>--pidfile <replaceable class="parameter">pidfile</replaceable></term>
126      <listitem>
127       <para>
128         On startup, write the process ID to <replaceable class="parameter">pidfile</replaceable>.
129         Delete the <replaceable class="parameter">pidfile</replaceable> on exit.
130         Failure to create or delete the <replaceable class="parameter">pidfile</replaceable>
131         is non-fatal. If no <command>--pidfile</command> option is given, no PID file will be used.
132       </para>
133     </listitem>
134   </varlistentry>
135
136   <varlistentry>
137     <term>--user <replaceable class="parameter">user[.group]</replaceable></term>
138      <listitem>
139       <para>
140        <!-- Note: replaceable is maybe the wrong tag, but generates  -->
141        <!-- correct looking man output.                              -->
142        After (optionally) writing the PID file, assume the user ID of
143        <replaceable class="parameter">user</replaceable> and the GID of
144        <replaceable class="parameter">group</replaceable>, or, if the optional
145        <replaceable class="parameter">group</replaceable> was not given, the default group of
146        <replaceable class="parameter">user</replaceable>. Exit if the privileges are not
147        sufficient to do so.
148      </para>
149     </listitem>
150   </varlistentry>
151   <varlistentry>
152     <term>--chroot</term>
153      <listitem>
154       <para>
155        Before changing to the user ID given in the --user option, chroot to
156        that user's home directory, i.e. make the kernel pretend to the
157        <command>Privoxy</command> process that the directory tree starts
158        there. If set up carefully, this can limit the impact of possible
159        vulnerabilities in <command>Privoxy</command> to the files contained in
160        that hierarchy. 
161       </para>
162     </listitem>
163   </varlistentry>
164   <varlistentry>
165     <term>--pre-chroot-nslookup <replaceable class="parameter">hostname</replaceable></term>
166      <listitem>
167       <para>
168         Initialize the resolver library using <replaceable class="parameter">hostname</replaceable>
169         before chroot'ing. On some systems this reduces the number of files
170         that must be copied into the chroot tree.
171      </para>
172     </listitem>
173   </varlistentry>
174  </variablelist>
175
176  <para>
177   If the <filename>configfile</filename> is not specified on  the  command  line,
178   <command>Privoxy</command>  will  look for a file named
179   <filename>config</filename> in the current directory. If no
180   <filename>configfile</filename> is found, <command>Privoxy</command> will 
181   fail to start.
182  </para>
183
184 </refsect1>
185
186
187 <!--   ~~~~~       New section      ~~~~~     -->
188 <refsect1><title>Description</title>
189 <!-- Include privoxy.sgml boilerplate: -->
190  &p-intro;
191 <!-- end boilerplate -->
192 </refsect1>
193
194
195 <!--   ~~~~~       New section      ~~~~~     -->
196 <refsect1><title>Installation and Usage</title>
197 <para>
198  Browsers can either be individually configured to use
199  <command>Privoxy</command> as a HTTP proxy (recommended),
200  or <command>Privoxy</command> can be combined with a packet
201  filter to build an intercepting proxy
202  (see <filename>config</filename>).  The default setting is  for
203  localhost,  on port  8118 (configurable in the main config file).  To set the
204  HTTP proxy in Firefox, go through: <command>Tools</command>; 
205  <command>Options</command>; <command>General</command>;
206  <command>Connection Settings</command>;
207  <command>Manual Proxy Configuration</command>. 
208 </para>
209 <para>
210  For Internet Explorer, go through: <command>Tools</command>; 
211  <command>Internet Properties</command>; <command>Connections</command>;
212  <command>LAN Settings</command>. 
213 </para>
214 <para>
215  The Secure (SSL) Proxy should also be set to the same values, otherwise
216  https: URLs will not be proxied. Note: <command>Privoxy</command> can only
217  proxy HTTP and HTTPS traffic. Do not try it with FTP or other protocols.
218  HTTPS presents some limitations, and not all features will work with HTTPS 
219  connections.
220 </para>
221
222 <para>
223  For other browsers, check the documentation.
224 </para>
225 </refsect1>
226
227
228 <!--   ~~~~~       New section      ~~~~~     -->
229 <refsect1><title>Configuration</title>
230 <para>
231  <command>Privoxy</command> can be configured with the various configuration
232  files. The default configuration files are: <filename>config</filename>,
233  <filename>default.filter</filename>, <filename>default.action</filename> and
234  <filename>default.action</filename>. <filename>user.action</filename> should 
235  be used for locally defined exceptions to the default rules in
236  <filename>match-all.action</filename> and <filename>default.action</filename>,
237  and <filename>user.filter</filename> for locally defined filters. These are
238  well commented.  On Unix and Unix-like systems, these are located in
239  <filename>/etc/privoxy/</filename> by default. 
240 </para>
241 <para> 
242  <command>Privoxy</command> uses the concept of <command>actions</command> 
243  in order to manipulate the data stream between the browser and remote sites.
244  There are various actions available with specific functions for such things 
245  as blocking web sites, managing cookies, etc. These actions can be invoked
246  individually or combined, and used against individual URLs, or groups of URLs 
247  that can be defined using wildcards and regular expressions. The result is
248  that the user has greatly enhanced control and freedom.
249 </para>
250 <para>
251  The actions list (ad blocks, etc) can also be configured with your
252  web browser at <ulink url="http://config.privoxy.org/">http://config.privoxy.org/</ulink> 
253  (assuming the configuration allows it).
254  <command>Privoxy's</command> configuration parameters  can also  be viewed at
255  the same page. In addition, <command>Privoxy</command> can be toggled on/off.
256  This is an internal page, and does not require Internet access.
257 </para>
258 <para>
259  See the <ulink
260  url="http://www.privoxy.org/user-manual/"><citetitle>User Manual</citetitle></ulink> for a detailed
261  explanation of installation, general usage, all configuration options, new
262  features and notes on upgrading.
263 </para>
264 </refsect1>
265
266
267
268 <!--   ~~~~~       New section      ~~~~~     -->
269 <refsect1><title>Files</title>
270 <!-- this is a cheesy way to do this, but WTF. -->
271 <literallayout> 
272  <filename>/usr/sbin/privoxy</filename>
273  <filename>/etc/privoxy/config</filename>
274  <filename>/etc/privoxy/match-all.action</filename>
275  <filename>/etc/privoxy/default.action</filename>
276  <filename>/etc/privoxy/user.action</filename>
277  <filename>/etc/privoxy/default.filter</filename>
278  <filename>/etc/privoxy/user.filter</filename>
279  <filename>/etc/privoxy/trust</filename>
280  <filename>/etc/privoxy/templates/*</filename>
281  <filename>/var/log/privoxy/logfile</filename>
282 </literallayout>
283
284 <para>
285  Various other files should be included, but may vary depending on platform
286  and build configuration. Additional documentation should be included in the local
287  documentation directory.
288 </para>
289
290 </refsect1>
291
292
293 <!--   ~~~~~       New section      ~~~~~     -->
294 <refsect1><title>Signals</title>
295 <para>
296  <!-- command tag is used here to get proper looking format  -->
297  <command>Privoxy</command> terminates on the <command>SIGINT</command>,
298  <command>SIGTERM</command> and <command>SIGABRT</command> signals. Log
299  rotation scripts may cause a re-opening of the logfile by sending a 
300  <command>SIGHUP</command> to <command>Privoxy</command>. Note that unlike
301  other daemons,  <command>Privoxy</command> does not need to be made aware of
302  config file changes by <command>SIGHUP</command> -- it will detect them
303  automatically. 
304 </para>
305
306 </refsect1>
307
308 <!--   ~~~~~       New section      ~~~~~     -->
309 <refsect1><title>Notes</title>
310 <![%p-not-stable;[
311 <para>
312  This is a &p-status; version of <command>Privoxy</command>. Not
313  all features are well tested.
314 </para>]]>
315 <para>
316  Please see the <citetitle>User Manual</citetitle> on how to contact the
317  developers, for feature requests, reporting problems, and other questions.
318 </para>
319
320 </refsect1>
321
322 <!--   ~~~~~       New section      ~~~~~     -->
323 <refsect1><title>See Also</title>
324 <!-- Include seealso.sgml boilerplate: -->
325  &seealso;
326 <!-- end boilerplate -->
327 </refsect1>
328
329 <!--   ~~~~~       New section      ~~~~~     -->
330 <refsect1><title>Development Team</title>
331 <!-- Include p-authors.sgml boilerplate: -->
332  &authors;
333 <!-- end boilerplate -->
334 </refsect1>
335
336 <!--   ~~~~~       New section      ~~~~~     -->
337 <refsect1><title>Copyright and License</title>
338
339 <refsect2><title>Copyright</title>
340 <!-- Include copyright.sgml boilerplate: -->
341  &copyright;
342 <!-- end boilerplate -->
343 </refsect2>
344
345 <refsect2><title>License</title>
346 <!-- Include license.sgml boilerplate: -->
347  &license;
348 <!-- end boilerplate -->
349 </refsect2>
350 </refsect1>
351
352 </refentry>