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