Documentation for 3.0.19, regenerated with the modified tidy changes
[privoxy.git] / doc / webserver / faq / configuration.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2 "http://www.w3.org/TR/html4/loose.dtd">
3
4 <html>
5 <head>
6   <title>Configuration</title>
7   <meta name="GENERATOR" content=
8   "Modular DocBook HTML Stylesheet Version 1.79">
9   <link rel="HOME" title="Privoxy Frequently Asked Questions" href=
10   "index.html">
11   <link rel="PREVIOUS" title="Installation" href="installation.html">
12   <link rel="NEXT" title="Miscellaneous" href="misc.html">
13   <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
14   <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
15 </head>
16
17 <body class="SECT1" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink=
18 "#840084" alink="#0000FF">
19   <div class="NAVHEADER">
20     <table summary="Header navigation table" width="100%" border="0"
21     cellpadding="0" cellspacing="0">
22       <tr>
23         <th colspan="3" align="center">Privoxy Frequently Asked
24         Questions</th>
25       </tr>
26
27       <tr>
28         <td width="10%" align="left" valign="bottom"><a href=
29         "installation.html" accesskey="P">Prev</a></td>
30
31         <td width="80%" align="center" valign="bottom"></td>
32
33         <td width="10%" align="right" valign="bottom"><a href="misc.html"
34         accesskey="N">Next</a></td>
35       </tr>
36     </table>
37     <hr align="left" width="100%">
38   </div>
39
40   <div class="SECT1">
41     <h1 class="SECT1"><a name="CONFIGURATION" id="CONFIGURATION">3.
42     Configuration</a></h1>
43
44     <div class="SECT2">
45       <h3 class="SECT2"><a name="AEN369" id="AEN369">3.1. What exactly is an
46       <span class="QUOTE">"actions"</span> file?</a></h3>
47
48       <p><span class="APPLICATION">Privoxy</span> utilizes the concept of
49       <span class="QUOTE">" <a href=
50       "../user-manual/actions-file.html#ACTIONS" target=
51       "_top">actions</a>"</span> that are used to manipulate and control web
52       page data. <a href="../user-manual/actions-file.html" target=
53       "_top">Actions files</a> are where these <a href=
54       "../user-manual/actions-file.html#ACTIONS" target="_top">actions</a>
55       that <span class="APPLICATION">Privoxy</span> could take while
56       processing a certain request, are configured. Typically, you would
57       define a set of default actions that apply globally to all URLs, then
58       add exceptions to these defaults where needed. There is a wide array of
59       actions available that give the user a high degree of control and
60       flexibility on how to process each and every web page.</p>
61
62       <p>Actions can be defined on a <a href=
63       "../user-manual/actions-file.html#AF-PATTERNS" target="_top">URL
64       pattern</a> basis, i.e. for single URLs, whole web sites, groups or
65       parts thereof etc. Actions can also be grouped together and then
66       applied to requests matching one or more patterns. There are many
67       possible actions that might apply to any given site. As an example, if
68       you are blocking <a href="http://en.wikipedia.org/wiki/Browser_cookie"
69       target="_top">cookies</a> as one of your default actions, but need to
70       accept cookies from a given site, you would need to define an exception
71       for this site in one of your actions files, preferably in <tt class=
72       "FILENAME">user.action</tt>.</p>
73     </div>
74
75     <div class="SECT2">
76       <h3 class="SECT2"><a name="ACTIONSS" id="ACTIONSS">3.2. The
77       <span class="QUOTE">"actions"</span> concept confuses me. Please list
78       some of these <span class="QUOTE">"actions"</span>.</a></h3>
79
80       <p>For a comprehensive discussion of the actions concept, please refer
81       to the <a href="../user-manual/actions-file.html" target="_top">actions
82       file chapter</a> in the <a href="../user-manual/index.html" target=
83       "_top">User Manual</a>. It includes a <a href=
84       "../user-manual/actions-file.html#ACTIONS" target="_top">list of all
85       actions</a> and an <a href=
86       "../user-manual/actions-file.html#ACT-EXAMPLES" target="_top">actions
87       file tutorial</a> to get you started.</p>
88     </div>
89
90     <div class="SECT2">
91       <h3 class="SECT2"><a name="AEN392" id="AEN392">3.3. How are actions
92       files configured? What is the easiest way to do this?</a></h3>
93
94       <p>Actions files are just text files in a special syntax and can be
95       edited with a text editor. But probably the easiest way is to access
96       <span class="APPLICATION">Privoxy</span>'s user interface with your web
97       browser at <a href="http://config.privoxy.org/" target=
98       "_top">http://config.privoxy.org/</a> (Shortcut: <a href="http://p.p/"
99       target="_top">http://p.p/</a>) and then select <span class=
100       "QUOTE">"<a href="http://config.privoxy.org/show-status" target=
101       "_top">View &amp; change the current configuration</a>"</span> from the
102       menu. Note that this feature must be explicitly enabled in the main
103       config file (see <a href=
104       "../user-manual/config.html#ENABLE-EDIT-ACTIONS" target=
105       "_top">enable-edit-actions</a>).</p>
106     </div>
107
108     <div class="SECT2">
109       <h3 class="SECT2"><a name="AEN401" id="AEN401">3.4. There are several
110       different <span class="QUOTE">"actions"</span> files. What are the
111       differences?</a></h3>
112
113       <p>Please have a look at the <a href="../user-manual/actions-file.html"
114       target="_top">the actions chapter</a> in the <a href=
115       "../user-manual/index.html" target="_top">User Manual</a> for a
116       detailed explanation.</p>
117     </div>
118
119     <div class="SECT2">
120       <h3 class="SECT2"><a name="GETUPDATES" id="GETUPDATES">3.5. Where can I
121       get updated Actions Files?</a></h3>
122
123       <p>Based on your feedback and the continuing development, updates of
124       <tt class="FILENAME">default.action</tt> will be made available from
125       time to time on the <a href=
126       "http://sourceforge.net/project/showfiles.php?group_id=11118" target=
127       "_top">files section</a> of our <a href=
128       "http://sf.net/projects/ijbswa/" target="_top">project page</a>.</p>
129
130       <p>If you wish to receive an email notification whenever we release
131       updates of <span class="APPLICATION">Privoxy</span> or the actions
132       file, <a href=
133       "http://lists.sourceforge.net/lists/listinfo/ijbswa-announce/" target=
134       "_top">subscribe to our announce mailing list</a>,
135       ijbswa-announce@lists.sourceforge.net.</p>
136     </div>
137
138     <div class="SECT2">
139       <h3 class="SECT2"><a name="NEWCONFIG" id="NEWCONFIG">3.6. Can I use my
140       old config files?</a></h3>
141
142       <p>The syntax and purpose of configuration files has remained roughly
143       the same throughout the 3.x series, but backwards compatibility is not
144       guaranteed. Also each release contains updated, <span class=
145       "QUOTE">"improved"</span> versions and it is therefore strongly
146       recommended to install the newer configuration files and merge back
147       your modifications.</p>
148     </div>
149
150     <div class="SECT2">
151       <h3 class="SECT2"><a name="DIFFICULT" id="DIFFICULT">3.7. Why is the
152       configuration so complicated?</a></h3>
153
154       <p><span class="QUOTE">"Complicated"</span> is in the eye of the
155       beholder. Those that are familiar with some of the underlying concepts,
156       such as regular expression syntax, take to it like a fish takes to
157       water. Also, software that tries hard to be <span class="QUOTE">"user
158       friendly"</span>, often lacks sophistication and flexibility. There is
159       always that trade-off there between power vs. easy-of-use. Furthermore,
160       anyone is welcome to contribute ideas and implementations to enhance
161       <span class="APPLICATION">Privoxy</span>.</p>
162     </div>
163
164     <div class="SECT2">
165       <h3 class="SECT2"><a name="YAHOO" id="YAHOO">3.8. How can I make my
166       Yahoo/Hotmail/Gmail account work?</a></h3>
167
168       <p>The default configuration shouldn't impact the usability of any of
169       these services. It may, however, make all <a href=
170       "http://en.wikipedia.org/wiki/Browser_cookie" target="_top">cookies</a>
171       temporary, so that your browser will forget your login credentials in
172       between browser sessions. If you would like not to have to log in
173       manually each time you access those websites, simply turn off all
174       cookie handling for them in the <tt class="FILENAME">user.action</tt>
175       file. An example for yahoo might look like:</p>
176
177       <table border="0" bgcolor="#E0E0E0" width="100%">
178         <tr>
179           <td>
180             <pre class="SCREEN">
181 # Allow all cookies for Yahoo login:
182 #
183 { -<a href="../user-manual/actions-file.html#CRUNCH-INCOMING-COOKIES" target=
184 "_top">crunch-incoming-cookies</a> -<a href=
185 "../user-manual/actions-file.html#CRUNCH-OUTGOING-COOKIES" target=
186 "_top">crunch-outgoing-cookies</a> -<a href=
187 "../user-manual/actions-file.html#SESSION-COOKIES-ONLY" target=
188 "_top">session-cookies-only</a> }
189 .login.yahoo.com
190 </pre>
191           </td>
192         </tr>
193       </table>
194
195       <p>These kinds of sites are often quite complex and heavy with <a href=
196       "http://en.wikipedia.org/wiki/Javascript" target="_top">Javascript</a>
197       and thus <span class="QUOTE">"fragile"</span>. So if <span class=
198       "emphasis"><i class="EMPHASIS">still</i></span> a problem, we have an
199       <a href="../user-manual/actions-file.html#ALIASES" target=
200       "_top">alias</a> just for such sticky situations:</p>
201
202       <table border="0" bgcolor="#E0E0E0" width="100%">
203         <tr>
204           <td>
205             <pre class="SCREEN">
206 # Gmail is a _fragile_ site:
207 #
208 { <tt class="LITERAL">fragile</tt> }
209  # Gmail is ...
210  mail.google.com
211 </pre>
212           </td>
213         </tr>
214       </table>
215
216       <p>Be sure to flush your browser's caches whenever making these kinds
217       of changes, just to make sure the changes <span class=
218       "QUOTE">"take"</span>.</p>
219
220       <p>Make sure the domain, host and path are appropriate as well. Your
221       browser can tell you where you are specifically and you should use that
222       information for your configuration settings. Note that above it is not
223       referenced as <tt class="LITERAL">gmail.com</tt>, which is a valid
224       domain name.</p>
225     </div>
226
227     <div class="SECT2">
228       <h3 class="SECT2"><a name="CONFIGFILES" id="CONFIGFILES">3.9. What's
229       the difference between the <span class="QUOTE">"Cautious"</span>,
230       <span class="QUOTE">"Medium"</span> and <span class=
231       "QUOTE">"Advanced"</span> defaults?</a></h3>
232
233       <p>Configuring <span class="APPLICATION">Privoxy</span> is not entirely
234       trivial. To help you get started, we provide you with three different
235       default action <span class="QUOTE">"profiles"</span> in the web based
236       actions file editor at <a href="http://config.privoxy.org/show-status"
237       target="_top">http://config.privoxy.org/show-status</a>. See the
238       <a href="../user-manual/actions-file.html" target="_top"><i class=
239       "CITETITLE">User Manual</i></a> for a list of actions, and how the
240       default profiles are set.</p>
241
242       <p>Where the defaults are likely to break some sites, exceptions for
243       known popular <span class="QUOTE">"problem"</span> sites are included,
244       but in general, the more aggressive your default settings are, the more
245       exceptions you will have to make later. New users are best to start off
246       in <span class="QUOTE">"Cautious"</span> setting. This is safest and
247       will have the fewest problems. See the <a href=
248       "../user-manual/index.html" target="_top"><i class="CITETITLE">User
249       Manual</i></a> for a more detailed discussion.</p>
250
251       <p>It should be noted that the <span class="QUOTE">"Advanced"</span>
252       profile (formerly known as the <span class=
253       "QUOTE">"Adventuresome"</span> profile) is more aggressive, and will
254       make use of some of <span class="APPLICATION">Privoxy's</span> advanced
255       features. Use at your own risk!</p>
256     </div>
257
258     <div class="SECT2">
259       <h3 class="SECT2"><a name="BROWSECONFIG" id="BROWSECONFIG">3.10. Why
260       can I change the configuration with a browser? Does that not raise
261       security issues?</a></h3>
262
263       <p>It may seem strange that regular users can edit the config files
264       with their browsers, although the whole <tt class=
265       "FILENAME">/etc/privoxy</tt> hierarchy belongs to the user <span class=
266       "QUOTE">"privoxy"</span>, with only 644 permissions.</p>
267
268       <p>When you use the browser-based editor, <span class=
269       "APPLICATION">Privoxy</span> itself is writing to the config files.
270       Because <span class="APPLICATION">Privoxy</span> is running as the user
271       <span class="QUOTE">"privoxy"</span>, it can update its own config
272       files.</p>
273
274       <p>If you run <span class="APPLICATION">Privoxy</span> for multiple
275       untrusted users (e.g. in a LAN) or aren't entirely in control of your
276       own browser, you will probably want to make sure that the web-based
277       editor and remote toggle features are <span class="QUOTE">"off"</span>
278       by setting <span class="QUOTE">"<tt class="LITERAL"><a href=
279       "../user-manual/config.html#ENABLE-EDIT-ACTIONS" target=
280       "_top">enable-edit-actions</a> 0</tt>"</span> and <span class=
281       "QUOTE">"<tt class="LITERAL"><a href=
282       "../user-manual/config.html#ENABLE-REMOTE-TOGGLE" target=
283       "_top">enable-remote-toggle</a> 0</tt>"</span> in the <a href=
284       "../user-manual/config.html" target="_top">main configuration
285       file</a>.</p>
286
287       <p>As of <span class="APPLICATION">Privoxy</span> 3.0.7 these options
288       are disabled by default.</p>
289     </div>
290
291     <div class="SECT2">
292       <h3 class="SECT2"><a name="AEN489" id="AEN489">3.11. What is the
293       <tt class="FILENAME">default.filter</tt> file? What is a <span class=
294       "QUOTE">"filter"</span>?</a></h3>
295
296       <p>The <a href="../user-manual/filter-file.html" target=
297       "_top"><tt class="FILENAME">default.filter</tt></a> file is where
298       <span class="emphasis"><i class="EMPHASIS">filters</i></span> as
299       supplied by the developers are defined. Filters are a special subset of
300       actions that can be used to modify or remove web page content or
301       headers on the fly. Content filters can be applied to <span class=
302       "emphasis"><i class="EMPHASIS">anything</i></span> in the page source,
303       header filters can be applied to either server or client headers.
304       Regular expressions are used to accomplish this.</p>
305
306       <p>There are a number of pre-defined filters to deal with common
307       annoyances. The filters are only defined here, to invoke them, you need
308       to use the <a href="../user-manual/actions-file.html#FILTER" target=
309       "_top"><tt class="LITERAL">filter</tt> action</a> in one of the actions
310       files. Content filtering is automatically disabled for inappropriate
311       MIME types, but if you know better than Privoxy what should or should
312       not be filtered you can filter any content you like.</p>
313
314       <p>Filters should <span class="emphasis"><i class=
315       "EMPHASIS">not</i></span> be confused with <a href=
316       "../user-manual/actions-file.html#BLOCK" target="_top"><tt class=
317       "LITERAL">blocks</tt></a>, which is a completely different action, and
318       is more typically used to block ads and unwanted sites.</p>
319
320       <p>If you are familiar with regular expressions, and HTML, you can look
321       at the provided <tt class="FILENAME">default.filter</tt> with a text
322       editor and define your own filters. This is potentially a very powerful
323       feature, but requires some expertise in both regular expressions and
324       HTML/HTTP. You should place any modifications to the default filters,
325       or any new ones you create in a separate file, such as <tt class=
326       "FILENAME">user.filter</tt>, so they won't be overwritten during
327       upgrades. The ability to define multiple filter files in <tt class=
328       "FILENAME">config</tt> is a new feature as of v. 3.0.5.</p>
329
330       <p>There is no GUI editor option for this part of the configuration,
331       but you can disable/enable the various pre-defined filters of the
332       included <tt class="FILENAME">default.filter</tt> file with the
333       <a href="http://config.privoxy.org/show-status" target="_top">web-based
334       actions file editor</a>. Note that the custom actions editor must be
335       explicitly enabled in the main config file (see <a href=
336       "../user-manual/config.html#ENABLE-EDIT-ACTIONS" target=
337       "_top">enable-edit-actions</a>).</p>
338
339       <p>If you intend to develop your own filters, you might want to have a
340       look at <a href="http://www.fabiankeil.de/sourcecode/pft/" target=
341       "_top">Privoxy-Filter-Test</a>.</p>
342     </div>
343
344     <div class="SECT2">
345       <h3 class="SECT2"><a name="LANCONFIG" id="LANCONFIG">3.12. How can I
346       set up Privoxy to act as a proxy for my LAN?</a></h3>
347
348       <p>By default, <span class="APPLICATION">Privoxy</span> only responds
349       to requests from <tt class="LITERAL">127.0.0.1</tt> (localhost). To
350       have it act as a server for a network, this needs to be changed in the
351       <a href="../user-manual/config.html" target="_top">main configuration
352       file</a>. Look for the <tt class="LITERAL"><a href=
353       "../user-manual/config.html#LISTEN-ADDRESS" target=
354       "_top">listen-address</a></tt> option, which may be commented out with
355       a <span class="QUOTE">"#"</span> symbol. Make sure it is uncommented,
356       and assign it the address of the LAN gateway interface, and port number
357       to use. Assuming your LAN address is 192.168.1.1 and you wish to run
358       <span class="APPLICATION">Privoxy</span> on port 8118, this line should
359       look like:</p>
360
361       <table border="0" bgcolor="#E0E0E0" width="100%">
362         <tr>
363           <td>
364             <pre class="SCREEN">
365   listen-address  192.168.1.1:8118
366 </pre>
367           </td>
368         </tr>
369       </table>
370
371       <p>Save the file, and restart <span class="APPLICATION">Privoxy</span>.
372       Configure all browsers on the network then to use this address and port
373       number.</p>
374
375       <p>Alternately, you can have <span class="APPLICATION">Privoxy</span>
376       listen on all available interfaces:</p>
377
378       <table border="0" bgcolor="#E0E0E0" width="100%">
379         <tr>
380           <td>
381             <pre class="SCREEN">
382   listen-address    :8118
383 </pre>
384           </td>
385         </tr>
386       </table>
387
388       <p>And then use <span class="APPLICATION">Privoxy's</span> <a href=
389       "../user-manual/config.html#PERMIT-ACCESS" target=
390       "_top">permit-access</a> feature to limit connections. A firewall in
391       this situation is recommended as well.</p>
392
393       <p>The above steps should be the same for any TCP network, regardless
394       of operating system.</p>
395
396       <p>If you run <span class="APPLICATION">Privoxy</span> on a LAN with
397       untrusted users, we recommend that you double-check the <a href=
398       "../user-manual/config.html#ACCESS-CONTROL" target="_top">access
399       control and security</a> options!</p>
400     </div>
401
402     <div class="SECT2">
403       <h3 class="SECT2"><a name="AEN540" id="AEN540">3.13. Instead of ads,
404       now I get a checkerboard pattern. I don't want to see
405       anything.</a></h3>
406
407       <p>The replacement for blocked images can be controlled with the
408       <a href="../user-manual/actions-file.html#SET-IMAGE-BLOCKER" target=
409       "_top"><tt class="LITERAL">set-image-blocker</tt> action</a>. You have
410       the choice of a checkerboard pattern, a transparent 1x1 GIF image (aka
411       <span class="QUOTE">"blank"</span>), or a redirect to a custom image of
412       your choice. Note that this choice only has effect for images which are
413       blocked as images, i.e. whose URLs match both a <tt class=
414       "LITERAL"><a href="../user-manual/actions-file.html#HANDLE-AS-IMAGE"
415       target="_top">handle-as-image</a></tt> <span class="emphasis"><i class=
416       "EMPHASIS">and</i></span> <tt class="LITERAL"><a href=
417       "../user-manual/actions-file.html#BLOCK" target="_top">block</a></tt>
418       action.</p>
419
420       <p>If you want to see nothing, then change the <a href=
421       "../user-manual/actions-file.html#SET-IMAGE-BLOCKER" target=
422       "_top"><tt class="LITERAL">set-image-blocker</tt> action</a> to
423       <span class="QUOTE">"blank"</span>. This can be done by editing the
424       <tt class="FILENAME">user.action</tt> file, or through the <a href=
425       "http://config.privoxy.org/show-status" target="_top">web-based actions
426       file editor</a>.</p>
427     </div>
428
429     <div class="SECT2">
430       <h3 class="SECT2"><a name="AEN557" id="AEN557">3.14. Why would anybody
431       want to see a checkerboard pattern?</a></h3>
432
433       <p>Remember that <a href="general.html#WHATSANAD">telling which image
434       is an ad and which isn't</a>, is an educated guess. While we hope that
435       the standard configuration is rather smart, it will make occasional
436       mistakes. The checkerboard image is visually decent, and it shows you
437       where images have been blocked, which can be very helpful in case some
438       navigation aid or otherwise innocent image was erroneously blocked. It
439       is recommended for new users so they can <span class=
440       "QUOTE">"see"</span> what is happening. Some people might also enjoy
441       seeing how many banners they <span class="emphasis"><i class=
442       "EMPHASIS">don't</i></span> have to see.</p>
443     </div>
444
445     <div class="SECT2">
446       <h3 class="SECT2"><a name="AEN563" id="AEN563">3.15. I see some images
447       being replaced with text instead of the checkerboard image. Why and how
448       do I get rid of this?</a></h3>
449
450       <p>This happens when the banners are not embedded in the HTML code of
451       the page itself, but in separate HTML (sub)documents that are loaded
452       into (i)frames or (i)layers, and these external HTML documents are
453       blocked. Being non-images they get replaced by a substitute HTML page
454       rather than a substitute image, which wouldn't work out technically,
455       since the browser expects and accepts only HTML when it has requested
456       an HTML document.</p>
457
458       <p>The substitute page adapts to the available space and shows itself
459       as a miniature two-liner if loaded into small frames, or full-blown
460       with a large red "BLOCKED" banner if space allows.</p>
461
462       <p>If you prefer the banners to be blocked by images, you must see to
463       it that the HTML documents in which they are embedded are not blocked.
464       Clicking the <span class="QUOTE">"See why"</span> link offered in the
465       substitute page will show you which rule blocked the page. After
466       changing the rule and un-blocking the HTML documents, the browser will
467       try to load the actual banner images and the usual image blocking will
468       (hopefully!) kick in.</p>
469     </div>
470
471     <div class="SECT2">
472       <h3 class="SECT2"><a name="SRVANY" id="SRVANY">3.16. Can Privoxy run as
473       a service on Win2K/NT/XP?</a></h3>
474
475       <p>Yes. Version 3.0.5 introduces full <span class=
476       "APPLICATION">Windows</span> service functionality. See <a href=
477       "../user-manual/installation.html#installation-pack-win" target=
478       "_top">the <i class="CITETITLE">User Manual</i></a> for details on how
479       to install and configure <span class="APPLICATION">Privoxy</span> as a
480       service.</p>
481
482       <p>Earlier 3.x versions could run as a system service using <b class=
483       "COMMAND">srvany.exe</b>. See the discussion at <a href=
484       "http://sourceforge.net/tracker/?func=detail&amp;atid=361118&amp;aid=485617&amp;group_id=11118"
485       target=
486       "_top">http://sourceforge.net/tracker/?func=detail&amp;atid=361118&amp;aid=485617&amp;group_id=11118</a>,
487       for details, and a sample configuration.</p>
488     </div>
489
490     <div class="SECT2">
491       <h3 class="SECT2"><a name="OTHERPROXY" id="OTHERPROXY">3.17. How can I
492       make Privoxy work with other proxies?</a></h3>
493
494       <p>This can be done and is often useful to combine the benefits of
495       <span class="APPLICATION">Privoxy</span> with those of a another proxy,
496       for example to cache content. See the <a href=
497       "../user-manual/config.html#FORWARDING" target="_top">forwarding
498       chapter</a> in the <a href="../user-manual/index.html" target=
499       "_top">User Manual</a> which describes how to do this. If you intend to
500       use Privoxy with Tor, please also have a look at <a href=
501       "misc.html#TOR">How do I use Privoxy together with Tor</a>.</p>
502     </div>
503
504     <div class="SECT2">
505       <h3 class="SECT2"><a name="PORT-80" id="PORT-80">3.18. Can I just set
506       Privoxy to use port 80 and thus avoid individual browser
507       configuration?</a></h3>
508
509       <p>No, its more complicated than that. This only works with special
510       kinds of proxies known as <span class="QUOTE">"intercepting"</span>
511       proxies (<a href="configuration.html#INTERCEPTING">see below</a>).</p>
512     </div>
513
514     <div class="SECT2">
515       <h3 class="SECT2"><a name="TRANSPARENT" id="TRANSPARENT">3.19. Can
516       Privoxy run as a <span class="QUOTE">"transparent"</span>
517       proxy?</a></h3>
518
519       <p>The whole idea of Privoxy is to modify client requests and server
520       responses in all sorts of ways and therefore it's not a transparent
521       proxy as described in <a href="http://tools.ietf.org/html/rfc2616"
522       target="_top">RFC 2616</a>.</p>
523
524       <p>However, some people say <span class="QUOTE">"transparent
525       proxy"</span> when they mean <span class="QUOTE">"intercepting
526       proxy"</span>. If you are one of them, please read the <a href=
527       "configuration.html#INTERCEPTING">next entry</a>.</p>
528     </div>
529
530     <div class="SECT2">
531       <h3 class="SECT2"><a name="INTERCEPTING" id="INTERCEPTING">3.20. Can
532       Privoxy run as a <span class="QUOTE">"intercepting"</span>
533       proxy?</a></h3>
534
535       <p><span class="APPLICATION">Privoxy</span> can't intercept traffic
536       itself, but it can handle requests that where intercepted and
537       redirected with a packet filter (like <span class=
538       "APPLICATION">PF</span> or <span class="APPLICATION">iptables</span>),
539       as long as the <tt class="LITERAL">Host</tt> header is present.</p>
540
541       <p>As the <tt class="LITERAL">Host</tt> header is required by HTTP/1.1
542       and as most web sites rely on it anyway, this limitation shouldn't be a
543       problem.</p>
544
545       <p>Please refer to your packet filter's documentation to learn how to
546       intercept and redirect traffic into <span class=
547       "APPLICATION">Privoxy</span>. Afterward you just have to configure
548       <span class="APPLICATION">Privoxy</span> to <a href=
549       "../user-manual/config.html#ACCEPT-INTERCEPTED-REQUESTS" target=
550       "_top">accept intercepted requests</a>.</p>
551     </div>
552
553     <div class="SECT2">
554       <h3 class="SECT2"><a name="OUTLOOK" id="OUTLOOK">3.21. How can I
555       configure Privoxy for use with Outlook?</a></h3>
556
557       <p>Versions of <span class="APPLICATION">Outlook</span> prior to Office
558       2007, use <span class="APPLICATION">Internet Explorer</span> components
559       to both render HTML, and fetch any HTTP requests that may be embedded
560       in an HTML email. So however you have <span class=
561       "APPLICATION">Privoxy</span> configured to work with IE, this
562       configuration should automatically be shared, at least with older
563       version of Internet Explorer.</p>
564
565       <p>Starting with Office 2007, Microsoft is instead using the MS-Word
566       rendering engine with Outlook. It is unknown whether this can be
567       configured to use a proxy.</p>
568     </div>
569
570     <div class="SECT2">
571       <h3 class="SECT2"><a name="OUTLOOK-MORE" id="OUTLOOK-MORE">3.22. How
572       can I have separate rules just for HTML mail?</a></h3>
573
574       <p>The short answer is, you can't. <span class=
575       "APPLICATION">Privoxy</span> has no way of knowing which particular
576       application makes a request, so there is no way to distinguish between
577       web pages and HTML mail. <span class="APPLICATION">Privoxy</span> just
578       blindly proxies all requests. In the case of <span class=
579       "APPLICATION">Outlook Express</span> (see above), OE uses IE anyway,
580       and there is no way for <span class="APPLICATION">Privoxy</span> to
581       ever be able to distinguish between them (nor could any other proxy
582       type application for that matter).</p>
583
584       <p>For a good discussion of some of the issues involved (including
585       privacy and security issues), see <a href=
586       "http://sourceforge.net/tracker/?func=detail&amp;atid=211118&amp;aid=629518&amp;group_id=11118"
587       target=
588       "_top">http://sourceforge.net/tracker/?func=detail&amp;atid=211118&amp;aid=629518&amp;group_id=11118</a>.</p>
589     </div>
590
591     <div class="SECT2">
592       <h3 class="SECT2"><a name="SNEAKY-COOKIES" id="SNEAKY-COOKIES">3.23. I
593       sometimes notice cookies sneaking through. How?</a></h3>
594
595       <p><a href="http://en.wikipedia.org/wiki/Browser_cookie" target=
596       "_top">Cookies</a> can be set in several ways. The classic method is
597       via the <tt class="LITERAL">Set-Cookie</tt> HTTP header. This is
598       straightforward, and an easy one to manipulate, such as the
599       <span class="APPLICATION">Privoxy</span> concept of <a href=
600       "../user-manual/actions-file.html#SESSION-COOKIES-ONLY" target=
601       "_top">session-cookies-only</a>. There is also the possibility of using
602       <a href="http://en.wikipedia.org/wiki/Javascript" target=
603       "_top">Javascript</a> to set cookies (<span class=
604       "APPLICATION">Privoxy</span> calls these <tt class=
605       "LITERAL">content-cookies</tt>). This is trickier because the syntax
606       can vary widely, and thus requires a certain amount of guesswork. It is
607       not realistic to catch all of these short of disabling Javascript,
608       which would break many sites. And lastly, if the cookies are embedded
609       in a HTTPS/SSL secure session via Javascript, they are beyond
610       <span class="APPLICATION">Privoxy's</span> reach.</p>
611
612       <p>All in all, <span class="APPLICATION">Privoxy</span> can help manage
613       cookies in general, can help minimize the loss of privacy posed by
614       cookies, but can't realistically stop all cookies.</p>
615     </div>
616
617     <div class="SECT2">
618       <h3 class="SECT2"><a name="EVIL-COOKIES" id="EVIL-COOKIES">3.24. Are
619       all cookies bad? Why?</a></h3>
620
621       <p>No, in fact there are many beneficial uses of <a href=
622       "http://en.wikipedia.org/wiki/Browser_cookie" target=
623       "_top">cookies</a>. Cookies are just a method that browsers can use to
624       store data between pages, or between browser sessions. Sometimes there
625       is a good reason for this, and the user's life is a bit easier as a
626       result. But there is a long history of some websites taking advantage
627       of this layer of trust, and using the data they glean from you and your
628       browsing habits for their own purposes, and maybe to your potential
629       detriment. Such sites are using you and storing their data on your
630       system. That is why the privacy conscious watch from whom those cookies
631       come, and why they really <span class="emphasis"><i class=
632       "EMPHASIS">need</i></span> to be there.</p>
633
634       <p>See the <a href="http://en.wikipedia.org/wiki/Browser_cookie"
635       target="_top">Wikipedia cookie definition</a> for more.</p>
636     </div>
637
638     <div class="SECT2">
639       <h3 class="SECT2"><a name="ALLOW-COOKIES" id="ALLOW-COOKIES">3.25. How
640       can I allow permanent cookies for my trusted sites?</a></h3>
641
642       <p>There are several actions that relate to cookies. The default
643       behavior is to allow only <span class="QUOTE">"session cookies"</span>,
644       which means the cookies only last for the current browser session. This
645       eliminates most kinds of abuse related to cookies. But there may be
646       cases where you want cookies to last.</p>
647
648       <p>To disable all cookie actions, so that cookies are allowed
649       unrestricted, both in and out, for <tt class=
650       "LITERAL">example.com</tt>:</p>
651
652       <table border="0" bgcolor="#E0E0E0" width="100%">
653         <tr>
654           <td>
655             <pre class="SCREEN">
656  { -crunch-incoming-cookies -crunch-outgoing-cookies -session-cookies-only -filter{content-cookies} }
657   .example.com
658 </pre>
659           </td>
660         </tr>
661       </table>
662
663       <p>Place the above in <tt class="FILENAME">user.action</tt>. Note that
664       some of these may be off by default anyway, so this might be redundant,
665       but there is no harm being explicit in what you want to happen.
666       <tt class="FILENAME">user.action</tt> includes an alias for this
667       situation, called <tt class="LITERAL">allow-all-cookies</tt>.</p>
668     </div>
669
670     <div class="SECT2">
671       <h3 class="SECT2"><a name="MULTIPLES" id="MULTIPLES">3.26. Can I have
672       separate configurations for different users?</a></h3>
673
674       <p>Each instance of <span class="APPLICATION">Privoxy</span> has its
675       own configuration, including such attributes as the TCP port that it
676       listens on. What you can do is run multiple instances of <span class=
677       "APPLICATION">Privoxy</span>, each with a unique <a href=
678       "../user-manual/config.html#LISTEN-ADDRESS" target=
679       "_top">listen-address</a> configuration setting, and configuration
680       path, and then each of these can have their own configurations. Think
681       of it as per-port configuration.</p>
682
683       <p>Simple enough for a few users, but for large installations, consider
684       having groups of users that might share like configurations.</p>
685     </div>
686
687     <div class="SECT2">
688       <h3 class="SECT2"><a name="WHITELISTS" id="WHITELISTS">3.27. Can I
689       set-up Privoxy as a whitelist of <span class="QUOTE">"good"</span>
690       sites?</a></h3>
691
692       <p>Sure. There are a couple of things you can do for simple
693       white-listing. Here's one real easy one:</p>
694
695       <table border="0" bgcolor="#E0E0E0" width="100%">
696         <tr>
697           <td>
698             <pre class="SCREEN">
699  ############################################################
700  # Blacklist
701  ############################################################
702  { <a href="../user-manual/actions-file.html#BLOCK" target=
703 "_top">+block</a> }
704  / # Block *all* URLs
705
706  ############################################################
707  # Whitelist
708  ############################################################
709  { <a href="../user-manual/actions-file.html#BLOCK" target=
710 "_top">-block</a> }
711   kids.example.com
712   toys.example.com
713   games.example.com
714 </pre>
715           </td>
716         </tr>
717       </table>
718
719       <p>This allows access to only those three sites by first blocking all
720       URLs, and then subsequently allowing three specific exceptions.</p>
721
722       <p>Another approach is <span class="APPLICATION">Privoxy's</span>
723       <tt class="LITERAL">trustfile</tt> concept, which incorporates the
724       notion of <span class="QUOTE">"trusted referrers"</span>. See the
725       <a href="../user-manual/config.html#TRUSTFILE" target="_top">Trust
726       documentation</a> for details.</p>
727
728       <p>These are fairly simple approaches and are not completely foolproof.
729       There are various other configuration options that should be disabled
730       (described elsewhere here and in <a href="../user-manual/" target=
731       "_top">the User Manual</a>) so that users can't modify their own
732       configuration and easily circumvent the whitelist.</p>
733     </div>
734
735     <div class="SECT2">
736       <h3 class="SECT2"><a name="NO-ADBLOCK" id="NO-ADBLOCK">3.28. How can I
737       turn off ad-blocking?</a></h3>
738
739       <p>Ad blocking is achieved through a complex application of various
740       <span class="APPLICATION">Privoxy</span> <a href=
741       "../user-manual/actions-file.html" target="_top">actions</a>. These
742       actions are deployed against simple images, banners, flash animations,
743       text pages, JavaScript, pop-ups and pop-unders, etc., so its not as
744       simple as just turning one or two actions off. The various actions that
745       make up <span class="APPLICATION">Privoxy</span> ad blocking are
746       hard-coded into the default configuration files. It has been assumed
747       that everyone using <span class="APPLICATION">Privoxy</span> is
748       interested in this particular feature.</p>
749
750       <p>If you want to do without this, there are several approaches you can
751       take: You can manually undo the many block rules in <tt class=
752       "FILENAME">default.action</tt>. Or even easier, just create your own
753       <tt class="FILENAME">default.action</tt> file from scratch without the
754       many ad blocking rules, and corresponding exceptions. Or lastly, if you
755       are not concerned about the additional blocks that are done for privacy
756       reasons, you can very easily over-ride <span class="emphasis"><i class=
757       "EMPHASIS">all</i></span> blocking with the following very simple rule
758       in your <tt class="FILENAME">user.action</tt>:</p>
759
760       <table border="0" bgcolor="#E0E0E0" width="100%">
761         <tr>
762           <td>
763             <pre class="SCREEN">
764  # Unblock everybody, everywhere
765  { <a href="../user-manual/actions-file.html#BLOCK" target=
766 "_top">-block</a> }
767  / # UN-Block *all* URLs
768 </pre>
769           </td>
770         </tr>
771       </table>
772
773       <p>Or even a more comprehensive reversing of various ad related
774       actions:</p>
775
776       <table border="0" bgcolor="#E0E0E0" width="100%">
777         <tr>
778           <td>
779             <pre class="SCREEN">
780  # Unblock everybody, everywhere, and turn off appropriate filtering, etc
781  { <a href="../user-manual/actions-file.html#BLOCK" target=
782 "_top">-block</a> \
783   <a href="../user-manual/actions-file.html#FILTER-BANNERS-BY-SIZE" target=
784 "_top">-filter{banners-by-size}</a> \
785   <a href="../user-manual/actions-file.html#FILTER-BANNERS-BY-LINK" target=
786 "_top">-filter{banners-by-link}</a> \
787   <tt class="LITERAL">allow-popups</tt> \
788  }
789  / # UN-Block *all* URLs and allow ads
790 </pre>
791           </td>
792         </tr>
793       </table>
794
795       <p>This last <span class="QUOTE">"action"</span> in this compound
796       statement, <tt class="LITERAL">allow-popups</tt>, is an <a href=
797       "../user-manual/actions-file.html#ALIASES" target="_top">alias</a> that
798       disables various pop-up blocking features.</p>
799     </div>
800
801     <div class="SECT2">
802       <h3 class="SECT2"><a name="TEMPLATES" id="TEMPLATES">3.29. How can I
803       have custom template pages, like the <span class="emphasis"><i class=
804       "EMPHASIS">BLOCKED</i></span> page?</a></h3>
805
806       <p><span class="APPLICATION">Privoxy</span> <span class=
807       "QUOTE">"templates"</span> are specialized text files utilized by
808       <span class="APPLICATION">Privoxy</span> for various purposes and can
809       easily be modified using any text editor. All the template pages are
810       installed in a sub-directory appropriately named: <tt class=
811       "FILENAME">templates</tt>. Knowing something about HTML syntax will of
812       course be helpful.</p>
813
814       <p>Be forewarned that the default templates are subject to being
815       overwritten during upgrades. You can, however, create completely new
816       templates, place them in another directory and specify the alternate
817       path in the main <tt class="FILENAME">config</tt>. For details, have a
818       look at the <a href="../user-manual/config.html#templdir" target=
819       "_top">templdir</a> option.</p>
820     </div>
821
822     <div class="SECT2">
823       <h3 class="SECT2"><a name="BLOCKALL" id="BLOCKALL">3.30. How can I
824       remove the <span class="QUOTE">"Go There Anyway"</span> link from the
825       <span class="emphasis"><i class="EMPHASIS">BLOCKED</i></span>
826       page?</a></h3>
827
828       <p>There is more than one way to do it (although Perl is not
829       involved).</p>
830
831       <p>Editing the BLOCKED template page (see above) may dissuade some
832       users, but this method is easily circumvented. Where you need this
833       level of control, you might want to build <span class=
834       "APPLICATION">Privoxy</span> from source, and disable various features
835       that are available as compile-time options. You should <b class=
836       "COMMAND">configure</b> the sources as follows:</p>
837
838       <table border="0" bgcolor="#E0E0E0" width="100%">
839         <tr>
840           <td>
841             <pre class="SCREEN">
842  ./configure  --disable-toggle  --disable-editor  --disable-force
843 </pre>
844           </td>
845         </tr>
846       </table>
847
848       <p>This will create an executable with hard-coded security features so
849       that <span class="APPLICATION">Privoxy</span> does not allow easy
850       bypassing of blocked sites, or changing the current configuration via
851       any connected user's web browser.</p>
852
853       <p>Finally, all of these features can also be toggled on/off via
854       options in <span class="APPLICATION">Privoxy's</span> main <a href=
855       "../user-manual/config.html#ACCESS-CONTROL" target="_top">config</a>
856       file which means you don't have to recompile anything.</p>
857     </div>
858   </div>
859
860   <div class="NAVFOOTER">
861     <hr align="left" width="100%">
862
863     <table summary="Footer navigation table" width="100%" border="0"
864     cellpadding="0" cellspacing="0">
865       <tr>
866         <td width="33%" align="left" valign="top"><a href="installation.html"
867         accesskey="P">Prev</a></td>
868
869         <td width="34%" align="center" valign="top"><a href="index.html"
870         accesskey="H">Home</a></td>
871
872         <td width="33%" align="right" valign="top"><a href="misc.html"
873         accesskey="N">Next</a></td>
874       </tr>
875
876       <tr>
877         <td width="33%" align="left" valign="top">Installation</td>
878
879         <td width="34%" align="center" valign="top">&nbsp;</td>
880
881         <td width="33%" align="right" valign="top">Miscellaneous</td>
882       </tr>
883     </table>
884   </div>
885 </body>
886 </html>