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