Bump copyright
[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 <html>
4 <head>
5   <title>Configuration</title>
6   <meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79">
7   <link rel="HOME" title="Privoxy Frequently Asked Questions" href="index.html">
8   <link rel="PREVIOUS" title="Installation" href="installation.html">
9   <link rel="NEXT" title="Miscellaneous" href="misc.html">
10   <link rel="STYLESHEET" type="text/css" href="../p_doc.css">
11   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
12 </head>
13 <body class="SECT1" bgcolor="#EEEEEE" text="#000000" link="#0000FF" vlink="#840084" alink="#0000FF">
14   <div class="NAVHEADER">
15     <table summary="Header navigation table" width="100%" border="0" cellpadding="0" cellspacing="0">
16       <tr>
17         <th colspan="3" align="center">Privoxy Frequently Asked Questions</th>
18       </tr>
19       <tr>
20         <td width="10%" align="left" valign="bottom"><a href="installation.html" accesskey="P">Prev</a></td>
21         <td width="80%" align="center" valign="bottom"></td>
22         <td width="10%" align="right" valign="bottom"><a href="misc.html" accesskey="N">Next</a></td>
23       </tr>
24     </table>
25     <hr align="left" width="100%">
26   </div>
27   <div class="SECT1">
28     <h1 class="SECT1"><a name="CONFIGURATION" id="CONFIGURATION">3. Configuration</a></h1>
29     <div class="SECT2">
30       <h3 class="SECT2"><a name="ACTIONSFILE" id="ACTIONSFILE">3.1. What exactly is an <span class=
31       "QUOTE">"actions"</span> file?</a></h3>
32       <p><span class="APPLICATION">Privoxy</span> utilizes the concept of <span class="QUOTE">" <a href=
33       "../user-manual/actions-file.html#ACTIONS" target="_top">actions</a>"</span> that are used to manipulate and
34       control web page data. <a href="../user-manual/actions-file.html" target="_top">Actions files</a> are where these
35       <a href="../user-manual/actions-file.html#ACTIONS" target="_top">actions</a> that <span class=
36       "APPLICATION">Privoxy</span> could take while processing a certain request, are configured. Typically, you would
37       define a set of default actions that apply globally to all URLs, then add exceptions to these defaults where
38       needed. There is a wide array of actions available that give the user a high degree of control and flexibility on
39       how to process each and every web page.</p>
40       <p>Actions can be defined on a <a href="../user-manual/actions-file.html#AF-PATTERNS" target="_top">URL
41       pattern</a> basis, i.e. for single URLs, whole web sites, groups or parts thereof etc. Actions can also be
42       grouped together and then applied to requests matching one or more patterns. There are many possible actions that
43       might apply to any given site. As an example, if you are blocking <a href=
44       "https://en.wikipedia.org/wiki/Browser_cookie" target="_top">cookies</a> as one of your default actions, but need
45       to accept cookies from a given site, you would need to define an exception for this site in one of your actions
46       files, preferably in <tt class="FILENAME">user.action</tt>.</p>
47     </div>
48     <div class="SECT2">
49       <h3 class="SECT2"><a name="ACTIONSS" id="ACTIONSS">3.2. The <span class="QUOTE">"actions"</span> concept confuses
50       me. Please list some of these <span class="QUOTE">"actions"</span>.</a></h3>
51       <p>For a comprehensive discussion of the actions concept, please refer to the <a href=
52       "../user-manual/actions-file.html" target="_top">actions file chapter</a> in the <a href=
53       "../user-manual/index.html" target="_top">User Manual</a>. It includes a <a href=
54       "../user-manual/actions-file.html#ACTIONS" target="_top">list of all actions</a> and an <a href=
55       "../user-manual/actions-file.html#ACT-EXAMPLES" target="_top">actions file tutorial</a> to get you started.</p>
56     </div>
57     <div class="SECT2">
58       <h3 class="SECT2"><a name="ACTCONFIG" id="ACTCONFIG">3.3. How are actions files configured? What is the easiest
59       way to do this?</a></h3>
60       <p>Actions files are just text files in a special syntax and can be edited with a text editor. But probably the
61       easiest way is to access <span class="APPLICATION">Privoxy</span>'s user interface with your web browser at
62       <a href="http://config.privoxy.org/" target="_top">http://config.privoxy.org/</a> (Shortcut: <a href=
63       "http://p.p/" target="_top">http://p.p/</a>) and then select <span class="QUOTE">"<a href=
64       "http://config.privoxy.org/show-status" target="_top">View &#38; change the current configuration</a>"</span>
65       from the menu. Note that this feature must be explicitly enabled in the main config file (see <a href=
66       "../user-manual/config.html#ENABLE-EDIT-ACTIONS" target="_top">enable-edit-actions</a>).</p>
67     </div>
68     <div class="SECT2">
69       <h3 class="SECT2"><a name="ACTIONFILE-DIFFERENCES" id="ACTIONFILE-DIFFERENCES">3.4. There are several different
70       <span class="QUOTE">"actions"</span> files. What are the differences?</a></h3>
71       <p>Please have a look at the <a href="../user-manual/actions-file.html" target="_top">the actions chapter</a> in
72       the <a href="../user-manual/index.html" target="_top">User Manual</a> for a detailed explanation.</p>
73     </div>
74     <div class="SECT2">
75       <h3 class="SECT2"><a name="GETUPDATES" id="GETUPDATES">3.5. Where can I get updated Actions Files?</a></h3>
76       <p>Based on your feedback and the continuing development, updates of <tt class="FILENAME">default.action</tt> are
77       available from <a href=
78       "https://www.privoxy.org/gitweb/?p=privoxy.git;a=blob_plain;f=default.action.master;hb=HEAD" target=
79       "_top">git</a>.</p>
80       <p>If you wish to receive an email notification whenever we release updates of <span class=
81       "APPLICATION">Privoxy</span> or the actions file, <a href=
82       "https://lists.privoxy.org/mailman/listinfo/privoxy-announce" target="_top">subscribe to our announce mailing
83       list</a>, privoxy-announce@lists.privoxy.org.</p>
84     </div>
85     <div class="SECT2">
86       <h3 class="SECT2"><a name="NEWCONFIG" id="NEWCONFIG">3.6. Can I use my old config files?</a></h3>
87       <p>The syntax and purpose of configuration files has remained roughly the same throughout the 3.x series, but
88       backwards compatibility is not guaranteed. Also each release contains updated, <span class=
89       "QUOTE">"improved"</span> versions and it is therefore strongly recommended to install the newer configuration
90       files and merge back your modifications.</p>
91     </div>
92     <div class="SECT2">
93       <h3 class="SECT2"><a name="DIFFICULT" id="DIFFICULT">3.7. Why is the configuration so complicated?</a></h3>
94       <p><span class="QUOTE">"Complicated"</span> is in the eye of the beholder.</p>
95       <p>Privoxy is currently mainly written by and for people who are already familiar with the underlying concepts
96       like regular expressions, HTTP and HTML, or are willing to become familiar with them to be able to get the most
97       out of a powerful and flexible tool such as Privoxy.</p>
98       <p>While everybody is expected to be able to get a Privoxy default installation up and running, fine-tuning
99       requires a certain amount of background information and Privoxy's documentation mainly concentrates on the
100       Privoxy-specific parts while only providing references to the rest.</p>
101       <p>If you or anyone you know has the skills, time and energy to reduce the barrier of entry, please <a href=
102       "general.html#PARTICIPATE">get involved</a>.</p>
103     </div>
104     <div class="SECT2">
105       <h3 class="SECT2"><a name="YAHOO" id="YAHOO">3.8. How can I make my Yahoo/Hotmail/Gmail account work?</a></h3>
106       <p>The default configuration shouldn't impact the usability of any of these services. It may, however, make all
107       <a href="https://en.wikipedia.org/wiki/Browser_cookie" target="_top">cookies</a> temporary, so that your browser
108       will forget your login credentials in between browser sessions. If you would like not to have to log in manually
109       each time you access those websites, simply turn off all cookie handling for them in the <tt class=
110       "FILENAME">user.action</tt> file. An example for yahoo might look like:</p>
111       <table border="0" bgcolor="#E0E0E0" width="100%">
112         <tr>
113           <td>
114             <pre class="SCREEN">  # Allow all cookies for Yahoo login:
115   #
116   { -<a href="../user-manual/actions-file.html#CRUNCH-INCOMING-COOKIES" target=
117 "_top">crunch-incoming-cookies</a> -<a href="../user-manual/actions-file.html#CRUNCH-OUTGOING-COOKIES" target=
118 "_top">crunch-outgoing-cookies</a> -<a href="../user-manual/actions-file.html#SESSION-COOKIES-ONLY" target=
119 "_top">session-cookies-only</a> }
120   .login.yahoo.com</pre>
121           </td>
122         </tr>
123       </table>
124       <p>These kinds of sites are often quite complex and heavy with <a href="https://en.wikipedia.org/wiki/Javascript"
125       target="_top">Javascript</a> and thus <span class="QUOTE">"fragile"</span>. So if <span class=
126       "emphasis"><i class="EMPHASIS">still</i></span> a problem, we have an <a href=
127       "../user-manual/actions-file.html#ALIASES" target="_top">alias</a> just for such sticky situations:</p>
128       <table border="0" bgcolor="#E0E0E0" width="100%">
129         <tr>
130           <td>
131             <pre class="SCREEN">  # Gmail is a _fragile_ site:
132   #
133   { <tt class="LITERAL">fragile</tt> }
134   # Gmail is ...
135   mail.google.com</pre>
136           </td>
137         </tr>
138       </table>
139       <p>Be sure to flush your browser's caches whenever making these kinds of changes, just to make sure the changes
140       <span class="QUOTE">"take"</span>.</p>
141       <p>Make sure the domain, host and path are appropriate as well. Your browser can tell you where you are
142       specifically and you should use that information for your configuration settings. Note that above it is not
143       referenced as <tt class="LITERAL">gmail.com</tt>, which is a valid domain name.</p>
144     </div>
145     <div class="SECT2">
146       <h3 class="SECT2"><a name="CONFIGFILES" id="CONFIGFILES">3.9. What's the difference between the <span class=
147       "QUOTE">"Cautious"</span>, <span class="QUOTE">"Medium"</span> and <span class="QUOTE">"Advanced"</span>
148       defaults?</a></h3>
149       <p>Configuring <span class="APPLICATION">Privoxy</span> is not entirely trivial. To help you get started, we
150       provide you with three different default action <span class="QUOTE">"profiles"</span> in the web based actions
151       file editor at <a href="http://config.privoxy.org/show-status" target=
152       "_top">http://config.privoxy.org/show-status</a>. See the <a href="../user-manual/actions-file.html" target=
153       "_top"><i class="CITETITLE">User Manual</i></a> for a list of actions, and how the default profiles are set.</p>
154       <p>Where the defaults are likely to break some sites, exceptions for known popular <span class=
155       "QUOTE">"problem"</span> sites are included, but in general, the more aggressive your default settings are, the
156       more exceptions you will have to make later. New users are best to start off in <span class=
157       "QUOTE">"Cautious"</span> setting. This is safest and will have the fewest problems. See the <a href=
158       "../user-manual/index.html" target="_top"><i class="CITETITLE">User Manual</i></a> for a more detailed
159       discussion.</p>
160       <p>It should be noted that the <span class="QUOTE">"Advanced"</span> profile (formerly known as the <span class=
161       "QUOTE">"Adventuresome"</span> profile) is more aggressive, and will make use of some of <span class=
162       "APPLICATION">Privoxy's</span> advanced features. Use at your own risk!</p>
163     </div>
164     <div class="SECT2">
165       <h3 class="SECT2"><a name="BROWSECONFIG" id="BROWSECONFIG">3.10. Why can I change the configuration with a
166       browser? Does that not raise security issues?</a></h3>
167       <p>It may seem strange that regular users can edit the config files with their browsers, although the whole
168       <tt class="FILENAME">/etc/privoxy</tt> hierarchy belongs to the user <span class="QUOTE">"privoxy"</span>, with
169       only 644 permissions.</p>
170       <p>When you use the browser-based editor, <span class="APPLICATION">Privoxy</span> itself is writing to the
171       config files. Because <span class="APPLICATION">Privoxy</span> is running as the user <span class=
172       "QUOTE">"privoxy"</span>, it can update its own config files.</p>
173       <p>If you run <span class="APPLICATION">Privoxy</span> for multiple untrusted users (e.g. in a LAN) or aren't
174       entirely in control of your own browser, you will probably want to make sure that the web-based editor and remote
175       toggle features are <span class="QUOTE">"off"</span> by setting <span class="QUOTE">"<tt class="LITERAL"><a href=
176       "../user-manual/config.html#ENABLE-EDIT-ACTIONS" target="_top">enable-edit-actions</a> 0</tt>"</span> and
177       <span class="QUOTE">"<tt class="LITERAL"><a href="../user-manual/config.html#ENABLE-REMOTE-TOGGLE" target=
178       "_top">enable-remote-toggle</a> 0</tt>"</span> in the <a href="../user-manual/config.html" target="_top">main
179       configuration file</a>.</p>
180       <p>As of <span class="APPLICATION">Privoxy</span> 3.0.7 these options are disabled by default.</p>
181     </div>
182     <div class="SECT2">
183       <h3 class="SECT2"><a name="FILTERFILE" id="FILTERFILE">3.11. What is the <tt class="FILENAME">default.filter</tt>
184       file? What is a <span class="QUOTE">"filter"</span>?</a></h3>
185       <p>The <a href="../user-manual/filter-file.html" target="_top"><tt class="FILENAME">default.filter</tt></a> file
186       is where <span class="emphasis"><i class="EMPHASIS">filters</i></span> as supplied by the developers are defined.
187       Filters are a special subset of actions that can be used to modify or remove web page content or headers on the
188       fly. Content filters can be applied to <span class="emphasis"><i class="EMPHASIS">anything</i></span> in the page
189       source, header filters can be applied to either server or client headers. Regular expressions are used to
190       accomplish this.</p>
191       <p>There are a number of pre-defined filters to deal with common annoyances. The filters are only defined here,
192       to invoke them, you need to use the <a href="../user-manual/actions-file.html#FILTER" target="_top"><tt class=
193       "LITERAL">filter</tt> action</a> in one of the actions files. Content filtering is automatically disabled for
194       inappropriate MIME types, but if you know better than Privoxy what should or should not be filtered you can
195       filter any content you like.</p>
196       <p>Filters should <span class="emphasis"><i class="EMPHASIS">not</i></span> be confused with <a href=
197       "../user-manual/actions-file.html#BLOCK" target="_top"><tt class="LITERAL">blocks</tt></a>, which is a completely
198       different action, and is more typically used to block ads and unwanted sites.</p>
199       <p>If you are familiar with regular expressions, and HTML, you can look at the provided <tt class=
200       "FILENAME">default.filter</tt> with a text editor and define your own filters. This is potentially a very
201       powerful feature, but requires some expertise in both regular expressions and HTML/HTTP. You should place any
202       modifications to the default filters, or any new ones you create in a separate file, such as <tt class=
203       "FILENAME">user.filter</tt>, so they won't be overwritten during upgrades. The ability to define multiple filter
204       files in <tt class="FILENAME">config</tt> is a new feature as of v. 3.0.5.</p>
205       <p>There is no GUI editor option for this part of the configuration, but you can disable/enable the various
206       pre-defined filters of the included <tt class="FILENAME">default.filter</tt> file with the <a href=
207       "http://config.privoxy.org/show-status" target="_top">web-based actions file editor</a>. Note that the custom
208       actions editor must be explicitly enabled in the main config file (see <a href=
209       "../user-manual/config.html#ENABLE-EDIT-ACTIONS" target="_top">enable-edit-actions</a>).</p>
210       <p>If you intend to develop your own filters, you might want to have a look at <a href=
211       "https://www.fabiankeil.de/sourcecode/pft/" target="_top">Privoxy-Filter-Test</a>.</p>
212     </div>
213     <div class="SECT2">
214       <h3 class="SECT2"><a name="LANCONFIG" id="LANCONFIG">3.12. How can I set up Privoxy to act as a proxy for my
215       LAN?</a></h3>
216       <p>By default, <span class="APPLICATION">Privoxy</span> only responds to requests from <tt class=
217       "LITERAL"></tt> (localhost). To have it act as a server for a network, this needs to be changed in the
218       <a href="../user-manual/config.html" target="_top">main configuration file</a>. Look for the <tt class=
219       "LITERAL"><a href="../user-manual/config.html#LISTEN-ADDRESS" target="_top">listen-address</a></tt> option, which
220       may be commented out with a <span class="QUOTE">"#"</span> symbol. Make sure it is uncommented, and assign it the
221       address of the LAN gateway interface, and port number to use. Assuming your LAN address is and you
222       wish to run <span class="APPLICATION">Privoxy</span> on port 8118, this line should look like:</p>
223       <table border="0" bgcolor="#E0E0E0" width="100%">
224         <tr>
225           <td>
226             <pre class="SCREEN">  listen-address</pre>
227           </td>
228         </tr>
229       </table>
230       <p>Save the file, and restart <span class="APPLICATION">Privoxy</span>. Configure all browsers on the network
231       then to use this address and port number.</p>
232       <p>Alternately, you can have <span class="APPLICATION">Privoxy</span> listen on all available interfaces:</p>
233       <table border="0" bgcolor="#E0E0E0" width="100%">
234         <tr>
235           <td>
236             <pre class="SCREEN">  listen-address    :8118</pre>
237           </td>
238         </tr>
239       </table>
240       <p>And then use <span class="APPLICATION">Privoxy's</span> <a href="../user-manual/config.html#PERMIT-ACCESS"
241       target="_top">permit-access</a> feature to limit connections. A firewall in this situation is recommended as
242       well.</p>
243       <p>The above steps should be the same for any TCP network, regardless of operating system.</p>
244       <p>If you run <span class="APPLICATION">Privoxy</span> on a LAN with untrusted users, we recommend that you
245       double-check the <a href="../user-manual/config.html#ACCESS-CONTROL" target="_top">access control and
246       security</a> options!</p>
247     </div>
248     <div class="SECT2">
249       <h3 class="SECT2"><a name="NOSEEUM" id="NOSEEUM">3.13. Instead of ads, now I get a checkerboard pattern. I don't
250       want to see anything.</a></h3>
251       <p>The replacement for blocked images can be controlled with the <a href=
252       "../user-manual/actions-file.html#SET-IMAGE-BLOCKER" target="_top"><tt class="LITERAL">set-image-blocker</tt>
253       action</a>. You have the choice of a checkerboard pattern, a transparent 1x1 GIF image (aka <span class=
254       "QUOTE">"blank"</span>), or a redirect to a custom image of your choice. Note that this choice only has effect
255       for images which are blocked as images, i.e. whose URLs match both a <tt class="LITERAL"><a href=
256       "../user-manual/actions-file.html#HANDLE-AS-IMAGE" target="_top">handle-as-image</a></tt> <span class=
257       "emphasis"><i class="EMPHASIS">and</i></span> <tt class="LITERAL"><a href=
258       "../user-manual/actions-file.html#BLOCK" target="_top">block</a></tt> action.</p>
259       <p>If you want to see nothing, then change the <a href="../user-manual/actions-file.html#SET-IMAGE-BLOCKER"
260       target="_top"><tt class="LITERAL">set-image-blocker</tt> action</a> to <span class="QUOTE">"blank"</span>. This
261       can be done by editing the <tt class="FILENAME">user.action</tt> file, or through the <a href=
262       "http://config.privoxy.org/show-status" target="_top">web-based actions file editor</a>.</p>
263     </div>
264     <div class="SECT2">
265       <h3 class="SECT2"><a name="WHYSEEUM" id="WHYSEEUM">3.14. Why would anybody want to see a checkerboard
266       pattern?</a></h3>
267       <p>Remember that <a href="general.html#WHATSANAD">telling which image is an ad and which isn't</a>, is an
268       educated guess. While we hope that the standard configuration is rather smart, it will make occasional mistakes.
269       The checkerboard image is visually decent, and it shows you where images have been blocked, which can be very
270       helpful in case some navigation aid or otherwise innocent image was erroneously blocked. It is recommended for
271       new users so they can <span class="QUOTE">"see"</span> what is happening. Some people might also enjoy seeing how
272       many banners they <span class="emphasis"><i class="EMPHASIS">don't</i></span> have to see.</p>
273     </div>
274     <div class="SECT2">
275       <h3 class="SECT2"><a name="BLOCKEDBYTEXT" id="BLOCKEDBYTEXT">3.15. I see some images being replaced with text
276       instead of the checkerboard image. Why and how do I get rid of this?</a></h3>
277       <p>This happens when the banners are not embedded in the HTML code of the page itself, but in separate HTML
278       (sub)documents that are loaded into (i)frames or (i)layers, and these external HTML documents are blocked. Being
279       non-images they get replaced by a substitute HTML page rather than a substitute image, which wouldn't work out
280       technically, since the browser expects and accepts only HTML when it has requested an HTML document.</p>
281       <p>The substitute page adapts to the available space and shows itself as a miniature two-liner if loaded into
282       small frames, or full-blown with a large red "BLOCKED" banner if space allows.</p>
283       <p>If you prefer the banners to be blocked by images, you must see to it that the HTML documents in which they
284       are embedded are not blocked. Clicking the <span class="QUOTE">"See why"</span> link offered in the substitute
285       page will show you which rule blocked the page. After changing the rule and un-blocking the HTML documents, the
286       browser will try to load the actual banner images and the usual image blocking will (hopefully!) kick in.</p>
287     </div>
288     <div class="SECT2">
289       <h3 class="SECT2"><a name="SRVANY" id="SRVANY">3.16. Can Privoxy run as a service on Win2K/NT/XP?</a></h3>
290       <p>Yes. Full <span class="APPLICATION">Windows</span> service functionality was introduced in <span class=
291       "APPLICATION">Privoxy</span> 3.0.5. See <a href="../user-manual/installation.html#INSTALLATION-PACK-WIN" target=
292       "_top">the <i class="CITETITLE">User Manual</i></a> for details on how to install and configure <span class=
293       "APPLICATION">Privoxy</span> as a service.</p>
294     </div>
295     <div class="SECT2">
296       <h3 class="SECT2"><a name="OTHERPROXY" id="OTHERPROXY">3.17. How can I make Privoxy work with other
297       proxies?</a></h3>
298       <p>This can be done and is often useful to combine the benefits of <span class="APPLICATION">Privoxy</span> with
299       those of a another proxy, for example to cache content. See the <a href="../user-manual/config.html#FORWARDING"
300       target="_top">forwarding chapter</a> in the <a href="../user-manual/index.html" target="_top">User Manual</a>
301       which describes how to do this. If you intend to use Privoxy with Tor, please also have a look at <a href=
302       "misc.html#TOR">How do I use Privoxy together with Tor</a>.</p>
303     </div>
304     <div class="SECT2">
305       <h3 class="SECT2"><a name="PORT-80" id="PORT-80">3.18. Can I just set Privoxy to use port 80 and thus avoid
306       individual browser configuration?</a></h3>
307       <p>No, its more complicated than that. This only works with special kinds of proxies known as <span class=
308       "QUOTE">"intercepting"</span> proxies (<a href="configuration.html#INTERCEPTING">see below</a>).</p>
309     </div>
310     <div class="SECT2">
311       <h3 class="SECT2"><a name="TRANSPARENT" id="TRANSPARENT">3.19. Can Privoxy run as a <span class=
312       "QUOTE">"transparent"</span> proxy?</a></h3>
313       <p>The whole idea of Privoxy is to modify client requests and server responses in all sorts of ways and therefore
314       it's not a transparent proxy as described in <a href="https://tools.ietf.org/html/rfc2616" target="_top">RFC
315       2616</a>.</p>
316       <p>However, some people say <span class="QUOTE">"transparent proxy"</span> when they mean <span class=
317       "QUOTE">"intercepting proxy"</span>. If you are one of them, please read the <a href=
318       "configuration.html#INTERCEPTING">next entry</a>.</p>
319     </div>
320     <div class="SECT2">
321       <h3 class="SECT2"><a name="INTERCEPTING" id="INTERCEPTING">3.20. Can Privoxy run as a <span class=
322       "QUOTE">"intercepting"</span> proxy?</a></h3>
323       <p><span class="APPLICATION">Privoxy</span> can't intercept traffic itself, but it can handle requests that where
324       intercepted and redirected with a packet filter (like <span class="APPLICATION">PF</span> or <span class=
325       "APPLICATION">iptables</span>), as long as the <tt class="LITERAL">Host</tt> header is present.</p>
326       <p>As the <tt class="LITERAL">Host</tt> header is required by HTTP/1.1 and as most web sites rely on it anyway,
327       this limitation shouldn't be a problem.</p>
328       <p>Please refer to your packet filter's documentation to learn how to intercept and redirect traffic into
329       <span class="APPLICATION">Privoxy</span>. Afterward you just have to configure <span class=
330       "APPLICATION">Privoxy</span> to <a href="../user-manual/config.html#ACCEPT-INTERCEPTED-REQUESTS" target=
331       "_top">accept intercepted requests</a>.</p>
332     </div>
333     <div class="SECT2">
334       <h3 class="SECT2"><a name="OUTLOOK" id="OUTLOOK">3.21. How can I configure Privoxy for use with Outlook?</a></h3>
335       <p>Versions of <span class="APPLICATION">Outlook</span> prior to Office 2007, use <span class=
336       "APPLICATION">Internet Explorer</span> components to both render HTML, and fetch any HTTP requests that may be
337       embedded in an HTML email. So however you have <span class="APPLICATION">Privoxy</span> configured to work with
338       IE, this configuration should automatically be shared, at least with older version of Internet Explorer.</p>
339       <p>Starting with Office 2007, Microsoft is instead using the MS-Word rendering engine with Outlook. It is unknown
340       whether this can be configured to use a proxy.</p>
341     </div>
342     <div class="SECT2">
343       <h3 class="SECT2"><a name="OUTLOOK-MORE" id="OUTLOOK-MORE">3.22. How can I have separate rules just for HTML
344       mail?</a></h3>
345       <p>The short answer is, you can't. <span class="APPLICATION">Privoxy</span> has no way of knowing which
346       particular application makes a request, so there is no way to distinguish between web pages and HTML mail.
347       <span class="APPLICATION">Privoxy</span> just blindly proxies all requests. In the case of <span class=
348       "APPLICATION">Outlook Express</span> (see above), OE uses IE anyway, and there is no way for <span class=
349       "APPLICATION">Privoxy</span> to ever be able to distinguish between them (nor could any other proxy type
350       application for that matter).</p>
351       <p>For a good discussion of some of the issues involved (including privacy and security issues), see <a href=
352       "https://sourceforge.net/p/ijbswa/support-requests/107/" target=
353       "_top">https://sourceforge.net/p/ijbswa/support-requests/107/</a>.</p>
354     </div>
355     <div class="SECT2">
356       <h3 class="SECT2"><a name="SNEAKY-COOKIES" id="SNEAKY-COOKIES">3.23. I sometimes notice cookies sneaking through.
357       How?</a></h3>
358       <p><a href="https://en.wikipedia.org/wiki/Browser_cookie" target="_top">Cookies</a> can be set in several ways.
359       The classic method is via the <tt class="LITERAL">Set-Cookie</tt> HTTP header. This is straightforward, and an
360       easy one to manipulate, such as the <span class="APPLICATION">Privoxy</span> concept of <a href=
361       "../user-manual/actions-file.html#SESSION-COOKIES-ONLY" target="_top">session-cookies-only</a>. There is also the
362       possibility of using <a href="https://en.wikipedia.org/wiki/Javascript" target="_top">Javascript</a> to set
363       cookies (<span class="APPLICATION">Privoxy</span> calls these <tt class="LITERAL">content-cookies</tt>). This is
364       trickier because the syntax can vary widely, and thus requires a certain amount of guesswork. It is not realistic
365       to catch all of these short of disabling Javascript, which would break many sites. And lastly, if the cookies are
366       embedded in a HTTPS/SSL secure session via Javascript, they are beyond <span class="APPLICATION">Privoxy's</span>
367       reach unless you enable <a href="../user-manual/actions-file.html#HTTPS-INSPECTION" target=
368       "_top">https-inspection</a>.</p>
369       <p>All in all, <span class="APPLICATION">Privoxy</span> can help manage cookies in general, can help minimize the
370       loss of privacy posed by cookies, but can't realistically stop all cookies.</p>
371     </div>
372     <div class="SECT2">
373       <h3 class="SECT2"><a name="EVIL-COOKIES" id="EVIL-COOKIES">3.24. Are all cookies bad? Why?</a></h3>
374       <p>No, in fact there are many beneficial uses of <a href="https://en.wikipedia.org/wiki/Browser_cookie" target=
375       "_top">cookies</a>. Cookies are just a method that browsers can use to store data between pages, or between
376       browser sessions. Sometimes there is a good reason for this, and the user's life is a bit easier as a result. But
377       there is a long history of some websites taking advantage of this layer of trust, and using the data they glean
378       from you and your browsing habits for their own purposes, and maybe to your potential detriment. Such sites are
379       using you and storing their data on your system. That is why the privacy conscious watch from whom those cookies
380       come, and why they really <span class="emphasis"><i class="EMPHASIS">need</i></span> to be there.</p>
381       <p>See the <a href="https://en.wikipedia.org/wiki/Browser_cookie" target="_top">Wikipedia cookie definition</a>
382       for more.</p>
383     </div>
384     <div class="SECT2">
385       <h3 class="SECT2"><a name="ALLOW-COOKIES" id="ALLOW-COOKIES">3.25. How can I allow permanent cookies for my
386       trusted sites?</a></h3>
387       <p>There are several actions that relate to cookies. The default behavior is to allow only <span class=
388       "QUOTE">"session cookies"</span>, which means the cookies only last for the current browser session. This
389       eliminates most kinds of abuse related to cookies. But there may be cases where you want cookies to last.</p>
390       <p>To disable all cookie actions, so that cookies are allowed unrestricted, both in and out, for <tt class=
391       "LITERAL">example.com</tt>:</p>
392       <table border="0" bgcolor="#E0E0E0" width="100%">
393         <tr>
394           <td>
395             <pre class=
396             "SCREEN">  { -crunch-incoming-cookies -crunch-outgoing-cookies -session-cookies-only -filter{content-cookies} }
397   .example.com</pre>
398           </td>
399         </tr>
400       </table>
401       <p>Place the above in <tt class="FILENAME">user.action</tt>. Note that some of these may be off by default
402       anyway, so this might be redundant, but there is no harm being explicit in what you want to happen. <tt class=
403       "FILENAME">user.action</tt> includes an alias for this situation, called <tt class=
404       "LITERAL">allow-all-cookies</tt>.</p>
405     </div>
406     <div class="SECT2">
407       <h3 class="SECT2"><a name="MULTIPLES" id="MULTIPLES">3.26. Can I have separate configurations for different
408       users?</a></h3>
409       <p>Each instance of <span class="APPLICATION">Privoxy</span> has its own configuration, including such attributes
410       as the TCP port that it listens on. What you can do is run multiple instances of <span class=
411       "APPLICATION">Privoxy</span>, each with a unique <a href="../user-manual/config.html#LISTEN-ADDRESS" target=
412       "_top">listen-address</a> configuration setting, and configuration path, and then each of these can have their
413       own configurations. Think of it as per-port configuration.</p>
414       <p>Simple enough for a few users, but for large installations, consider having groups of users that might share
415       like configurations.</p>
416     </div>
417     <div class="SECT2">
418       <h3 class="SECT2"><a name="WHITELISTS" id="WHITELISTS">3.27. Can I set-up Privoxy as a whitelist of <span class=
419       "QUOTE">"good"</span> sites?</a></h3>
420       <p>Sure. There are a couple of things you can do for simple white-listing. Here's one real easy one:</p>
421       <table border="0" bgcolor="#E0E0E0" width="100%">
422         <tr>
423           <td>
424             <pre class="SCREEN">  ############################################################
425   # Blacklist
426   ############################################################
427   { <a href="../user-manual/actions-file.html#BLOCK" target="_top">+block</a> }
428   / # Block *all* URLs
430   ############################################################
431   # Whitelist
432   ############################################################
433   { <a href="../user-manual/actions-file.html#BLOCK" target="_top">-block</a> }
434   kids.example.com
435   toys.example.com
436   games.example.com</pre>
437           </td>
438         </tr>
439       </table>
440       <p>This allows access to only those three sites by first blocking all URLs, and then subsequently allowing three
441       specific exceptions.</p>
442       <p>Another approach is <span class="APPLICATION">Privoxy's</span> <tt class="LITERAL">trustfile</tt> concept,
443       which incorporates the notion of <span class="QUOTE">"trusted referrers"</span>. See the <a href=
444       "../user-manual/config.html#TRUSTFILE" target="_top">Trust documentation</a> for details.</p>
445       <p>These are fairly simple approaches and are not completely foolproof. There are various other configuration
446       options that should be disabled (described elsewhere here and in <a href="../user-manual/" target="_top">the User
447       Manual</a>) so that users can't modify their own configuration and easily circumvent the whitelist.</p>
448     </div>
449     <div class="SECT2">
450       <h3 class="SECT2"><a name="NO-ADBLOCK" id="NO-ADBLOCK">3.28. How can I turn off ad-blocking?</a></h3>
451       <p>Ad blocking is achieved through a complex application of various <span class="APPLICATION">Privoxy</span>
452       <a href="../user-manual/actions-file.html" target="_top">actions</a>. These actions are deployed against simple
453       images, banners, flash animations, text pages, JavaScript, pop-ups and pop-unders, etc., so its not as simple as
454       just turning one or two actions off. The various actions that make up <span class="APPLICATION">Privoxy</span> ad
455       blocking are hard-coded into the default configuration files. It has been assumed that everyone using
456       <span class="APPLICATION">Privoxy</span> is interested in this particular feature.</p>
457       <p>If you want to do without this, there are several approaches you can take: You can manually undo the many
458       block rules in <tt class="FILENAME">default.action</tt>. Or even easier, just create your own <tt class=
459       "FILENAME">default.action</tt> file from scratch without the many ad blocking rules, and corresponding
460       exceptions. Or lastly, if you are not concerned about the additional blocks that are done for privacy reasons,
461       you can very easily over-ride <span class="emphasis"><i class="EMPHASIS">all</i></span> blocking with the
462       following very simple rule in your <tt class="FILENAME">user.action</tt>:</p>
463       <table border="0" bgcolor="#E0E0E0" width="100%">
464         <tr>
465           <td>
466             <pre class="SCREEN">  # Unblock everybody, everywhere
467   { <a href="../user-manual/actions-file.html#BLOCK" target="_top">-block</a> }
468   / # UN-Block *all* URLs</pre>
469           </td>
470         </tr>
471       </table>
472       <p>Or even a more comprehensive reversing of various ad related actions:</p>
473       <table border="0" bgcolor="#E0E0E0" width="100%">
474         <tr>
475           <td>
476             <pre class="SCREEN">  # Unblock everybody, everywhere, and turn off appropriate filtering, etc
477   { <a href="../user-manual/actions-file.html#BLOCK" target="_top">-block</a> \
478     <a href="../user-manual/actions-file.html#FILTER-BANNERS-BY-SIZE" target="_top">-filter{banners-by-size}</a> \
479     <a href="../user-manual/actions-file.html#FILTER-BANNERS-BY-LINK" target="_top">-filter{banners-by-link}</a> \
480     <tt class="LITERAL">allow-popups</tt> \
481   }
482   / # UN-Block *all* URLs and allow ads</pre>
483           </td>
484         </tr>
485       </table>
486       <p>This last <span class="QUOTE">"action"</span> in this compound statement, <tt class=
487       "LITERAL">allow-popups</tt>, is an <a href="../user-manual/actions-file.html#ALIASES" target="_top">alias</a>
488       that disables various pop-up blocking features.</p>
489     </div>
490     <div class="SECT2">
491       <h3 class="SECT2"><a name="TEMPLATES" id="TEMPLATES">3.29. How can I have custom template pages, like the
492       <span class="emphasis"><i class="EMPHASIS">BLOCKED</i></span> page?</a></h3>
493       <p><span class="APPLICATION">Privoxy</span> <span class="QUOTE">"templates"</span> are specialized text files
494       utilized by <span class="APPLICATION">Privoxy</span> for various purposes and can easily be modified using any
495       text editor. All the template pages are installed in a sub-directory appropriately named: <tt class=
496       "FILENAME">templates</tt>. Knowing something about HTML syntax will of course be helpful.</p>
497       <p>Be forewarned that the default templates are subject to being overwritten during upgrades. You can, however,
498       create completely new templates, place them in another directory and specify the alternate path in the main
499       <tt class="FILENAME">config</tt>. For details, have a look at the <a href="../user-manual/config.html#TEMPLDIR"
500       target="_top">templdir</a> option.</p>
501     </div>
502     <div class="SECT2">
503       <h3 class="SECT2"><a name="BLOCKALL" id="BLOCKALL">3.30. How can I remove the <span class="QUOTE">"Go There
504       Anyway"</span> link from the <span class="emphasis"><i class="EMPHASIS">BLOCKED</i></span> page?</a></h3>
505       <p>There is more than one way to do it (although Perl is not involved).</p>
506       <p>Editing the BLOCKED template page (see above) may dissuade some users, but this method is easily circumvented.
507       Where you need this level of control, you might want to build <span class="APPLICATION">Privoxy</span> from
508       source, and disable various features that are available as compile-time options. You should <b class=
509       "COMMAND">configure</b> the sources as follows:</p>
510       <table border="0" bgcolor="#E0E0E0" width="100%">
511         <tr>
512           <td>
513             <pre class="SCREEN">  ./configure  --disable-toggle  --disable-editor  --disable-force</pre>
514           </td>
515         </tr>
516       </table>
517       <p>This will create an executable with hard-coded security features so that <span class=
518       "APPLICATION">Privoxy</span> does not allow easy bypassing of blocked sites, or changing the current
519       configuration via any connected user's web browser.</p>
520       <p>Finally, all of these features can also be toggled on/off via options in <span class=
521       "APPLICATION">Privoxy's</span> main <a href="../user-manual/config.html#ACCESS-CONTROL" target="_top">config</a>
522       file which means you don't have to recompile anything.</p>
523     </div>
524   </div>
525   <div class="NAVFOOTER">
526     <hr align="left" width="100%">
527     <table summary="Footer navigation table" width="100%" border="0" cellpadding="0" cellspacing="0">
528       <tr>
529         <td width="33%" align="left" valign="top"><a href="installation.html" accesskey="P">Prev</a></td>
530         <td width="34%" align="center" valign="top"><a href="index.html" accesskey="H">Home</a></td>
531         <td width="33%" align="right" valign="top"><a href="misc.html" accesskey="N">Next</a></td>
532       </tr>
533       <tr>
534         <td width="33%" align="left" valign="top">Installation</td>
535         <td width="34%" align="center" valign="top">&nbsp;</td>
536         <td width="33%" align="right" valign="top">Miscellaneous</td>
537       </tr>
538     </table>
539   </div>
540 </body>
541 </html>