All HTML docs for 3.0.6 release.
[privoxy.git] / doc / webserver / man-page / privoxy-man-page.html
1
2 <HTML><HEAD><TITLE>Manpage of PRIVOXY</TITLE>
3 <LINK REL="STYLESHEET" TYPE="text/css" HREF="../p_doc.css"></HEAD><BODY>
4 <H1>PRIVOXY</H1>
5 Section:  (1)<BR>Updated: 13 November 2006<BR><A HREF="#index">Index</A>
6 <HR>
7
8 <A NAME="lbAB">&nbsp;</A>
9 <H2>NAME</H2>
10
11 privoxy - Privacy Enhancing Proxy
12 <A NAME="lbAC">&nbsp;</A>
13 <H2>SYNOPSIS</H2>
14
15 <P>
16 <B>privoxy</B> [<B>--help</B> ] [<B>--version</B> ] [<B>--no-daemon</B> ] [<B>--pidfile </B><I>pidfile</I><B></B> ] [<B>--user </B><I>user[.group]</I><B></B> ] [<B>--chroot</B> ] [<B></B><I>configfile</I><B></B> ]
17 <P>
18 <A NAME="lbAD">&nbsp;</A>
19 <H2>OPTIONS</H2>
20
21 <P>
22
23 <B>Privoxy</B> may be invoked with the following command line
24 options:
25 <DL COMPACT>
26 <DT><B>--help</B><DD>
27 Print brief usage info and exit.
28 <DT><B>--version</B><DD>
29 Print version info and exit.
30 <DT><B>--no-daemon</B><DD>
31 Don't  become  a daemon, i.e. don't fork and become process group
32 leader, don't detach from controlling tty, and do all logging there.
33 <DT><B>--pidfile </B><I>pidfile</I><B></B><DD>
34 On startup, write the process ID to <I>pidfile</I>.
35 Delete the <I>pidfile</I> on exit.
36 Failure to create or delete the <I>pidfile</I>
37 is non-fatal. If no <B>--pidfile</B> option is given, no PID file will be used.
38 <DT><B>--user </B><I>user[.group]</I><B></B><DD>
39 After (optionally) writing the PID file, assume the user ID of
40 <I>user</I> and the GID of
41 <I>group</I>, or, if the optional
42 <I>group</I> was not given, the default group of
43 <I>user</I>. Exit if the privileges are not
44 sufficient to do so.
45 <DT><B>--chroot</B><DD>
46 Before changing to the user ID given in the --user option, chroot to
47 that user's home directory, i.e. make the kernel pretend to the
48 <B>Privoxy</B> process that the directory tree starts
49 there. If set up carefully, this can limit the impact of possible
50 vulnerabilities in <B>Privoxy</B> to the files contained in
51 that hierarchy. 
52 </DL>
53 <P>
54
55 If the <I>configfile</I> is not specified on  the  command  line,
56 <B>Privoxy</B>  will  look for a file named
57 <I>config</I> in the current directory . If no
58 <I>configfile</I> is found, <B>Privoxy</B> will 
59 fail to start.
60 <A NAME="lbAE">&nbsp;</A>
61 <H2>DESCRIPTION</H2>
62
63 <P>
64
65 Privoxy is a 
66 web proxy
67 with advanced filtering capabilities for protecting
68 privacy, modifying web page data, managing 
69 cookies, 
70 controlling access, and removing ads, banners, pop-ups and other obnoxious
71 Internet junk. Privoxy has a very flexible configuration and can be
72 customized to suit individual needs and tastes. Privoxy has application for
73 both stand-alone systems and multi-user networks.
74 <P>
75
76 Privoxy is based on Internet Junkbuster (tm).
77 <A NAME="lbAF">&nbsp;</A>
78 <H2>INSTALLATION AND USAGE</H2>
79
80 <P>
81
82 Browsers must be individually configured to use <B>Privoxy</B> as
83 a HTTP proxy.  The default setting is  for  localhost,  on port  8118
84 (configurable in the main config file).  To set the HTTP proxy in Netscape
85 and Mozilla, go through:  <B>Edit</B>;
86 <B>Preferences</B>;  <B>Advanced</B>;
87 <B>Proxies</B>;  <B>Manual Proxy Configuration</B>;
88 <B>View</B>. 
89 <P>
90
91 For Firefox, go through: <B>Tools</B>; 
92 <B>Options</B>; <B>General</B>;
93 <B>Connection Settings</B>;
94 <B>Manual Proxy Configuration</B>. 
95 <P>
96
97 For Internet Explorer, go through: <B>Tools</B>; 
98 <B>Internet Properties</B>; <B>Connections</B>;
99 <B>LAN Settings</B>. 
100 <P>
101
102 The Secure (SSL) Proxy should also be set to the same values, otherwise
103 https: URLs will not be proxied. Note: <B>Privoxy</B> can only
104 proxy HTTP and HTTPS traffic. Do not try it with FTP or other protocols.
105 HTTPS presents some limitations, and not all features will work with HTTPS 
106 connections.
107 <P>
108
109 For other browsers, check the documentation.
110 <A NAME="lbAG">&nbsp;</A>
111 <H2>CONFIGURATION</H2>
112
113 <P>
114
115 <B>Privoxy</B> can be configured with the various configuration
116 files. The default configuration files are: <I>config</I>,
117 <I>default.filter</I>, and
118 <I>default.action</I>. <I>user.action</I> should 
119 be used for locally defined exceptions to the default rules of
120 <I>default.action</I>, and <I>user.filter</I> for 
121 locally defined filters. These are well commented.  On Unix
122 and Unix-like systems, these are located in
123 <I>/etc/privoxy/</I> by default. 
124 <P>
125
126 <B>Privoxy</B> uses the concept of <B>actions</B> 
127 in order to manipulate the data stream between the browser and remote sites.
128 There are various actions available with specific functions for such things 
129 as blocking web sites, managing cookies, etc. These actions can be invoked
130 individually or combined, and used against individual URLs, or groups of URLs 
131 that can be defined using wildcards and regular expressions. The result is
132 that the user has greatly enhanced control and freedom.
133 <P>
134
135 The actions list (ad blocks, etc) can also be configured with your
136 web browser at <A HREF="http://config.privoxy.org/">http://config.privoxy.org/.</A>
137 <B>Privoxy's</B> configuration parameters  can also  be viewed at
138 the same page. In addition, <B>Privoxy</B> can be toggled on/off.
139 This is an internal page, and does not require Internet access.
140 <P>
141
142 See the <I>User Manual</I> for a detailed
143 explanation of installation, general usage, all configuration options, new
144 features and notes on upgrading.
145 <A NAME="lbAH">&nbsp;</A>
146 <H2>SAMPLE CONFIGURATION</H2>
147
148 <P>
149
150 A brief example of what a simple <I>default.action</I>
151 configuration might look like:
152 <P>
153 <PRE>
154  # Define a few useful custom aliases for later use
155  {{alias}}
156
157  # Useful aliases that combine more than one action
158  +crunch-cookies = +crunch-incoming-cookies +crunch-outgoing-cookies
159  -crunch-cookies = -crunch-incoming-cookies -crunch-outgoing-cookies
160  +block-as-image = +block +handle-as-image
161
162  # Fragile sites should have the minimum changes
163  fragile     = -block -deanimate-gifs -fast-redirects -filter \
164                -hide-referer -prevent-cookies -kill-popups
165
166  ## Turn some actions on ################################
167  ## NOTE: Actions are off by default, unless explictily turned on 
168  ## otherwise with the '+' operator.
169
170 { \
171 -add-header \
172 -block \
173 -content-type-overwrite \
174 -crunch-client-header \
175 -crunch-if-none-match \
176 -crunch-outgoing-cookies \
177 -crunch-incoming-cookies \
178 -crunch-server-header \
179 +deanimate-gifs{last} \
180 -downgrade-http-version \
181 -fast-redirects \
182 -filter{js-annoyances} \
183 -filter{js-events} \
184 -filter{html-annoyances} \
185 -filter{content-cookies} \
186 +filter{refresh-tags} \
187 -filter{unsolicited-popups} \
188 -filter{all-popups} \
189 -filter{img-reorder} \
190 -filter{banners-by-size} \
191 -filter{banners-by-link} \
192 +filter{webbugs} \
193 -filter{tiny-textforms} \
194 +filter{jumping-windows} \
195 -filter{frameset-borders} \
196 -filter{demoronizer} \
197 -filter{shockwave-flash} \
198 -filter{quicktime-kioskmode} \
199 -filter{fun} \
200 -filter{crude-parental} \
201 +filter{ie-exploits} \
202 -filter{site-specifics} \
203 -filter{google} \
204 -filter{yahoo} \
205 -filter{msn} \
206 -filter{blogspot} \
207 -filter{xml-to-html} \
208 -filter{html-to-xml} \
209 -filter{no-ping} \
210 -filter{hide-tor-exit-notation} \
211 -filter-client-headers \
212 -filter-server-headers \
213 -force-text-mode \
214 -handle-as-empty-document
215 -handle-as-image \
216 -hide-accept-language \
217 -hide-content-disposition \
218 -hide-if-modified-since \
219 +hide-forwarded-for-headers \
220 +hide-from-header{block} \
221 +hide-referrer{forge} \
222 -hide-user-agent \
223 -inspect-jpegs \
224 -kill-popups \
225 -limit-connect \
226 -overwrite-last-modified \
227 -redirect \
228 +prevent-compression \
229 -send-vanilla-wafer \
230 -send-wafer \
231 +session-cookies-only \
232 +set-image-blocker{pattern} \
233 -treat-forbidden-connects-like-blocks \
234 }
235 / # '/' Match *all* URL patterns
236
237  
238  # Block all URLs that match these patterns
239  { +block }
240   ad.
241   ad[sv].
242   .*ads.
243   banner?.
244   /.*count(er)?\.(pl|cgi|exe|dll|asp|php[34]?)
245   .hitbox.com 
246   media./.*(ads|banner)
247
248  # Block, and treat these URL patterns as if they were 'images'.
249  # We would expect these to be ads.
250  { +block-as-image }
251   .ad.doubleclick.net
252   .a[0-9].yimg.com/(?:(?!/i/).)*$
253   ad.*.doubleclick.net
254
255  # Make exceptions for these harmless ones that would be 
256  # caught by our +block patterns just above.
257  { -block }
258   adsl.
259   adobe.
260   advice.
261   .*downloads.
262   # uploads or downloads
263   /.*loads
264 </PRE>
265
266 <P>
267
268 Then for a <I>user.action</I>, we would put local,
269 narrowly defined exceptions:
270 <P>
271 <PRE>
272  # Re-define aliases as needed here
273  {{alias}}
274
275  # Useful aliases
276  -crunch-cookies = -crunch-incoming-cookies -crunch-outgoing-cookies
277  
278  # Set personal exceptions to the policies in default.action #######
279
280  # Sites where we want persistent cookies, so allow *all* cookies
281  { -crunch-cookies -session-cookies-only }
282   .redhat.com
283   .sun.com
284   .msdn.microsoft.com
285  
286  # These sites breaks easily. Use our &quot;fragile&quot; alias here.
287  { fragile }
288   .forbes.com
289   mybank.example.com
290
291  # Replace example.com's style sheet with one of my choosing
292  { +redirect{<A HREF="http://localhost/css-replacements/example.com.css}">http://localhost/css-replacements/example.com.css}</A> }
293   example.com/stylesheet.css
294 </PRE>
295
296 <P>
297
298 See the comments in the configuration files themselves, or the 
299 <I>User Manual</I>
300 for full explanations of the above syntax, and other <B>Privoxy</B>
301 configuration options.
302 <A NAME="lbAI">&nbsp;</A>
303 <H2>FILES</H2>
304
305 <P>
306 <PRE>
307  
308  <I>/usr/sbin/privoxy</I>
309  <I>/etc/privoxy/config</I>
310  <I>/etc/privoxy/default.action</I>
311  <I>/etc/privoxy/standard.action</I>
312  <I>/etc/privoxy/user.action</I>
313  <I>/etc/privoxy/default.filter</I>
314  <I>/etc/privoxy/user.filter</I>
315  <I>/etc/privoxy/trust</I>
316  <I>/etc/privoxy/templates/*</I>
317  <I>/var/log/privoxy/logfile</I>
318 </PRE>
319
320 <P>
321
322 Various other files should be included, but may vary depending on platform
323 and build configuration. Additional documentation should be included in the local
324 documentation directory.
325 <A NAME="lbAJ">&nbsp;</A>
326 <H2>SIGNALS</H2>
327
328 <P>
329
330 <B>Privoxy</B> terminates on the <B>SIGINT</B>,
331 <B>SIGTERM</B> and <B>SIGABRT</B> signals. Log
332 rotation scripts may cause a re-opening of the logfile by sending a 
333 <B>SIGHUP</B> to <B>Privoxy</B>. Note that unlike
334 other daemons,  <B>Privoxy</B> does not need to be made aware of
335 config file changes by <B>SIGHUP</B> -- it will detect them
336 automatically. 
337 <A NAME="lbAK">&nbsp;</A>
338 <H2>NOTES</H2>
339
340 <P>
341
342 Please see the <I>User Manual</I> on how to contact the
343 developers, for feature requests, reporting problems, and other questions.
344 <A NAME="lbAL">&nbsp;</A>
345 <H2>SEE ALSO</H2>
346
347 <P>
348
349 Other references and sites of interest to <B>Privoxy</B>
350 users:
351 <P>
352
353 <P>
354 <A HREF="http://www.privoxy.org/">http://www.privoxy.org/,</A> 
355 the <B>Privoxy</B> Home page. 
356 <P>
357 <A HREF="http://www.privoxy.org/faq/">http://www.privoxy.org/faq/,</A> 
358 the <B>Privoxy</B> FAQ. 
359 <P>
360 <A HREF="http://sourceforge.net/projects/ijbswa/">http://sourceforge.net/projects/ijbswa/,</A> 
361 the Project Page for <B>Privoxy</B> on 
362 SourceForge.
363 <P>
364 <A HREF="http://config.privoxy.org/">http://config.privoxy.org/,</A>
365 the web-based user interface. <B>Privoxy</B> must be
366 running for this to work. Shortcut: <A HREF="http://p.p/">http://p.p/</A>
367 <P>
368 <A HREF="http://sourceforge.net/tracker/?group_id=11118">http://sourceforge.net/tracker/?group_id=11118</A>&amp;atid=460288, to submit ``misses'' and other
369 configuration related suggestions to the developers. 
370 <P>
371 <A HREF="http://www.junkbusters.com/ht/en/cookies.html">http://www.junkbusters.com/ht/en/cookies.html,</A>
372 an explanation how cookies are used to track web users.
373 <P>
374 <A HREF="http://www.junkbusters.com/ijb.html">http://www.junkbusters.com/ijb.html,</A>
375 the original Internet Junkbuster.
376 <P>
377 <A HREF="http://privacy.net/">http://privacy.net/,</A> a useful site
378 to check what information about you is leaked while you browse the web.
379 <P>
380 <A HREF="http://www.squid-cache.org/">http://www.squid-cache.org/,</A> a very popular
381 caching proxy, which is often used together with <B>Privoxy</B>.
382 <P>
383 <A HREF="http://tor.eff.org/">http://tor.eff.org/,</A> 
384 <B>Tor</B> can help anonymize web browsing, 
385 web publishing, instant messaging, IRC, SSH, and other applications.
386 <P>
387 <A HREF="http://www.privoxy.org/developer-manual/">http://www.privoxy.org/developer-manual/,</A> 
388 the <B>Privoxy</B> developer manual. 
389 <A NAME="lbAM">&nbsp;</A>
390 <H2>DEVELOPMENT TEAM</H2>
391
392 <P>
393 <PRE>
394  Fabian Keil, developer
395  David Schmidt, developer
396  
397  Hal Burgiss
398  Ian Cummings
399  Roland Rosenfeld
400 </PRE>
401
402 <A NAME="lbAN">&nbsp;</A>
403 <H2>COPYRIGHT AND LICENSE</H2>
404
405 <A NAME="lbAO">&nbsp;</A>
406 <H3>COPYRIGHT</H3>
407
408 <P>
409
410 Copyright (C) 2001 - 2006 by Privoxy Developers &lt;<A HREF="mailto:ijbswa-developers@lists.sourceforge.net">ijbswa-developers@lists.sourceforge.net</A>&gt;
411 <P>
412
413 Some source code is based on code Copyright (C) 1997 by Anonymous Coders
414 and Junkbusters, Inc. and licensed under the <I>GNU General Public
415 License</I>.
416 <A NAME="lbAP">&nbsp;</A>
417 <H3>LICENSE</H3>
418
419 <P>
420
421 <B>Privoxy</B> is free software; you can
422 redistribute it and/or modify it under the terms of the 
423 <I>GNU General Public
424 License</I>, version 2, as published by the Free Software Foundation.
425 <P>
426
427 This program is distributed in the hope that it will be useful, but WITHOUT
428 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
429 FITNESS FOR A PARTICULAR PURPOSE.  See the 
430 <I>GNU General Public License</I> for
431 more details, which is available from the Free Software Foundation, Inc, 
432 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
433 <P>
434
435 You should have received a copy of the  <I>GNU General Public License</I>
436 along with this program; if not, write to the  Free Software
437 Foundation, Inc. 51 Franklin Street, Fifth Floor
438 Boston, MA 02110-1301
439 USA 
440 <P>
441
442 <HR>
443 <A NAME="index">&nbsp;</A><H2>Index</H2>
444 <DL>
445 <DT><A HREF="#lbAB">NAME</A><DD>
446 <DT><A HREF="#lbAC">SYNOPSIS</A><DD>
447 <DT><A HREF="#lbAD">OPTIONS</A><DD>
448 <DT><A HREF="#lbAE">DESCRIPTION</A><DD>
449 <DT><A HREF="#lbAF">INSTALLATION AND USAGE</A><DD>
450 <DT><A HREF="#lbAG">CONFIGURATION</A><DD>
451 <DT><A HREF="#lbAH">SAMPLE CONFIGURATION</A><DD>
452 <DT><A HREF="#lbAI">FILES</A><DD>
453 <DT><A HREF="#lbAJ">SIGNALS</A><DD>
454 <DT><A HREF="#lbAK">NOTES</A><DD>
455 <DT><A HREF="#lbAL">SEE ALSO</A><DD>
456 <DT><A HREF="#lbAM">DEVELOPMENT TEAM</A><DD>
457 <DT><A HREF="#lbAN">COPYRIGHT AND LICENSE</A><DD>
458 <DL>
459 <DT><A HREF="#lbAO">COPYRIGHT</A><DD>
460 <DT><A HREF="#lbAP">LICENSE</A><DD>
461 </DL>
462 </DL>
463 <HR>
464 This document was created by
465 man2html,
466 using the manual pages.<BR>
467 Time: 01:57:58 GMT, November 14, 2006
468 </BODY>
469 </HTML>