2 File : $Source: /cvsroot/ijbswa/current/doc/source/privoxy-man-page.sgml,v $
6 ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/
8 $Id: privoxy-man-page.sgml,v 2.5 2006/07/18 14:48:51 david__schmidt Exp $
10 Copyright (C) 2001, 2002 Privoxy Developers <developers@privoxy.org>
13 ========================================================================
14 NOTE: Please read developer-manual/documentation.html before touching
15 anything in this, or other Privoxy documentation.
16 ========================================================================
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!
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 :).
27 Create man page: 'make man'
29 Requires docbook2man (short perl script), see CVS
30 http://sources.redhat.com/docbook-tools/. Also requires openjade and SGMLSpm
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
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.4">
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 -->
54 <refentry id="privoxy">
56 <date>2006-08-24</date>
59 <refentrytitle>privoxy</refentrytitle>
60 <manvolnum>1</manvolnum>
62 Privoxy &p-version;<![%p-not-stable;[ &p-status;]]>
67 <refname><application>privoxy</application></refname>
68 <refpurpose>Privacy Enhancing Proxy</refpurpose>
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><replaceable class="parameter">configfile</replaceable></arg>
81 <command> (UNIX)</command>
85 <command>privoxy.exe</command>
86 <arg><replaceable class="parameter">configfile</replaceable></arg>
87 <command> (Windows)</command>
92 <!-- ~~~~~ New section ~~~~~ -->
93 <refsect1><title>Options</title>
95 <command>Privoxy</command> may be invoked with the following command line
104 Print brief usage info and exit.
110 <term>--version</term>
113 Print version info and exit.
119 <term>--no-daemon</term>
122 Don't become a daemon, i.e. don't fork and become process group
123 leader, don't detach from controlling tty, and do all logging there.
129 <term>--pidfile <replaceable class="parameter">pidfile</replaceable></term>
132 On startup, write the process ID to <replaceable class="parameter">pidfile</replaceable>.
133 Delete the <replaceable class="parameter">pidfile</replaceable> on exit.
134 Failure to create or delete the <replaceable class="parameter">pidfile</replaceable>
135 is non-fatal. If no <command>--pidfile</command> option is given, no PID file will be used.
141 <term>--user <replaceable class="parameter">user[.group]</replaceable></term>
144 <!-- Note: replaceable is maybe the wrong tag, but generates -->
145 <!-- correct looking man output. -->
146 After (optionally) writing the PID file, assume the user ID of
147 <replaceable class="parameter">user</replaceable> and the GID of
148 <replaceable class="parameter">group</replaceable>, or, if the optional
149 <replaceable class="parameter">group</replaceable> was not given, the default group of
150 <replaceable class="parameter">user</replaceable>. Exit if the privileges are not
156 <term>--chroot</term>
159 Before changing to the user ID given in the --user option, chroot to
160 that user's home directory, i.e. make the kernel pretend to the
161 <command>Privoxy</command> process that the directory tree starts
162 there. If set up carefully, this can limit the impact of possible
163 vulnerabilities in <command>Privoxy</command> to the files contained in
171 If the <filename>configfile</filename> is not specified on the command line,
172 <command>Privoxy</command> will look for a file named
173 <filename>config</filename> in the current directory (except on Win32 where
174 it will try <filename>config.txt</filename>). If no
175 <filename>configfile</filename> is found, <command>Privoxy</command> will
182 <!-- ~~~~~ New section ~~~~~ -->
183 <refsect1><title>Description</title>
184 <!-- Include privoxy.sgml boilerplate: -->
186 <!-- end boilerplate -->
190 <!-- ~~~~~ New section ~~~~~ -->
191 <refsect1><title>Installation and Usage</title>
193 Browsers must be individually configured to use <command>Privoxy</command> as
194 a HTTP proxy. The default setting is for localhost, on port 8118
195 (configurable in the main config file). To set the HTTP proxy in Netscape
196 and Mozilla, go through: <command>Edit</command>;
197 <command>Preferences</command>; <command>Advanced</command>;
198 <command>Proxies</command>; <command>Manual Proxy Configuration</command>;
199 <command>View</command>.
202 For Internet Explorer, go through: <command>Tools</command>;
203 <command>Internet Properties</command>; <command>Connections</command>;
204 <command>LAN Settings</command>.
207 The Secure (SSL) Proxy should also be set to the same values, otherwise
208 https: URLs will not be proxied. Note: <command>Privoxy</command> can only
209 proxy HTTP and HTTPS traffic. Do not try it with FTP or other protocols.
213 For other browsers, check the documentation.
218 <!-- ~~~~~ New section ~~~~~ -->
219 <refsect1><title>Configuration</title>
221 <command>Privoxy</command> can be configured with the various configuration
222 files. The default configuration files are: <filename>config</filename>,
223 <filename>default.filter</filename>, and
224 <filename>default.action</filename>. <filename>user.action</filename> should
225 be used for locally defined exceptions to the default rules of
226 <filename>default.action</filename>, and <filename>user.filter</filename> for
227 locally defined filters. These are well commented. On Unix
228 and Unix-like systems, these are located in
229 <filename>/etc/privoxy/</filename> by default. On Windows, OS/2 and AmigaOS,
230 these files are in the same directory as the <command>Privoxy</command>
235 url="http://www.privoxy.org/user-manual/">user-manual</ulink> for a complete
236 explanation of general usage, configuration options, new features and notes for
240 The actions list (ad blocks, etc) can also be configured with your
241 web browser at <ulink url="http://config.privoxy.org/">http://config.privoxy.org/</ulink>.
242 <command>Privoxy's</command> configuration parameters can also be viewed at
243 the same page. In addition, <command>Privoxy</command> can be toggled on/off.
244 This is an internal page, and does not require Internet access.
249 <!-- ~~~~~ New section ~~~~~ -->
250 <refsect1><title>Sample Configuration</title>
252 A brief example of what a simple <filename>default.action</filename>
253 configuration might look like:
257 # Define a few useful custom aliases for later use
261 +crunch-cookies = +crunch-incoming-cookies +crunch-outgoing-cookies
262 -crunch-cookies = -crunch-incoming-cookies -crunch-outgoing-cookies
263 +imageblock = +block +handle-as-image
265 # Fragile sites should have the minimum changes
266 fragile = -block -deanimate-gifs -fast-redirects -filter \
267 -hide-referer -prevent-cookies -kill-popups
269 ## Turn some actions on ################################
273 -content-type-overwrite \
274 -crunch-if-none-match \
275 +crunch-incoming-cookies \
276 +crunch-outgoing-cookies \
277 +crunch-server-header {no-cache} \
278 +deanimate-gifs{last} \
279 -downgrade-http-version \
282 -filter{html-annoyances} \
283 -filter{js-annoyances} \
284 +filter{content-cookies} \
286 -filter{banners-by-size} \
287 -handle-as-empty-document \
288 +hide-accept-language{en-ca} \
289 +hide-content-disposition {block} \
290 +hide-forwarded-for-headers \
291 +hide-from-header{block} \
292 +hide-if-modified-since {-1} \
293 +hide-referrer{forge} \
298 +set-image-blocker{pattern} \
300 +overwrite-last-modified {randomize} \
301 +prevent-compression \
302 +session-cookies-only \
303 +treat-forbidden-connects-like-blocks \
306 / # '/' Matches *all* URL patterns
308 # Block, and treat these URL patterns as if they were 'images'.
309 # We would expect these to be ads.
312 .a[0-9].yimg.com/(?:(?!/i/).)*$
315 # Block any URLs that match these patterns
320 /.*count(er)?\.(pl|cgi|exe|dll|asp|php[34]?)
323 # Make exceptions for these harmless ones that would be
324 # caught by our +block patterns just above.
333 Then for a <filename>user.action</filename>, we would put local,
334 narrowly defined exceptions:
338 # Re-define aliases as needed here
342 -crunch-cookies = -crunch-incoming-cookies -crunch-outgoing-cookies
344 # Set personal exceptions to the policies in default.action #######
346 # Sites where we want persistant cookies, so allow *all* cookies
347 {-crunch-cookies -session-cookies-only}
352 # This site breaks easily.
353 {-block -fast-redirects}
359 See the comments in the configuration files themselves, or the
360 <citetitle>user-manual</citetitle>
361 for explanations of the above syntax, and other <command>Privoxy</command>
362 configuration options.
368 <!-- ~~~~~ New section ~~~~~ -->
369 <refsect1><title>Files</title>
370 <!-- this is a cheesy way to do this, but WTF. -->
372 <filename>/usr/sbin/privoxy</filename>
373 <filename>/etc/privoxy/config</filename>
374 <filename>/etc/privoxy/default.action</filename>
375 <filename>/etc/privoxy/standard.action</filename>
376 <filename>/etc/privoxy/user.action</filename>
377 <filename>/etc/privoxy/default.filter</filename>
378 <filename>/etc/privoxy/user.filter</filename>
379 <filename>/etc/privoxy/trust</filename>
380 <filename>/etc/privoxy/templates/*</filename>
381 <filename>/var/log/privoxy/logfile</filename>
385 Various other files should be included, but may vary depending on platform
386 and build configuration. More documentation should be included in the local
387 documentation directory.
393 <!-- ~~~~~ New section ~~~~~ -->
394 <refsect1><title>Signals</title>
396 <!-- command tag is used here to get proper looking format -->
397 <command>Privoxy</command> terminates on the <command>SIGINT</command>,
398 <command>SIGTERM</command> and <command>SIGABRT</command> signals. Log
399 rotation scripts may cause a re-opening of the logfile by sending a
400 <command>SIGHUP</command> to <command>Privoxy</command>. Note that unlike
401 other daemons, <command>Privoxy</command> does not need to be made aware of
402 config file changes by <command>SIGHUP</command> -- it will detect them
408 <!-- ~~~~~ New section ~~~~~ -->
409 <refsect1><title>Notes</title>
412 This is a &p-status; version of <command>Privoxy</command>. Not
413 all features are well tested.
416 Please see the <citetitle>User Manual</citetitle> on how to contact the
417 developers, for feature requests, reporting problems, and other questions.
422 <!-- ~~~~~ New section ~~~~~ -->
423 <refsect1><title>See Also</title>
424 <!-- Include seealso.sgml boilerplate: -->
426 <!-- end boilerplate -->
429 <!-- ~~~~~ New section ~~~~~ -->
430 <refsect1><title>Development Team</title>
431 <!-- Include p-authors.sgml boilerplate: -->
433 <!-- end boilerplate -->
436 <!-- ~~~~~ New section ~~~~~ -->
437 <refsect1><title>Copyright and License</title>
439 <refsect2><title>Copyright</title>
440 <!-- Include copyright.sgml boilerplate: -->
442 <!-- end boilerplate -->
445 <refsect2><title>License</title>
446 <!-- Include license.sgml boilerplate: -->
448 <!-- end boilerplate -->