This includes yet several more new FAQs, some improved wording, enhanced
[privoxy.git] / doc / source / faq.sgml
1 <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN"[
2 <!entity % dummy "IGNORE"> 
3 <!entity supported SYSTEM "supported.sgml">
4 <!entity newfeatures SYSTEM "newfeatures.sgml">
5 <!entity p-intro SYSTEM "privoxy.sgml">
6 <!entity seealso SYSTEM "seealso.sgml">
7 <!entity contacting SYSTEM "contacting.sgml">
8 <!entity history SYSTEM "history.sgml">
9 <!entity copyright SYSTEM "copyright.sgml">
10 <!entity license SYSTEM "license.sgml">
11 <!entity p-version "3.0.4">
12 <!entity p-status "beta">
13 <!entity % p-not-stable "INCLUDE">
14 <!entity % p-stable "IGNORE">
15 <!entity % p-text "IGNORE">        <!-- define we are not a text only doc -->
16 <!entity % p-doc "INCLUDE">        <!-- and we are a formal doc           -->
17 <!entity % p-supp-userman "INCLUDE"> <!-- Include all from supported.sgml -->
18 <!entity  my-copy "&copy;">          <!-- kludge for docbook2man          -->
19 <!entity % p-newstuff "INCLUDE">      <!-- exclude stuff from devel versions -->
20 <!entity  my-app "<application>Privoxy</application>">
21 ]>
22 <!--
23  File        :  $Source: /cvsroot/ijbswa/current/doc/source/faq.sgml,v $
24
25  Purpose     :  FAQ
26                 This file belongs into
27                 ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/
28                 
29  $Id: faq.sgml,v 2.16 2006/09/10 15:30:46 hal9 Exp $
30
31  Copyright (C) 2001-2006 Privoxy Developers http://privoxy.org
32  See LICENSE.
33
34  Based partially on the Internet Junkbuster FAQ originally written by and
35  Copyright (C) 1997 Anonymous Coders and Junkbusters Corporation.
36  http://www.junkbusters.com/
37
38  <Qandaset defaultlabel='qanda'>
39   <QandAEntry>
40    <question>
41     <para> 
42      How are you?
43     </para>
44    </question>
45    <answer>
46     <para> 
47      Fine.
48     </para>
49    </answer>
50   </QandAEntry>
51  </QandASet>
52
53  ========================================================================
54  NOTE: Please read developer-manual/documentation.html before touching 
55  this file!
56
57  Please we keep the info in this file as version independent as possible 
58  so we only have to maintain one FAQ. Where significant changes are 
59  made to Privoxy configuration, please note the change in such a way that 
60  it makes sense to both users of older and newer versions.
61  ========================================================================
62
63
64 -->
65
66
67 <article id="index" class="faq">
68 <artheader>
69 <title>Privoxy Frequently Asked Questions</title>
70
71 <pubdate>
72  <subscript>
73 <!-- Completely the wrong markup, but very little is allowed  -->
74 <!-- in this part of an article. FIXME -->
75  <link linkend="copyright">Copyright</link> &my-copy; 2001-2006 by 
76  <ulink url="http://www.privoxy.org">Privoxy Developers</ulink>
77  </subscript>
78 </pubdate>
79
80 <pubdate>$Id: faq.sgml,v 2.16 2006/09/10 15:30:46 hal9 Exp $</pubdate>
81
82 <!--
83
84 Note: this should generate a separate page, and a live link to it. 
85 But it doesn't for some mysterious reason. Please leave commented
86 unless it can be fixed proper. For the time being, the copyright 
87 statement will be in copyright.smgl.
88
89 Hal.
90
91 <legalnotice id="legalnotice"> 
92  <para>
93   text goes here ........
94  </para>
95 </legalnotice>
96
97 -->
98
99 <!--
100 <authorgroup>
101  <author>
102   <affiliation>
103    <orgname>By: Privoxy Developers</orgname>
104    </affiliation>
105  </author>
106 </authorgroup>
107 -->
108 <abstract>
109 <![%dummy;[
110 <para>
111  <comment>
112   This is here to keep vim syntax file from breaking :/
113   If I knew enough to fix it, I would.
114   PLEASE DO NOT REMOVE! HB: hal@foobox.net
115  </comment>
116 </para>
117 ]]>
118  <para>
119  This FAQ gives quick answers to frequently asked  questions about
120  <ulink url="http://www.privoxy.org/">Privoxy</ulink>.
121  It is not a substitute for the 
122  <ulink url="../user-manual/index.html"><citetitle>Privoxy User Manual</citetitle></ulink>.
123 <!-- 
124  This works, at least in some situtations:
125  Test: <ulink url="privoxy-user-manual.pdf"><citetitle>User Manual</citetitle></ulink>.
126 --> 
127  </para>
128
129 <!-- Include privoxy.sgml boilerplate: -->
130  <para>What is Privoxy?</para> &p-intro;
131 <!-- end boilerplate -->
132
133  <para>
134   Please note that this document is a work in progress. This copy represents
135   the state at the release of version &p-version;.
136   You can find the latest version of the document at <ulink
137   url="http://www.privoxy.org/faq/">http://www.privoxy.org/faq/</ulink>.
138   Please see the <link linkend="contact">Contact section</link> if you want to
139   contact the developers. 
140  </para>
141
142 <!--   <para> -->
143 <!--    Feel free to send a note to the developers at <email>ijbswa-developers@lists.sourceforge.net</email>. -->
144 <!--   </para> -->
145 </abstract>
146 </artheader>
147
148
149 <!--   ~~~~~       New section      ~~~~~     -->
150
151 <sect1 id="general"><title>General Information</title>
152 <sect2 renderas="sect3" id="who_uses"><title>Who should use Privoxy?</title>
153  <para>
154   Anyone that is interested in security, privacy, or in 
155   finer-grained control over their web and Internet experience.
156   Everyone is encouraged to try &my-app;.
157  </para>
158 </sect2>
159
160 <sect2 renderas="sect3" id="bestchoice"><title>Is Privoxy the best choice for
161 me?</title>
162  <para>
163   &my-app; is certainly a good choice, especially for those who want more 
164   control and security. Those that have the ability to fine-tune their installation
165   will benefit the most. One of <application>Privoxy's</application>
166   strength's is that it is highly configurable giving you the ability to
167   completely personalize your installation. Being familiar with, or at least
168   having an interest in learning about <ulink
169   url="http://en.wikipedia.org/wiki/Http">HTTP</ulink> and other networking
170   protocols, <ulink url="http://en.wikipedia.org/wiki/Html">HTML</ulink>, 
171   <ulink url="http://en.wikipedia.org/wiki/Internet_Protocol">IP (Internet
172   Protocol)</ulink>, and 
173   <ulink url="http://en.wikipedia.org/wiki/Regular_expressions"><quote>Regular
174   Expressions</quote></ulink>
175   will be a big plus and will help you get the most out 
176   of &my-app;.
177  </para>
178  <para>
179   Much of <application>Privoxy's</application> configuration can be done 
180   with a  <ulink url="http://en.wikipedia.org/wiki/Web_browser">Web browser</ulink>.
181   But there are areas where configuration is done using a 
182   <ulink url="http://en.wikipedia.org/wiki/Text_editors">text editor</ulink>
183   to edit configuration files.
184   </para>
185 </sect2>
186
187 <sect2 renderas="sect3" id="proxymoron"><title>What is a <quote>proxy</quote>? How does
188 Privoxy work? </title>
189  <para>
190   A  <ulink url="http://en.wikipedia.org/wiki/Proxy_server">web proxy</ulink>
191   is a service, based on a software such as
192   <application>Privoxy</application>, that clients (i.e. browsers) can use
193   instead of connecting directly to web servers on the Internet. The
194   clients then ask the proxy to fetch the objects they need (web pages,
195   images, movies etc) on their behalf, and when the proxy has done so, it
196   hands the results back to the client. It is a <quote>go-between</quote>. See
197   the <ulink url="http://en.wikipedia.org/wiki/Proxy_server">Wikipedia proxy
198   definition</ulink> for more.
199  </para>
200  <para>
201   There are many reasons to use web proxies, such as security (firewalling),
202   efficiency (caching) and others, and there are any number of proxies
203   to accommodate those needs.
204  </para>
205  <para>
206   <application>Privoxy</application> is a proxy that is primarily focused on privacy
207   protection, ad and junk elimination and freeing the user from restrictions placed on his 
208   activities. Sitting between your browser(s) and the Internet,
209   it is in a perfect position to filter outbound personal information that your
210   browser is leaking, as well as inbound junk. It uses a variety of techniques to do
211   this, all of which are under your complete control via the various configuration
212   files and options.
213  </para>
214 </sect2>
215
216 <sect2 renderas="sect3" id="newjb"><title>What is this new version of 
217 <quote><citetitle>Junkbuster</citetitle></quote>?</title>
218
219 <!-- Include history.sgml -->
220  &history;
221 <!-- end -->
222
223 </sect2>
224
225
226 <sect2 renderas="sect3">
227 <title id="whyprivoxy">Why <quote>Privoxy</quote>? Why change the name from
228 Junkbuster at all?</title>
229 <para>
230  <ulink url="http://junkbusters.com/">Junkbusters Corporation</ulink>
231  continues to offer their original version of the <application>Internet
232  Junkbuster</application>, so publishing our
233  <application> Junkbuster</application>-derived software under the same name
234  led to confusion.
235 </para>
236 <para>
237  There are also potential legal complications from the continued use of the 
238  <application>Junkbuster</application> name, which is a registered trademark of 
239  <ulink url="http://junkbusters.com/">Junkbusters Corporation</ulink>.
240  There are, however, no objections from Junkbusters Corporation to the 
241  <application>Privoxy</application> project itself, and they, in fact, still
242  share our ideals and goals.
243 </para>
244 <para>
245  The developers also believed that there are so many improvements over the original 
246  code, that it was time to make a clean break from the past and make 
247  a name in their own right.
248 </para>
249 <para>
250  <application>Privoxy</application> is the 
251  <quote><emphasis>Privacy Enhancing Proxy</emphasis></quote>. Also, its content
252  modification and junk suppression gives <emphasis>you</emphasis>, the user, more
253  control, more freedom, and allows you to browse your personal and
254  <quote><emphasis>private</emphasis> edition</quote> of the web.
255 </para>
256 </sect2>
257
258
259 <sect2 renderas="sect3" id="differs"><title>How does Privoxy differ
260 from the old Junkbuster?</title> 
261 <para>
262  <application>Privoxy</application> picks up where
263  <application>Junkbuster</application> left off. All the old features remain.
264  The new <application>Privoxy</application> still blocks ads and banners,
265  still manages <ulink
266  url="http://en.wikipedia.org/wiki/Browser_cookie">cookies</ulink>, and still
267  helps protect your privacy. But, these are all greatly enhanced, and many,
268  many new features have been added, all in the same vein.
269  </para>
270  <para>
271  The configuration has changed significantly as well. This is something that
272  users will notice right off the bat if upgrading from 
273  <application>Junkbuster</application> 2.0.x. The <quote>blocklist</quote>
274  <quote>cookielist</quote>, <quote>imagelist</quote> and much more has been
275  combined into the <quote>actions</quote> files, with a completely different
276  syntax. <![%p-newstuff;[ See the <ulink url="../user-manual/whatsnew.html">What's New</ulink> 
277  page for the latest updates.]]>
278 </para>
279 <para>
280  <application>Privoxy</application>'s new features include:
281 </para>
282
283 <!-- Include newfeatures.sgml: --> 
284  &newfeatures;
285 <!-- end include -->
286
287 </sect2>
288
289 <sect2 renderas="sect3" id="whatsanad">
290 <title id="knows">How does Privoxy know what is
291 an ad, and what is not?</title>
292 <para>
293  <application>Privoxy</application>'s approach to blocking ads is twofold:
294 </para>
295 <para>
296  First, there are certain patterns in the <emphasis>locations</emphasis> (URLs)
297  of banner images. This applies to both the path (you wouldn't guess how many
298  web sites serve their banners from a directory called <quote>banners</quote>!)
299  and the host (blocking the big banner hosting services like doublecklick.net
300  already helps a lot). <application>Privoxy</application> takes advantage of this
301  fact by using <ulink url="../user-manual/actions-file.html#AF-PATTERNS">URL
302  patterns</ulink> to sort out and block the requests for things that sound 
303  like they would be ads or banners.
304 </para>
305 <para>
306  Second, banners tend to come in certain <emphasis>sizes</emphasis>. But you
307  can't tell the size of an image by its URL without downloading it, and if you
308  do, it's too late to save bandwidth. Therefore, <application>Privoxy</application>
309  also inspects the HTML sources of web pages while they are loaded, and replaces
310  references to images with standard banner sizes by dummy references, so that
311  your browser doesn't request them anymore in the first place.
312 </para>
313 <para>
314  Both of this involves a certain amount of guesswork and is, of course, freely
315  and readily configurable.
316 </para>
317 </sect2>
318
319 <sect2 renderas="sect3">
320 <title id="mistakes">Can Privoxy make mistakes? 
321 This does not sound very scientific.</title>
322 <para>
323  Actually, it's a black art ;-) And yes, it is always possible to have a broad
324  rule accidentally block or change something by mistake. You will almost surely
325  run into such situations at some point. It is tricky writing rules to
326  cover every conceivable possibility, and not occasionally get false positives.
327 </para>
328
329 <para>
330  But this should not be a big concern since the
331  <application>Privoxy</application> configuration is very flexible, and
332  includes tools to help identify these types of situations so they can be
333  addressed as needed, allowing you to customize your installation.
334  (<link linkend="badsite">See the Troubleshooting section below</link>.)
335 </para>
336
337 </sect2>
338
339
340 <sect2 renderas="sect3">
341 <title id="configornot">Will I have to configure Privoxy
342  before I can use it?</title>
343 <para>
344  No, not really. The default installation should give you a good starting
345  point, and block <emphasis>most</emphasis> unwanted content.
346 </para>
347 <para>
348  But you will certainly run into situations where there are false positives,
349  or ads not being blocked that you may not want to see. In these cases, you
350  would certainly benefit by customizing <application>Privoxy's</application>
351  configuration to more closely match your individual situation. And we would
352  encourage you to do this. This is where the real power of
353  <application>Privoxy</application> lies!
354 </para>
355 <para>
356  You will have to tell your browser about <application>Privoxy</application> 
357  (see the Installation section below).
358 </para>
359
360 </sect2>
361
362 <sect2 renderas="sect3" id="browsers2"><title>My browser does the same things as
363 Privoxy. Why should I use
364 Privoxy at all?</title>
365  <para>
366   Modern browsers do indeed have <emphasis>some</emphasis> of the same
367   functionality as <application>Privoxy</application>. Maybe this is
368   adequate for you. But <application>Privoxy</application> is much more
369   versatile and powerful, and can do a number of things that browsers just can't.
370  </para>
371  <para>
372   In addition, a proxy is good choice if you use multiple browsers, or 
373   have a LAN with multiple computers. This way all the configuration 
374   is in one place, and you don't have to maintain a similar configuration 
375   for possibly many browsers.
376  </para>
377 </sect2>
378
379 <sect2 renderas="sect3" id="whytrust"><title>Why should I trust Privoxy?</title>
380  <para>
381   The most important reason is because you have access to
382   <emphasis>everything</emphasis>, and you can control everything. You can
383   check every line of every configuration file yourself. You can check every
384   last bit of source code should you desire. And even if you can't read code, 
385   there should be some comfort in knowing that thousands of other people can, 
386   and do read it. You can build the software from scratch, if you want, so
387   that you know the executable is clean, and that it is
388   <emphasis>yours</emphasis>. In fact, we encourage this level of scrutiny. It
389   is one reason we use &my-app; ourselves.
390  </para>
391 </sect2>
392
393 <sect2 renderas="sect3" id="license"><title>Is there is a license or fee? What about a 
394 warranty? Registration?</title>
395  <para>
396   <application>Privoxy</application> is licensed under the <ulink
397   url="http://www.gnu.org/copyleft/gpl.html">GNU General Public License (GPL)</ulink>.
398   It is free to use, copy, modify or distribute as you wish under the terms of this
399   license.  Please see the <link linkend="copyright">Copyright</link> section for more
400   information on the license and copyright. Or the <filename>LICENSE</filename> file 
401   that should be included.
402  </para>
403  <para>
404   There is <emphasis>no warranty</emphasis> of any kind, expressed, implied or otherwise.
405   That is something that would cost real money ;-) There is no registration either.
406   <application>Privoxy</application> really is <emphasis>free</emphasis>
407   in every respect!
408  </para>
409
410 </sect2>
411
412 <sect2 renderas="sect3" id="spyware">
413 <title>Can Privoxy remove spyware? Adware? Viruses?</title>
414 <para>
415  No. &my-app; cannot remove anything. It is not a removal tool. It is a
416  preventative. &my-app; can help prevent contact from sites 
417  that use such tactics, and thus could conceivably prevent contamination from
418  such sites.
419 </para>
420 </sect2>
421
422
423 <sect2 renderas="sect3" id="otherads">
424 <title>Can I use Privoxy with other ad-blocking software?</title>
425 <para>
426  &my-app; should work fine with other proxies and other software in general.
427 </para>
428 <para>
429  But it is probably not necessary to use &my-app; in conjunction with other
430  ad-blocking products, and this could conceivably cause undesirable results.
431  It would be better to choose one software or the other and work a little to
432  tweak its configuration to your liking.
433 </para>
434 </sect2>
435
436 <sect2 renderas="sect3" id="jointeam"><title>I would like to help you, what can I do?</title>
437
438 <sect3 renderas="sect4" id="jointeam-work"><title>Would you like to participate?</title>
439 <para>
440    Well, we <emphasis>always</emphasis> need help. There is something for
441    everybody who wants to help us. We welcome new developers, packagers,
442    testers, documentation writers or really anyone with a desire to help in
443    any way. You <emphasis>DO NOT</emphasis> need to be a
444    <quote>programmer</quote>. There are many other tasks available. In fact,
445    the programmers often can't spend as much time programming because of some
446    of the other, more mundane things that need to be done, like checking the
447    Tracker feedback sections. 
448  </para>
449  <para>
450   So first thing, <ulink
451    url="https://sourceforge.net/account/register.php">get an account on SourceForge.net</ulink>
452    and mail your id to the <ulink url="mailto:ijbswa-developers@lists.sourceforge.net">developers
453    mailing list</ulink>. Then, please read the <ulink
454    url="../developer-manual/index.html">Developer's Manual</ulink>, at least
455    the pertinent sections.
456 </para>
457 <para>
458  Once we have added you to the team, you'll have access to the <ulink
459  url="http://sourceforge.net/cvs/?group_id=11118">CVS repository</ulink>, and
460  together we'll find a suitable task for you.
461 </para>
462 </sect3>
463
464 <sect3 renderas="sect4" id="jointeam-money"><title>Contribute!</title>
465 <para>
466  We, of course, welcome donations and could use money for domain registering,
467  buying software to test <application>Privoxy</application> with, and, of course,
468  for regular world-wide get-togethers (hahaha). If you enjoy the software and feel
469  like helping us with a donation, just <ulink
470  url="mailto: ijbswa-developers@lists.sourceforge.net">drop us a note</ulink>.
471 </para>
472 </sect3>
473
474 <sect3 renderas="sect4" id="jointeam-software"><title>Software</title>
475 <para>
476  If you are a vendor of a web-related software like a browser, web server
477  or proxy, and would like us to ensure that <application>Privoxy</application>
478  runs smoothly with your product, you might consider supplying us with a
479  copy or license. We can't, however, guarantee that we will fix all potential
480  compatibility issues as a result.
481 </para>
482 </sect3>
483
484
485 </sect2>
486
487 </sect1>
488
489
490 <!--   ~~~~~       New section      ~~~~~     -->
491
492 <sect1  id="installation"><title>Installation</title>
493
494 <sect2 renderas="sect3" id="whichbrowsers">
495 <title>Which browsers are supported by Privoxy?</title>
496 <para>
497  Any browser that can be configured to use a proxy, which 
498  should be virtually all browsers, including
499  <application>Firefox</application>, <application>Internet
500  Explorer</application>, and <application>Opera</application> among others.
501  Direct browser support is not an absolute requirement since
502  <application>Privoxy</application> runs as a separate application and talks
503  to the browser in the standardized HTTP protocol, just like a web server
504  does.
505 </para>
506 </sect2>
507
508 <sect2 renderas="sect3" id="whichos">
509 <title>Which operating systems are supported?</title>
510 <!--
511 Include supported.sgml here:
512 -->
513 &supported;
514 </sect2>
515
516 <sect2 renderas="sect3" id="email-client">
517 <title>Can I use Privoxy with my email client?</title>
518 <para>
519  As long as there is some way to set a HTTP proxy for the client, then yes,
520  any application can be used, whether it is strictly speaking a
521  <quote>browser</quote> or not. Though this may not be the best approach for
522  dealing with some of the common abuses of HTML in email. See <link
523  linkend="outlook">How can I configure <application>Privoxy</application>
524  with <application>Outlook Express</application>?</link> below for more on
525  this. 
526 </para>
527 <para>
528  Be aware that HTML email presents a number of unique security and privacy
529  related issues, that can require advanced skills to overcome. The developers
530  recommend using email clients that can be configured to convert HTML to plain
531  text for these reasons.
532 </para>
533 </sect2>
534
535 <sect2 renderas="sect3" id="newinstall"><title>Can I install  
536  Privoxy over Junkbuster?</title>
537  <para>
538    We recommend you un-install <application>Junkbuster</application>
539    first to minimize conflicts and confusion. You may want to 
540    save your old configuration files for future reference. The configuration
541    files and syntax have substantially changed, so you will need to manually
542    port your old patterns. See the <ulink url="../user-manual/upgradersnote.html">note
543    to upgraders</ulink> and <ulink url="../user-manual/installation.html">installation
544    chapter</ulink> in the <ulink url="../user-manual/index.html">User Manual</ulink>
545    for details.
546  </para>
547  <para>
548   Note: Some installers may automatically un-install
549   <application>Junkbuster</application>, if present!
550  </para>
551
552 </sect2>
553
554 <sect2 renderas="sect3">
555 <title id="firststep">I just installed Privoxy. Is there anything 
556 special I have to do now?</title>
557
558 <para>
559  All browsers must be told to use <application>Privoxy</application> 
560  as a proxy by specifying the correct proxy address and port number 
561  in the appropriate configuration area for the browser. See below.
562  You should also flush your browser's memory and disk cache to get rid of any
563  cached junk items, and remove any stored 
564  <ulink url="http://en.wikipedia.org/wiki/Browser_cookie">cookies</ulink>.
565
566 </para>
567
568 </sect2>
569
570
571 <sect2 renderas="sect3" id="localhost"><title>What is the proxy address of Privoxy?</title>
572  <para>
573   If you set up the <application>Privoxy</application> to run on
574   the computer you browse from (rather than your ISP's server or some
575   networked computer on a LAN), the proxy will be on <literal>127.0.0.1</literal> 
576   (sometimes referred to as <quote>localhost</quote>,
577   which is the special name used by every computer on the Internet to refer
578   to itself) and the port will be 8118 (unless you have <application>Privoxy</application>
579   to run on a different port with the <ulink
580   url="../user-manual/config.html#LISTEN-ADDRESS">listen-address</ulink> config option). 
581  </para>
582  <para>
583   When configuring your browser's proxy settings you typically enter
584   the word <quote>localhost</quote> or the IP address <quote>127.0.0.1</quote>
585   in the boxes next to <quote>HTTP</quote> and <quote>Secure</quote> (HTTPS) and
586   then the number <quote>8118</quote> for <quote>port</quote>. 
587   This tells your browser to send all web requests to <application>Privoxy</application>
588   instead of directly to the Internet.
589  </para>
590  <para>
591   <application>Privoxy</application> can also be used to proxy for 
592   a Local Area Network. In this case, your would enter either the IP 
593   address of the LAN host where <application>Privoxy</application> 
594   is running, or the equivalent hostname. Port assignment would be 
595   same as above. Note that <application>Privoxy</application> doesn't
596   listen on any LAN interfaces by default.
597  </para>
598  <para>
599   <application>Privoxy</application> does not currently handle
600   any other protocols such as FTP, SMTP, IM, IRC, ICQ, etc. Be sure that
601   proxying any of these other protocols is not activated.
602  </para>
603 </sect2>
604
605 <sect2 renderas="sect3" id="nothing">
606 <title>I just installed Privoxy, and nothing is happening.
607 All the ads are there. What's wrong?</title>
608
609 <para>
610  Did you configure your browser to use <application>Privoxy</application> 
611  as a proxy? It does not sound like it. See above. You might also try flushing
612  the browser's caches to force a full re-reading of pages. You can verify 
613  that <application>Privoxy</application> is running, and your browser 
614  is correctly configured by entering the special URL: 
615  <ulink url="http://p.p/">http://p.p/</ulink>. 
616  <!-- Use http://p.p/ instead of http://config.privoxy.org/ here because
617       of potential redirect caching problem (see next Q). -->
618  This should take you to a page titled <quote>This is Privoxy..</quote> with
619  access to <application>Privoxy's</application> internal configuration.
620  If you see this, then you are good to go. If you receive a page saying 
621  <quote>Privoxy is not running</quote>, then the browser is not set up to use
622  your <application>Privoxy</application> installation.
623  If you receive anything else (probably nothing at all), it could either
624  be that the browser is not set up correctly, or that
625  <application>Privoxy</application> is not running at all. Check the <ulink
626  url="../user-manual/config.html#LOGFILE">log file</ulink>. For instructions
627  on starting <application>Privoxy</application> and browser configuration,
628  see the <ulink url="http://www.privoxy.org/user-manual/startup.html">chapter
629  on starting <application>Privoxy</application></ulink> in the
630  <ulink url="http://www.privoxy.org/user-manual/">User Manual</ulink>.
631 </para>
632
633 </sect2>
634
635 <sect2 renderas="sect3" id="notused">
636 <title>I get a <quote>Privoxy is not being used</quote> dummy page although
637 Privoxy is running and being used.</title>
638
639 <para>
640  First, make sure that Privoxy is <emphasis>really</emphasis> running and
641  being used by visiting <ulink url="http://p.p/">http://p.p/</ulink>. You
642  should see the <application>Privoxy</application> main page. If not, see
643  the <ulink url="http://www.privoxy.org/user-manual/startup.html">chapter
644  on starting <application>Privoxy</application></ulink> in the
645  <ulink url="http://www.privoxy.org/user-manual/">User Manual</ulink>.
646 </para>
647
648 <para>
649  Now if <ulink url="http://p.p/">http://p.p/</ulink> works for you, but
650  other parts of <application>Privoxy</application>'s web interface show
651  the dummy page, your browser has cached a redirection it encountered before
652  <application>Privoxy</application> was being used. You need to clear your
653  browser's cache. Note that shift-reloading the dummy page won't help, since
654  that'll only refresh the dummy page, not the redirection that lead you there.
655 </para>
656
657 <para>
658  The procedure for clearing the cache varies from browser to browser. For
659  example, <application>Mozilla/Netscape</application> users would click 
660  <guibutton>Edit</guibutton> --> <guibutton>Preferences</guibutton> -->
661  <guibutton>Advanced</guibutton> --> <guibutton>Cache</guibutton> and
662  then click both <quote><guibutton>Clear Memory Cache</guibutton></quote>
663  and <quote><guibutton>Clear Disk Cache</guibutton></quote>.
664  And, <application>Firefox</application> users would click 
665  <guibutton>Tools</guibutton> --> <guibutton>Options</guibutton> -->
666  <guibutton>Privacy</guibutton> --> <guibutton>Cache</guibutton> and
667  then click <quote><guibutton>Clear Cache Now</guibutton></quote>.
668
669 </para>
670 </sect2>
671
672 </sect1>
673
674
675 <!--   ~~~~~       New section      ~~~~~     -->
676
677 <sect1 id="configuration"><title>Configuration</title>
678
679 <sect2 renderas="sect3" id="getupdates"><title>Where can I get updated Actions Files?</title>
680  <para>
681    Based on your feedback and the continuing development, updates of 
682    <filename>default.action</filename> will be
683    made available from   time to time on the <ulink
684   url="http://sourceforge.net/project/showfiles.php?group_id=11118">files section</ulink> of
685   our <ulink url="http://sf.net/projects/ijbswa/">project page</ulink>.
686  </para>
687
688  <para>
689   If you wish to receive an email notification whenever we release updates of
690   <application>Privoxy</application> or the actions file, <ulink
691   url="http://lists.sourceforge.net/lists/listinfo/ijbswa-announce/">subscribe
692   to our announce  mailing list</ulink>, ijbswa-announce@lists.sourceforge.net.
693  </para>
694
695 </sect2>
696
697 <sect2 renderas="sect3" id="newconfig"><title>Can I use my old config files?</title>
698  <para>
699   The syntax and purpose of configuration files has remained the same
700   throughout the 3.x series. Although each release contains updated, 
701   <quote>improved</quote> versions and it is recommended to use the newer
702   configuration files.
703  </para>
704  <para>
705    But all configuration files have substantially
706    changed from the <application>Junkbuster</application> days, and early
707    versions of <application>Privoxy 2.x</application>. The old files, like
708    <filename>blocklist</filename> will not work at all. 
709  </para>
710  <![%p-newstuff;[ <para>
711   Refer to the <ulink url="../user-manual/whatsnew.html">What's New</ulink> 
712  page for information on configuration changes that may occur from one release to another.
713  </para>]]>
714 </sect2>
715
716 <sect2 renderas="sect3">
717 <title id="actionsfile">What exactly is an <quote>actions</quote> file?</title>
718
719 <para>
720  <ulink url="../user-manual/actions-file.html">Actions files</ulink>
721  are where various <ulink url="../user-manual/actions-file.html#ACTIONS">actions</ulink>
722  that <application>Privoxy</application> could take while processing a certain
723  request, are configured. Typically, you would define a set of default actions
724  that apply to all URLs, then add exceptions to these defaults where needed.
725  There is a wide array of actions available that give the user a high degree
726  of control and flexibility on how to process each and every web page.
727 </para>
728  
729 <para>
730  Actions can be defined on a <ulink
731  url="../user-manual/actions-file.html#AF-PATTERNS">URL pattern</ulink> basis, i.e.
732  for single URLs, whole web sites, groups or parts thereof etc. Actions can also be
733  grouped together and then applied to requests matching one or more patterns.
734  There are many possible actions that might apply to any given site. As an example,
735  if you are blocking <ulink url="http://en.wikipedia.org/wiki/Browser_cookie">cookies</ulink>
736  as one of your default actions, but need to accept cookies from a given site,
737  you would need to define an exception for this site in one of your actions
738  files, preferably in <filename>user.action</filename>.
739 </para>
740
741 </sect2>
742
743 <sect2 renderas="sect3" id="actionss">
744 <title>The <quote>actions</quote> concept confuses me. Please list 
745 some of these <quote>actions</quote>.</title>
746 <para>
747  For a comprehensive discussion of the actions concept, please refer
748  to the <ulink url="../user-manual/actions-file.html">actions file
749  chapter</ulink> in the <ulink url="../user-manual/index.html">user
750  manual</ulink>. It includes a <ulink
751  url="../user-manual/actions-file.html#ACTIONS">list of all actions</ulink>
752  and an <ulink url="../user-manual/actions-file.html#ACT-EXAMPLES">actions
753  file tutorial</ulink> to get you started.
754 </para>
755 </sect2>
756
757
758 <sect2 renderas="sect3">
759 <title id="actconfig">How are actions files configured? What is the easiest
760 way to do this?</title> 
761
762 <para>
763  Actions files are just text files in a special syntax and can be edited
764  with a text editor. But probably the easiest way is to access
765  <application>Privoxy</application>'s user interface with your web browser
766  at <ulink url="http://config.privoxy.org/">http://config.privoxy.org/</ulink>
767  (Shortcut: <ulink url="http://p.p/">http://p.p/</ulink>) and then select
768  <quote><ulink url="http://config.privoxy.org/show-status">View &
769  change the current configuration</ulink></quote> from the menu.
770 </para>
771 </sect2>
772
773
774 <sect2 renderas="sect3">
775 <title>There are several different <quote>actions</quote> files. What are
776 the differences?</title>
777 <para>
778  As of <application>Privoxy</application> v2.9.15, three actions files 
779  are being included, to be used for 
780  different purposes: These are 
781  <filename>default.action</filename>, the <quote>main</quote> actions file
782  which is actively maintained by the <application>Privoxy</application>
783  developers, <filename>user.action</filename>, where users are encouraged
784  to make their private customizations, and <filename>standard.action</filename>, 
785  which is for internal <application>Privoxy</application> use only.
786  Please see <ulink url="../user-manual/actions-file.html">the actions chapter</ulink>
787  in the <ulink url="../user-manual/index.html">User Manual</ulink> for a more
788  detailed explanation.
789 </para>
790
791 <para>
792  Earlier versions included three different versions of the 
793  <filename>default.action</filename> file. The new scheme allows for 
794  greater flexibility of local configuration, and for browser based 
795  selection of pre-defined <quote>aggressiveness</quote> levels.
796 </para>
797
798 </sect2>
799
800 <sect2 renderas="sect3" id="yahoo"><title>How can I make my Yahoo/Hotmail/Gmail account work?</title>
801  <para>
802   The default configuration shouldn't impact the usability of any of these services.
803   It will, however, make all <ulink 
804  url="http://en.wikipedia.org/wiki/Browser_cookie">cookies</ulink> 
805   temporary, so that your browser will forget your
806   login credentials in between browser sessions. If you would like not to have to log
807   in manually each time you access those websites, simply turn off all cookie handling
808   for them in the <filename>user.action</filename> file. An example for yahoo might
809   look like:
810  </para>
811  <para>
812   <screen># Allow all cookies for Yahoo login:
813 #
814 { -<ulink url="../user-manual/actions-file.html#CRUNCH-INCOMING-COOKIES">crunch-incoming-cookies</ulink> -<ulink url="../user-manual/actions-file.html#CRUNCH-OUTGOING-COOKIES">crunch-outgoing-cookies</ulink> -<ulink url="../user-manual/actions-file.html#SESSION-COOKIES-ONLY">session-cookies-only</ulink> }
815 .login.yahoo.com</screen>
816  </para>
817  <para>
818   These kinds of sites are often quite complex and heavy with 
819   <ulink url="http://en.wikipedia.org/wiki/Javascript">Javascript</ulink> and 
820   thus <quote>fragile</quote>. So if <emphasis>still</emphasis> a problem, 
821   we have an <ulink
822   url="../user-manual/actions-file.html#ALIASES">alias</ulink> just for such
823   sticky situations:
824  </para>
825  <para>
826   <screen># Gmail is a _fragile_ site:
827 #
828 { <literal>fragile</literal> }
829  mail.google.com</screen>
830  </para>
831  <para>
832   Be sure to flush your browser's caches whenever making these kinds of
833   changes, just to make sure the changes <quote>take</quote>.
834  </para>
835  <para>
836   Make sure the domain, host and path are appropriate as well. Your browser can
837   tell you where you are specifically and you should use that information for 
838   your configuration settings. Note that above it is not referenced as 
839   <literal>gmail.com</literal>, which is a valid domain name.
840  </para>
841
842 </sect2>
843
844 <sect2 renderas="sect3" id="configfiles"> <title>What's the difference between the
845 <quote>Cautious</quote>, <quote>Medium</quote> and <quote>Adventuresome</quote> defaults?</title>
846  <para>
847   Configuring <application>Privoxy</application> is not entirely trivial. To
848   help you get started, we provide you with three different default action
849   <quote>profiles</quote> in the web based actions file editor at <ulink
850   url="http://config.privoxy.org/show-status">http://config.privoxy.org/show-status</ulink>.
851   See the <ulink url="../user-manual/actions-file.html"><citetitle>User
852   Manual</citetitle></ulink> for a list of actions, and how the default 
853   profiles are set.
854  </para>
855
856 <para>
857  Where the defaults are likely to break some sites, exceptions for
858  known popular <quote>problem</quote> sites are included, but in
859  general, the more aggressive your default settings are, the more exceptions
860  you will have to make later. See the <ulink
861  url="../user-manual/index.html"><citetitle>User Manual</citetitle></ulink>
862  for a more detailed discussion.
863 </para>
864
865 <para>
866  It should be noted that the <quote>Adventuresome</quote> profile (formerly known 
867  as the <quote>Advanced</quote> profile) is not only more
868  aggressive, but also includes fun and, extreme usage of most of
869  <application>Privoxy's</application> features. Use at your own risk!
870 </para>
871
872 </sect2>
873
874 <sect2 renderas="sect3" id="browseconfig"> <title>Why can I change the configuration 
875 with a browser? Does that not raise security issues?</title>
876  <para>
877   It may seem strange that regular users can edit the config files with their
878   browsers, although the whole <filename>/etc/privoxy</filename> hierarchy
879   belongs to the user <quote>privoxy</quote>, with only 644 permissions.
880  </para>
881  <para>
882   When you use the browser-based editor, <application>Privoxy</application>
883   itself is writing to the config files.  Because
884   <application>Privoxy</application> is running as the user <quote>privoxy</quote>,
885   it can update the config files.
886  </para>
887  <para>
888   If you run <application>Privoxy</application> for multiple untrusted users (e.g. in
889   a LAN), you will probably want to turn the web-based editor and remote toggle
890   features off by setting <quote><literal><ulink
891   url="../user-manual/config.html#ENABLE-EDIT-ACTIONS">enable-edit-actions</ulink>
892   0</literal></quote> and <quote><literal><ulink
893   url="../user-manual/config.html#ENABLE-REMOTE-TOGGLE">enable-remote-toggle</ulink>
894   0</literal></quote> in the <ulink url="../user-manual/config.html">main configuration file</ulink>.
895  </para>
896  <para>
897   Note that in the default configuration, only local users (i.e. those on
898   <quote>localhost</quote>) can connect to <application>Privoxy</application>,
899   so this is not (normally) a security problem.
900  </para>
901 </sect2>
902
903
904 <sect2 renderas="sect3">
905 <title id="filterfile">What is the <filename>default.filter</filename> file? What is a <quote>filter</quote>?</title>
906 <para>
907  The <ulink url="../user-manual/filter-file.html"><filename>default.filter</filename></ulink>
908  file is where <emphasis>filters</emphasis> as supplied by the developers are defined. 
909  Filters are a special subset of actions that can be used to modify or
910  remove, web page content on the fly. Filters apply to <emphasis>anything</emphasis>
911  in the page source (and optionally both client and server headers), including
912  HTML tags, and JavaScript. Regular expressions are used to accomplish this.
913  There are a number of pre-defined filters to deal with common annoyances. The
914  filters are only defined here, to invoke them, you need to use the
915  <ulink
916  url="../user-manual/actions-file.html#FILTER"><literal>filter</literal>
917  action</ulink> in one of the actions files. Filtering is automatically
918  disabled for inappropriate MIME types.
919 </para>
920
921 <para>
922  If you are familiar with regular expressions, and HTML, you can look at 
923  the provided <filename>default.filter</filename> with a text editor and define
924  your own filters.  This is potentially a very powerful feature, but
925  requires some expertise in both regular expressions and HTML/HTTP. 
926  <![%p-newstuff;[ You should 
927  place any modifications to the default filters, or any new ones you create 
928  in a separate file, such as <filename>user.filter</filename>, so they won't 
929  be overwritten during upgrades. 
930  The ability to define multiple filter files 
931  in <filename>config</filename> is a new feature as of v. 3.0.4.]]>
932 </para>
933
934 <para>
935  There is no GUI editor option for this part of the configuration, 
936  but you can disable/enable the various pre-defined filters of the included 
937  <filename>default.filter</filename> file with the <ulink
938  url="http://config.privoxy.org/show-status">web-based actions file editor</ulink>.
939 </para>
940
941 </sect2>
942
943 <sect2 renderas="sect3">
944 <title id="lanconfig">How can I set up Privoxy to act as a proxy for my 
945  LAN?</title>
946 <para>
947  By default, <application>Privoxy</application> only responds to requests 
948  from <literal>127.0.0.1</literal> (localhost). To have it act as a server for
949  a network, this needs to be changed in the <ulink
950  url="../user-manual/config.html">main configuration file</ulink>. Look for
951  the <literal><ulink
952  url="../user-manual/config.html#LISTEN-ADDRESS">listen-address</ulink></literal>
953  option, which may be commented out with a <quote>#</quote> symbol. Make sure
954  it is uncommented, and assign it the address of the LAN gateway interface,
955  and port number to use. Assuming your LAN address is 192.168.1.1 and you
956  wish to run <application>Privoxy</application> on port 8118, this line
957  should look like:
958 </para>
959
960 <para>
961  <screen>
962   listen-address  192.168.1.1:8118</screen>
963 </para>
964
965 <para>
966  Save the file, and restart <application>Privoxy</application>. Configure 
967  all browsers on the network then to use this address and port number.
968 </para>
969
970 <para>
971  Alternately, you can have <application>Privoxy</application> listen on 
972  all available interfaces:
973 </para>
974
975 <para>
976  <screen>
977   listen-address    :8118</screen>
978 </para>
979
980 <para>
981  And then use <application>Privoxy's</application> 
982  <ulink
983  url="../user-manual/config.html#PERMIT-ACCESS">permit-access</ulink> 
984  feature to limit connections. A firewall in this situation is recommended 
985  as well.
986 </para>
987
988 <para>
989  The above steps should be the same for any TCP network, regardless of
990  operating system.
991 </para>
992
993 <para>
994  If you run <application>Privoxy</application> on a LAN with untrusted users,
995  we recommend that you double-check the <ulink
996  url="../user-manual/config.html#ACCESS-CONTROL">access control and security</ulink>
997  options!
998 </para>
999
1000 </sect2>
1001
1002
1003 <sect2 renderas="sect3">
1004 <title id="noseeum">Instead of ads, now I get a checkerboard pattern. I don't want to see anything.</title>
1005 <para>
1006  The replacement for blocked images can be controlled with the <ulink
1007  url="../user-manual/actions-file.html#SET-IMAGE-BLOCKER"><literal>set-image-blocker</literal>
1008  action</ulink>. You have the choice of a checkerboard pattern, a transparent 1x1 GIF
1009  image (aka <quote>blank</quote>), or a redirect to a custom image of your choice.
1010  Note that this choice only has effect for images which are blocked as images, i.e.
1011  whose URLs match both a <literal><ulink
1012  url="../user-manual/actions-file.html#HANDLE-AS-IMAGE">handle-as-image</ulink></literal>
1013  <emphasis>and</emphasis> <literal><ulink
1014  url="../user-manual/actions-file.html#BLOCK">block</ulink></literal> action.
1015 </para>
1016 <para>
1017  If you want to see nothing, then change the <ulink
1018  url="../user-manual/actions-file.html#SET-IMAGE-BLOCKER"><literal>set-image-blocker</literal>
1019  action</ulink> to <quote>blank</quote>. This can be done by editing the 
1020  <filename>default.action</filename> file, or trough the <ulink
1021  url="http://config.privoxy.org/show-status">web-based actions file editor</ulink>.
1022 </para>
1023
1024 </sect2>
1025
1026 <sect2 renderas="sect3">
1027 <title id="whyseeum">Why would anybody want to see a checkerboard pattern?</title>
1028 <para>
1029  Remember that <link linkend="whatsanad">telling which image is an ad and which
1030  isn't</link>, is mostly guesswork. While we hope that the standard configuration
1031  is rather smart, it can and will make errors. The checkerboard image is visually
1032  decent, but it shows you that and where images were blocked, which can be very
1033  helpful in case some navigation aid or otherwise innocent image was
1034  erroneously blocked. Some people might also enjoy seeing how many banners
1035  they <emphasis>don't</emphasis> have to see..
1036 </para>
1037
1038 </sect2>
1039
1040 <sect2 renderas="sect3">
1041 <title id="blockedbytext">I see some images being replaced by a text
1042 instead of the checkerboard image. Why and how do I get rid of this?</title>
1043 <para>
1044  This happens when the banners are not embedded in the HTML code of the
1045  page itself, but in separate HTML (sub)documents that are loaded into (i)frames
1046  or (i)layers, and these external HTML documents are blocked. Being non-images
1047  they get replaced by a substitute HTML page rather than a substitute image,
1048  which wouldn't work out technically, since the browser expects and accepts
1049  only HTML when it has requested an HTML document. 
1050 </para>
1051 <para>
1052  The substitute page adapts to the available space and shows itself as a
1053  miniature two-liner if loaded into small frames, or full-blown with a
1054  large red "BLOCKED" banner if space allows.
1055 </para>
1056 <para>
1057  If you prefer the banners to be blocked by images, you must see to it that
1058  the HTML documents in which they are embedded are not blocked. Clicking
1059  the <quote>See why</quote> link offered in the substitute page will show
1060  you which rule blocked the page. After changing the rule and un-blocking
1061  the HTML documents, the browser will try to load the actual banner images
1062  and the usual image blocking will (hopefully!) kick in.
1063 </para>
1064 </sect2>
1065
1066
1067 <sect2 renderas="sect3" id="srvany">
1068 <title>Can Privoxy run as a service 
1069 on Win2K/NT/XP?</title>
1070 <para>
1071 <![%p-newstuff;[
1072  Yes. Version 3.0.4 introduces full <application>Windows</application> service
1073  functionality. See <ulink url="../user-manual/installation.html#installation-pack-win">
1074  the User Manual</ulink> for details on how to install and configure 
1075  <application>Privoxy</application> as a service.
1076 </para> 
1077 <para>
1078  Earlier ]]>3.x versions could run as a system service using <command>srvany.exe</command>.
1079  See the discussion at <ulink
1080  url="http://sourceforge.net/tracker/?func=detail&#38;atid=361118&#38;aid=485617&#38;group_id=11118">http://sourceforge.net/tracker/?func=detail&#38;atid=361118&#38;aid=485617&#38;group_id=11118</ulink>,
1081  for details, and a sample configuration.
1082 </para>
1083 </sect2>
1084
1085
1086 <sect2 renderas="sect3" id="otherproxy">
1087 <title>How can I make Privoxy work with other 
1088 proxies like Squid or Tor?</title>
1089 <para>
1090  This can be done and is often useful to combine the benefits of
1091  <application>Privoxy</application> with those of a another proxy.
1092  See the <ulink
1093  url="../user-manual/config.html#FORWARDING">forwarding chapter</ulink>
1094  in the <ulink url="../user-manual/index.html">User Manual</ulink> which
1095  describes how to do this, and the <link linkend="TOR">
1096  How do I use Privoxy together with 
1097  Tor</link> section below.
1098 </para>
1099 </sect2>
1100
1101 <sect2 renderas="sect3" id="port-80">
1102 <title>Can I just set Privoxy to use port 80
1103 and thus avoid individual browser configuration?</title>
1104
1105 <para>
1106  No, its more complicated than that. This only works with special kinds 
1107  of proxies known as <quote>transparent</quote> proxies (see below).
1108 </para>
1109
1110 </sect2>
1111
1112 <sect2 renderas="sect3" id="transparent">
1113 <title>Can Privoxy run as a <quote>transparent
1114 </quote> proxy?</title>
1115 <para>
1116  No, <application>Privoxy</application> currently does not have this ability, 
1117  though it may be added in a future release. Transparent proxies require 
1118  special handling of the request headers beyond what
1119  <application>Privoxy</application> is now capable of.
1120 </para>
1121
1122 <para>
1123  Chaining <application>Privoxy</application> behind another proxy that has 
1124  this ability should work though. 
1125  See the <ulink
1126  url="../user-manual/config.html#FORWARDING">forwarding chapter</ulink>
1127  in the <ulink url="../user-manual/index.html">User Manual</ulink>. As
1128  a transparent proxy to be used for chaining we recommend Transproxy
1129  (<ulink url="http://transproxy.sourceforge.net/">http://transproxy.sourceforge.net/</ulink>).
1130 </para>
1131
1132 </sect2>
1133
1134 <sect2 renderas="sect3" id="outlook">
1135 <title>How can I configure Privoxy for use with Outlook
1136  Express?</title>
1137 <para>
1138  <application>Outlook Express</application> uses <application>Internet Explorer</application> 
1139  components to both render HTML, and fetch any HTTP requests that may be embedded in an HTML email.
1140  So however you have <application>Privoxy</application> configured to work
1141  with IE, this configuration should automatically be shared.
1142 </para>
1143 </sect2>
1144
1145 <sect2 renderas="sect3" id="outlook-more">
1146 <title>How can I have separate rules just for HTML mail?</title>
1147 <para>
1148  The short answer is, you can't. <application>Privoxy</application> has no way
1149  of knowing which particular application makes a request, so there is no way to
1150  distinguish between web pages and HTML mail.
1151  <application>Privoxy</application> just blindly proxies all requests. In the
1152  case of <application>Outlook Express</application> (see above), OE uses 
1153  IE anyway, and there is no way for <application>Privoxy</application> to ever 
1154  be able to distinguish between them (nor could any other proxy type application for
1155  that matter).
1156 </para>
1157 <para>
1158  For a good discussion of some of the issues involved (including privacy and 
1159  security issues), see 
1160  <ulink url="http://sourceforge.net/tracker/?func=detail&#38;atid=211118&#38;aid=629518&#38;group_id=11118">http://sourceforge.net/tracker/?func=detail&#38;atid=211118&#38;aid=629518&#38;group_id=11118</ulink>.
1161 </para>
1162 </sect2>
1163
1164 <sect2 renderas="sect3" id="sneaky-cookies">
1165 <title>I sometimes notice cookies sneaking through. How?</title>
1166 <para>
1167  <ulink
1168  url="http://en.wikipedia.org/wiki/Browser_cookie">Cookies</ulink> can be 
1169  set in several ways. The classic method is via the 
1170  <literal>Set-Cookie</literal> HTTP header. This is straightforward, and an
1171  easy one to manipulate, such as the &my-app; concept of 
1172  <ulink url="../user-manual/actions-file.html#SESSION-COOKIES-ONLY">session-cookies-only</ulink>.
1173  There is also the possibility of using 
1174   <ulink url="http://en.wikipedia.org/wiki/Javascript">Javascript</ulink> to
1175  set cookies (&my-app; calls these <literal>content-cookies</literal>). This
1176  is trickier because the syntax can vary widely, and thus requires a certain
1177  amount of guesswork. It is not realistic to catch all of these short of
1178  disabling Javascript, which would break many sites. And lastly, if the
1179  cookies are embedded in a HTTPS/SSL secure session via Javascript, they are beyond
1180  <application>Privoxy's</application> reach.
1181 </para>
1182 <para>
1183  All in all, &my-app; can help manage cookies in general, can help minimize
1184  the loss of privacy posed by cookies, but can't realistically stop all
1185  cookies.
1186 </para>
1187 </sect2>
1188
1189 <sect2 renderas="sect3" id="evil-cookies">
1190 <title>Are all cookies bad? Why?</title>
1191 <para>
1192  No, in fact there are many beneficial uses of 
1193  <ulink
1194  url="http://en.wikipedia.org/wiki/Browser_cookie">cookies</ulink>. Cookies are just a
1195  method that browsers can use to store data between pages, or between browser
1196  sessions. Sometimes there is a good reason for this, and the user's life is a
1197  bit easier as a result. But there is a long history of some websites taking
1198  advantage of this layer of trust, and using the data they glean from you  and 
1199  your browsing habits for their own purposes, and maybe to your potential
1200  detriment. Such sites are using you and storing their data on your system.
1201  That is why the security conscious watch from whom those cookies come, and why
1202  they really <emphasis>need</emphasis> to be there.
1203 </para>
1204 <para>
1205   See the 
1206    <ulink url="http://en.wikipedia.org/wiki/Browser_cookie">Wikipedia cookie
1207   definition</ulink> for more.
1208 </para>
1209 </sect2>
1210
1211 <sect2 renderas="sect3" id="allow-cookies">
1212 <title>How can I allow permanent cookies for my trusted sites?</title>
1213
1214 <para>
1215   There are several actions that relate to cookies. The default behavior is to 
1216   allow only <quote>session cookies</quote>, which means the cookies only last
1217   for the current browser session. This eliminates most kinds of abuse related 
1218   to cookies. But there may be cases where we want cookies to last.
1219 </para>
1220 <para>
1221   To disable all cookie actions, so that cookies are allowed unrestricted,
1222   both in and out, for <literal>example.com</literal>: 
1223 </para>
1224 <para>
1225  <screen>
1226  { -crunch-incoming-cookies -crunch-outgoing-cookies -session-cookies-only -filter{content-cookies} }
1227   .example.com</screen>
1228 </para>
1229 <para>
1230  Place the above in <filename>user.action</filename>. Note some of these may
1231  be off by default anyway, so this might be redundant, but there is no harm
1232  being explicit in what you want to happen. <filename>user.action</filename>
1233  includes an alias for this situation, called
1234  <literal>allow-all-cookies</literal>.
1235 </para>
1236 </sect2>
1237
1238 <sect2 renderas="sect3" id="multiples">
1239 <title>Can I have separate configurations for different users?</title>
1240 <para>
1241  Each instance of <application>Privoxy</application> has its own
1242  configuration, including such attributes as the TCP port that it listens on.
1243  What you can do is run multiple instances of <application>Privoxy</application>, each with 
1244  a unique <literal>listen-address</literal> and configuration path, and then
1245  each of these can have their own configurations. Think of it as per-port
1246  configuration.
1247 </para>
1248 <para> 
1249  Simple enough for a few users, but for large installations, consider having
1250  groups of users that might share like configurations.
1251 </para>
1252 </sect2>
1253
1254 <sect2 renderas="sect3" id="whitelists">
1255 <title>Can I set-up Privoxy as a whitelist of
1256 <quote>good</quote> sites?</title>
1257 <para>
1258  Sure. There are a couple of things you can do for simple whitelisting.
1259  Here's one real easy one:
1260 </para>
1261  <screen>
1262  ############################################################
1263  # Blacklist
1264  ############################################################
1265  { <ulink url="../user-manual/actions-file.html#BLOCK">+block</ulink> }
1266  / # Block *all* URLs
1267  
1268  ############################################################
1269  # Whitelist
1270  ############################################################
1271  { <ulink url="../user-manual/actions-file.html#BLOCK">-block</ulink> }
1272   kids.example.com
1273   toys.example.com
1274   games.example.com</screen>
1275 <para>
1276  This allows access to only those three sites.
1277 </para>
1278 <para>
1279  A more interesting approach is <application>Privoxy's</application> 
1280  <literal>trustfile</literal> concept, which incorporates the notion of 
1281  <quote>trusted referrers</quote>. See the <ulink
1282  url="../user-manual/config.html#TRUSTFILE">User Manual Trust</ulink>
1283  documentation.
1284 </para>
1285 <para>
1286  These are fairly simple approaches and are not completely foolproof. There
1287  are various other configuration options that should be disabled (described
1288  elsewhere here and in <ulink url="../user-manual/">the User Manual</ulink>)
1289  so that users can't modify their own configuration and easily circumvent the
1290  whitelist.
1291 </para>
1292 </sect2>
1293
1294 </sect1>
1295
1296 <!--  ~  End section  ~  -->
1297
1298
1299 <!--   ~~~~~       New section      ~~~~~     -->
1300
1301 <sect1 id="misc"><title>Miscellaneous</title>
1302
1303 <sect2 renderas="sect3">
1304 <title id="slowsme">How much does Privoxy slow my browsing down? This 
1305 has to add extra time to browsing.</title>
1306 <para>
1307  How much of an impact depends on many things, including the CPU of the host
1308  system, how aggressive the configuration is, which specific actions are being triggered, 
1309  the size of the page, etc.
1310 </para>
1311 <para>
1312  Overall, it should not slow you down any in real terms, and may actually help 
1313  speed things up since ads, banners and other junk are not typically being
1314  retrieved and displayed. The actual processing time required by
1315  <application>Privoxy</application> itself for each page, is relatively small
1316  in the overall scheme of things, and happens very quickly. This is typically
1317  more than offset by time saved not downloading and rendering ad images (if ad
1318  blocking is being used).
1319 </para>
1320
1321 <para>
1322  <quote>Filtering</quote> content via the <literal><ulink
1323  url="../user-manual/actions-file.html#FILTER">filter</ulink></literal> or
1324  <literal><ulink
1325  url="../user-manual/actions-file.html#DEANIMATE-GIFS">deanimate-gifs</ulink></literal>
1326  actions will certainly cause a perceived slowdown, since the entire document
1327  needs to be buffered before displaying. And on very large documents, there may be
1328  some impact. How much depends on the page size, the actual definition of the
1329  filter(s), etc. See below. Most other actions have little to no impact on
1330  speed.
1331 </para>
1332
1333 </sect2>
1334
1335
1336 <sect2 renderas="sect3" id="loadingtimes"><title>I notice considerable
1337 delays in page requests compared to the old Junkbuster. What's wrong?</title>
1338 <para>
1339  If you use any <literal><ulink
1340  url="../user-manual/actions-file.html#FILTER">filter</ulink></literal> action,
1341  such as filtering banners by size, web-bugs etc, or the <literal><ulink
1342  url="../user-manual/actions-file.html#DEANIMATE-GIFS">deanimate-gifs</ulink></literal>
1343  action, the entire document must be loaded into memory in order for the filtering 
1344  mechanism to work, and nothing is sent to the browser during this time.
1345 </para>
1346 <para>
1347  The loading time typically does not really change much in real numbers, but
1348  the feeling is different, because most browsers are able to start rendering
1349  incomplete content, giving the user a feeling of "it works". This effect is
1350  more noticeable on slower dialup connections. Extremely large documents
1351  may have some impact on the time to load the page where there is filtering
1352  being done. But overall, the difference should be very minimal. If there is a
1353  big impact, then probably some other problem is contributing.
1354  </para>
1355 <para>
1356  Filtering is automatically disabled for inappropriate MIME types. But note 
1357  that if the web server mis-reports the MIME type, then content that should
1358  not be filtered, could be. <application>Privoxy</application> only knows how
1359  to differentiate filterable content because of the MIME type as reported by
1360  the server, or because of some configuration setting that enables/disables
1361  filtering.
1362
1363 </para>
1364 </sect2>
1365
1366 <sect2 renderas="sect3" id="configurl"><title>What are "http://config.privoxy.org/" and
1367 "http://p.p/"?</title>
1368 <para>
1369  <ulink url="http://config.privoxy.org/">http://config.privoxy.org/</ulink> is the
1370  address of <application>Privoxy</application>'s built-in user interface, and 
1371  <ulink url="http://p.p/">http://p.p/</ulink> is a shortcut for it.
1372 </para>
1373 <para>
1374  Since <application>Privoxy</application> sits between your web browser and the Internet, 
1375  it can simply intercept requests for these addresses and answer them with its built-in
1376  <quote>web server</quote>.
1377 </para>
1378 <para>
1379  This also makes for a good test for your browser configuration: If entering the
1380  URL <ulink url="http://config.privoxy.org/">http://config.privoxy.org/</ulink>
1381  takes you to a page saying <quote>This is Privoxy ...</quote>, everything is OK.
1382  If you get a page saying <quote>Privoxy is not working</quote> instead, then
1383  your browser didn't use <application>Privoxy</application> for the request,
1384  hence it could not be intercepted, and you have accessed the <emphasis>real</emphasis>
1385  web site at config.privoxy.org.
1386 </para>
1387 <para>
1388  With recent versions of <application>Privoxy</application> (version 2.9.x and
1389  later), the user interface features information on the run time status, the
1390  configuration, and even a built-in editor for the <ulink
1391  url="../user-manual/actions-file.html">actions files</ulink>.
1392 </para>
1393
1394 <para>
1395  Note that the built-in URLs from earlier versions of <application>Junkbuster</application>
1396  / <application>Privoxy</application>, http://example.com/show-proxy-args and http://i.j.b/,
1397  are no longer supported. If you still use such an old version, you should really consider
1398  upgrading to &p-version;.
1399 </para>
1400 </sect2>
1401
1402 <!--
1403  out of date 09/02/06 HB
1404 <sect2 renderas="sect3" id="blocklist"><title>Do you still maintain the blocklists?</title>
1405  <para>
1406   No. The patterns for blocking now reside (among other things) in the <ulink
1407   url="../user-manual/actions-file.html">actions files</ulink>, which are 
1408   actively maintained instead. See next question ...
1409 </para>
1410 </sect2>
1411 -->
1412 <sect2 renderas="sect3" id="newads"><title>How can I submit new ads, or report
1413 problems?</title>
1414 <para>
1415 Please see the <link linkend="contact">Contact section</link> for
1416 various ways to interact with the developers.
1417 </para>
1418
1419 </sect2>
1420
1421 <sect2 renderas="sect3" id="noonecares"><title>Why doesn't anyone answer my support 
1422 request?</title>
1423 <para>
1424 Rest assured that it has been read and considered. Why it is not answered,
1425 could be for various reasons, including no one has a good answer for it, no
1426 one has had time to yet investigate it thoroughly, it has been reported
1427 numerous times already, or because not enough information was provided to help
1428 us help you. Your efforts are not wasted, and we do appreciate them.
1429 </para>
1430
1431 </sect2>
1432
1433
1434 <sect2 renderas="sect3" id="ip"><title>How can I hide my IP address?</title>
1435 <para>
1436  If you run both the browser and the proxy locally, you cannot hide your IP
1437  address with <application>Privoxy</application> or ultimately any other
1438  software. The server needs to know your IP address so that it knows where to
1439  send the responses back. 
1440 </para>
1441 <para>
1442  There are many publicly usable "anonymous" proxies out there, which
1443  provide a further level of indirection between you and the web server.
1444 </para>
1445 <para>
1446  However, these proxies are called "anonymous" because you don't need
1447  a password, not because they would offer any real anonymity.
1448  Most of them will log your IP address and make it available to the
1449  authorities in case you violate the law of the country they run in. In fact
1450  you can't even rule out that some of them only exist to *collect* information
1451  on (those suspicious) people with a more than average preference for privacy.
1452 </para>
1453 <para>
1454  Your best bet is to chain <application>Privoxy</application>
1455  with <ulink url="http://tor.eff.org/">Tor</ulink>,
1456  an  <ulink url="http://www.eff.org/">EFF</ulink> supported onion routing system.
1457  The configuration details can be found in
1458  <ulink url="#TOR">How do I use <application>Privoxy</application> together with <application>Tor</application> section</ulink>
1459  just below.
1460 </para>
1461 <!-- 
1462 <para>
1463  There is, however, even in the single-machine case the possibility to make the
1464  server believe that your machine is in fact a shared proxy serving a large
1465  LAN, and we are looking into that.
1466 </para>
1467  I assume this is about sending fake forward IP addresses?
1468  David and I looked into it and considered it a waste of time to implement.
1469  Fabian 2006-09-04 
1470 -->
1471 </sect2>
1472
1473 <sect2 renderas="sect3">
1474 <title id="anonforsure">Can Privoxy guarantee I am anonymous?</title>
1475 <para>
1476  No. Your chances of remaining anonymous are greatly improved, but unless you
1477  <ulink url="#TOR">chain <application>Privoxy</application> with <application>Tor</application></ulink>
1478  or a similar system and know what you're doing when it comes to configuring
1479  the rest of your system, it would be safest to assume that everything you do
1480  on the Web can be traced back to you.
1481 </para>
1482 <para>
1483  <application>Privoxy</application> can remove various information about you,
1484  and allows <emphasis>you</emphasis> more freedom  to decide which sites 
1485  you can trust, and what details you want to reveal. But it neither 
1486  hides your ip address, nor can it guarantee that the rest of the system
1487  behaves correctly. There are several possibilities how a web sites can find
1488  out who you are, even if you are using a strict <application>Privoxy</application>
1489  configuration and chained it with <application>Tor</application>.
1490 </para>
1491 <para>
1492  Most of <application>Privoxy's</application> protection can be easily subverted
1493  by an insecure browser configuration, therefore you should use a browser that can
1494  be configured to only execute code from trusted sites, and be careful which sites you trust.
1495  For example there is no point in having <application>Privoxy</application>
1496  modify the User-Agent header, if websites can get all the information they want
1497  through JavaScript, ActiveX, Flash, Java etc.
1498 </para>
1499 <para>
1500  A few browsers disclose the user's email address in certain situations, such
1501  as when transferring a file by FTP. <application>Privoxy</application>
1502  does not filter FTP. If you need this feature, or are concerned about the
1503  mail handler of your browser disclosing your email address, you might
1504  consider products such as <application>NSClean</application>.
1505 </para>
1506 <para>
1507  Browsers available only as binaries could use non-standard headers to give
1508  out any information they can have access to: see the manufacturer's license
1509  agreement. It's impossible to anticipate and prevent every breach of privacy
1510  that might occur. The professionally paranoid prefer browsers available as
1511  source code, because anticipating their behavior is easier. Trust the source,
1512  Luke!
1513 </para>
1514
1515 </sect2>
1516
1517 <sect2 renderas="sect3">
1518 <title id="proxytest">A test site says I am not using a Proxy.</title>
1519 <para>
1520  Good! Actually, they are probably testing for some other kinds of proxies.
1521  Hiding yourself completely would require additional steps.
1522 </para>
1523 </sect2>
1524
1525 <sect2 renderas="sect3" id="tor"><title>How do I use Privoxy
1526  together with Tor?</title>
1527 <para>
1528  Before you configure <application>Privoxy</application> to use <application>Tor</application>
1529  (<ulink url="http://tor.eff.org/">http://tor.eff.org/</ulink>),
1530  please follow the User Manual chapters
1531  <ulink url="../user-manual/installation.html">2. Installation</ulink> and
1532  <ulink url="../user-manual/startup.html">5. Startup</ulink> to make sure
1533  <application>Privoxy</application> itself is setup correctly.
1534 </para>
1535 <para> 
1536  If it is, refer to <ulink url="http://tor.eff.org/documentation.html.en">Tor's
1537  extensive documentation</ulink> to learn how to install <application>Tor</application>,
1538  and make sure <application>Tor</application>'s logfile says that
1539  <quote>Tor has successfully opened a circuit</quote> and it
1540  <quote>looks like client functionality is working</quote>.
1541 </para>
1542 <para>
1543  If either <application>Tor</application> or <application>Privoxy</application>
1544  isn't working, their combination most likely will neither. Testing them on their
1545  own will also help you to direct problem reports to the right audience.
1546  If <application>Privoxy</application> isn't working, don't bother the
1547  <application>Tor</application> developers. If <application>Tor</application>
1548  isn't working, don't send bug reports to the <application>Privoxy</application> Team.
1549 </para>
1550 <para>
1551  If you verified that <application>Privoxy</application> and <application>Tor</application>
1552  are working, it is time to connect them. As far as <application>Privoxy</application>
1553  is concerned, <application>Tor</application> is just another proxy that can be reached
1554  by socks4 or socks4a. Most likely you are interested in <application>Tor</application>
1555  to increase your anonymity level, therefore you should use socks4a,
1556  to make sure <application>Privoxy's</application> DNS requests are
1557  done through <application>Tor</application> and thus invisible to your local network.
1558 </para>
1559
1560 <![%p-newstuff;[
1561 <para>
1562  Since <application>Privoxy</application> 3.0.4, its configuration (section 5.2)
1563  is already prepared for <application>Tor</application>, if you are using a
1564  default <application>Tor</application> configuration and run it on the same
1565  system as Privoxy, you just have to uncomment the line:
1566 </para>
1567 <para>
1568  <screen>
1569 #        forward-socks4a             /     127.0.0.1:9050 .
1570  </screen>
1571 </para>
1572 <para>
1573  This is enough to reach the Internet, but additionally you should
1574  uncomment the following forward rules, to make sure your local network is still
1575  reachable through Privoxy:
1576 </para>
1577 <para>
1578  <screen>
1579 #        forward         192.168.*.*/     .
1580 #        forward            10.*.*.*/     .
1581 #        forward           127.*.*.*/     .
1582  </screen>
1583 </para>
1584 <para>
1585  Unencrypted connections to systems in these address ranges will
1586  be as (un)secure as the local network is, but the alternative is
1587  that you can't reach the network at all.
1588  If you also want to be able to reach servers in your local
1589  network by using their names, you will need additional
1590  exceptions that look like this:
1591 </para>
1592 <para>
1593  <screen>
1594 #        forward           localhost/     .
1595  </screen>
1596 </para>
1597 <para>
1598  Save the modified configuration file and open
1599  <ulink url="http://config.privoxy.org/show-status">http://config.privoxy.org/show-status/</ulink>
1600  in your browser, confirm that <application>Privoxy</application> has reloaded its configuration
1601  and that there are no other forward lines, unless you know that you need them. I everything looks good,
1602  refer to
1603  <ulink url="http://wiki.noreply.org/noreply/TheOnionRouter/TorFAQ#head-0e1cc2ac330ede8c6ad1ac0d0db0ac163b0e6143">Tor
1604  Faq 4.2</ulink> to learn how to verify that you are really using <application>Tor</application>.
1605 </para>
1606 <para>
1607  Afterward, please take the time to at least skim through the rest
1608  of <application>Tor's</application> documentation. Make sure you understand
1609  what <application>Tor</application> does, why it is no replacement for
1610  application level security, and why you shouldn't use it for unencrypted logins.
1611 </para> ]]>
1612 </sect2>
1613
1614 <sect2 renderas="sect3">
1615 <title id="sitebreak">Might some things break because header information or
1616 content is being altered?</title>
1617
1618 <para>
1619  Definitely. More and more sites use HTTP header content to decide what to
1620  display and how to display it. There is many ways that this can be handled, 
1621  so having hard and fast rules, is tricky.
1622 </para>
1623
1624 <para>
1625  <quote>User-Agent</quote> in particular is often used in this way to identify
1626  the browser, and adjust content accordingly. Changing this now (at least not
1627  further than removing the OS information) is not recommended, since so many
1628  sites do look for it. You may get undesirable results by changing this.
1629 </para>
1630
1631 <para>
1632  For instance, different browsers use different encodings of Russian and Czech
1633  characters, certain web servers convert pages on-the-fly according to the
1634  User Agent header. Giving a <quote>User Agent</quote> with the wrong
1635  operating system or browser manufacturer causes some sites in these languages
1636  to be garbled; Surfers to Eastern European sites should change it to
1637  something closer. And then some page access counters work by looking at the
1638  <quote>Referer</quote> header; they may fail or break if unavailable. The
1639  weather maps of Intellicast have been blocked by their server when no
1640  <quote>Referer</quote> or cookie is provided, is another example. (But you
1641  can forge both headers without giving information away). There are
1642  many other ways things can go wrong when trying to fool a web server.
1643 </para>
1644
1645 <para>
1646  Similar thoughts apply to modifying JavaScript, and, to a lesser degree,
1647  HTML elements.
1648 </para>
1649
1650 <para>
1651  If you have problems with a site, you will have to adjust your configuration 
1652  accordingly. Cookies are probably the most likely adjustment that may 
1653  be required, but by no means the only one.
1654 </para>
1655
1656 </sect2>
1657
1658
1659 <sect2 renderas="sect3">
1660 <title id="caching">Can Privoxy act as a <quote>caching</quote> proxy to 
1661 speed up web browsing?</title>
1662 <para>
1663  No, it does not have this ability at all. You want something like 
1664  <ulink url="http://www.squid-cache.org/">Squid</ulink> for this. And, yes, 
1665  before you ask, <application>Privoxy</application> can co-exist 
1666  with other kinds of proxies like <application>Squid</application>.
1667  See the <ulink url="../user-manual/config.html#FORWARDING">forwarding
1668  chapter</ulink> in the <ulink url="../user-manual/index.html">user
1669  manual</ulink> for details.
1670 </para>
1671 </sect2>
1672
1673 <sect2 renderas="sect3">
1674 <title id="firewall">What about as a firewall? Can Privoxy protect me?</title>
1675 <para>
1676  Not in the way you mean, or in the way a true firewall can. 
1677  <application>Privoxy</application> can help protect your privacy, but not
1678  protect you from intrusion attempts. It is, of course, perfectly possible
1679  and recommended to use <emphasis>both</emphasis>.
1680 </para>
1681 </sect2>
1682
1683 <sect2 renderas="sect3">
1684 <title id="wasted">I have large empty spaces / a checkerboard pattern now where
1685 ads used to be. Why?</title>
1686 <para>
1687  It would be technically possible eliminate the banners in a way that frees
1688  their screen estate in many cases, by doing all banner blocking with filters,
1689  i.e. eliminating the whole image references from the HTML pages instead
1690  of letting them stay in, and blocking the resulting requests for the
1691  banners themselves.
1692 </para>
1693 <para>
1694  But this would consume considerable CPU resources, would likely destroy
1695  the layout of many web pages which rely on the banners consuming a certain
1696  amount of screen space, and would fail in other cases, where the screen space
1697  is reserved e.g. by tables anyway. Also, making the banners disappear without
1698  a visual trace complicates troubleshooting.
1699 </para>
1700 <para>
1701  So we won't support this in the default configuration, but you can of course
1702  define appropriate filters yourself.
1703 </para>
1704 </sect2>
1705
1706 <sect2 renderas="sect3">
1707 <title id="ssl">How can Privoxy filter Secure (HTTPS) URLs?</title>
1708 <para>
1709  Since secure HTTP connections are encrypted SSL sessions between your browser
1710  and the secure site, and are meant to be reliably <emphasis>secure</emphasis>,
1711  there is little that <application>Privoxy</application> can do but hand the raw
1712  gibberish data though from one end to the other unprocessed.
1713 </para>
1714 <para>
1715  The only exception to this is blocking by host patterns, as the client needs
1716  to tell <application>Privoxy</application> the name of the remote server,
1717  so that <application>Privoxy</application> can establish the connection.
1718  If that name matches a host-only pattern, the connection will be blocked.
1719 </para>
1720 <para>
1721  As far as ad blocking is concerned, this is less of a restriction than it may
1722  seem, since ad sources are often identifiable by the host name, and often
1723  the banners to be placed in an encrypted page come unencrypted nonetheless
1724  for efficiency reasons, which exposes them to the full power of 
1725  <application>Privoxy</application>'s ad blocking.
1726 </para>
1727 <para>
1728  <quote>Content cookies</quote> (those that are embedded in the actual HTML or
1729  JS page content, see <literal><ulink
1730  url="../user-manual/actions-file.html#FILTER-CONTENT-COOKIES">filter{content-cookies}</ulink></literal>), 
1731  in an SSL transaction will be impossible to block under these conditions. 
1732  Fortunately, this does not seem to be a very common scenario since most 
1733  cookies come by traditional means.
1734 </para>
1735
1736 </sect2>
1737
1738 <sect2 renderas="sect3">
1739 <title id="secure">Privoxy runs as a <quote>server</quote>. How 
1740 secure is it? Do I need to take any special precautions?</title>
1741 <para>
1742  There are no known exploits that might affect
1743  <application>Privoxy</application>. On Unix-like systems, 
1744  <application>Privoxy</application> can run as a non-privileged 
1745  user, which is how we recommend it be run. Also, by default 
1746  <application>Privoxy</application> only listens to requests 
1747  from <quote>localhost</quote> only. The server aspect of
1748  <application>Privoxy</application> is not itself directly exposed to the
1749  Internet in this configuration. If you want to have
1750  <application>Privoxy</application> serve as a LAN proxy, this will have to
1751  be opened up to allow for LAN requests. In this case, we'd recommend
1752  you specify only the LAN gateway address, e.g. 192.168.1.1, in the main 
1753  <application>Privoxy</application> configuration file and check all <ulink
1754  url="../user-manual/config.html#ACCESS-CONTROL">access control and security
1755  options</ulink>. All LAN hosts can then use this as their proxy address
1756  in the browser proxy configuration, but <application>Privoxy</application>
1757  will not listen on any external interfaces. ACLs can be defined in addition,
1758  and using a firewall is always good too. Better safe than sorry.
1759 </para>
1760
1761 </sect2>
1762
1763 <sect2 renderas="sect3" id="turnoff">
1764 <title>How can I temporarily disable Privoxy?</title>
1765 <para>
1766  The easiest way is to access <application>Privoxy</application> with your 
1767  browser by using the remote toggle URL: <ulink
1768  url="http://config.privoxy.org/toggle">http://config.privoxy.org/toggle</ulink>.
1769  See the <ulink url="../user-manual/appendix.html#BOOKMARKLETS">Bookmarklets section</ulink> 
1770  of the <citetitle>User Manual</citetitle> for an easy way to access this 
1771  feature.
1772 </para>
1773 </sect2>
1774
1775 <sect2 renderas="sect3" id="reallyoff">
1776 <title>When <quote>disabled</quote> is Privoxy totally 
1777 out of the picture?</title>
1778 <para>
1779  No, this just means all filtering and actions are disabled.
1780  <application>Privoxy</application> is still acting as a proxy, but just not 
1781  doing any of the things that <application>Privoxy</application> would
1782  normally be expected to do. It is still a <quote>middle-man</quote> in 
1783  the interaction between your browser and web sites.
1784 </para>
1785 </sect2>
1786
1787 <sect2 renderas="sect3" id="crunch">
1788 <title>My logs show Privoxy <quote>crunches</quote> 
1789 ads, but also its own internal CGI pages. What is a <quote>crunch</quote>?</title>
1790 <para>
1791  A <quote>crunch</quote> simply means <application>Privoxy</application> intercepted 
1792  <emphasis>something</emphasis>, nothing more. Often this is indeed ads or
1793  banners, but <application>Privoxy</application> uses the same mechanism for
1794  trapping requests for its own internal pages. For instance, a request for
1795  <application>Privoxy's</application> configuration page at: <ulink
1796  url="http://config.privoxy.org">http://config.privoxy.org</ulink>, is
1797  intercepted (i.e. it does not go out to the 'net), and the familiar CGI
1798  configuration is returned to the browser, and the log consequently will show
1799  a <quote>crunch</quote>.
1800 </para>
1801 </sect2>
1802
1803 <sect2 renderas="sect3" id="downloads">
1804 <title>Can Privoxy effect files that I download
1805 from a webserver? FTP server?</title>
1806 <para>
1807  From the webserver's perspective, there is no difference between
1808  viewing a document (i.e. a page), and downloading a file. The same is true of
1809  <application>Privoxy</application>. If there is a match for a <literal><ulink
1810  url="../user-manual/actions-file.html#BLOCK">block</ulink></literal> pattern,
1811  it will still be blocked, and of course this is obvious. 
1812  </para>
1813  <para>
1814  Filtering is potentially more of a concern since the results are not always
1815  so obvious, and the effects of filtering are there whether the file is simply
1816  viewed, or downloaded. And potentially whether the content is some obnoxious
1817  advertisement, or Mr. Jimmy's latest/greatest source code jewel. Of course,
1818  one of these presumably is <quote>bad</quote> content that we don't want, and
1819  the other is <quote>good</quote> content that we do want.
1820  <application>Privoxy</application> is blind to the differences, and can only
1821  distinguish <quote>good from bad</quote> by the configuration parameters
1822  <emphasis>we</emphasis> give it.
1823 </para>
1824 <para>
1825  <application>Privoxy</application> knows the differences in files according
1826  to the <quote>Document Type</quote> as reported by the webserver. If this is
1827  reported accurately (e.g. <quote>application/zip</quote> for a zip archive),
1828  then <application>Privoxy</application> knows to ignore these where
1829  appropriate. <application>Privoxy</application> potentially can filter HTML
1830  as well as plain text documents, subject to configuration parameters of
1831  course. Also, documents that are of an unknown type (generally assumed to be
1832  <quote>text/plain</quote>) can be filtered, as will those that might be
1833  incorrectly reported by the webserver. If such a file is a downloaded file
1834  that is intended to be saved to disk, then any content that might have been
1835  altered by filtering, will be saved too, for these (probably rare) cases.
1836 </para>
1837 <para>
1838  Note that versions later than 3.0.2 do NOT filter document types reported as 
1839  <quote>text/plain</quote>. Prior to this, <application>Privoxy</application>
1840  did filter this document type.
1841 </para>
1842 <para>
1843  In short, filtering is <quote>ON</quote> if a) the Document Type as reported
1844  by the webserver is appropriate <emphasis>and</emphasis> b) the configuration
1845  allows it (or at least does not disallow it). That's it. There is no magic
1846  cookie anywhere to say this is <quote>good</quote> and this is
1847  <quote>bad</quote>. It's the configuration that let's it all happen or not.
1848 </para>
1849 <para>
1850  If you download text files, you probably do not want these to be filtered,
1851  particularly if the content is source code, or other critical content. Source
1852  code sometimes might be mistaken for Javascript (i.e. the kind that might
1853  open a pop-up window). It is recommended to turn off filtering for download
1854  sites (particularly if the content may be plain text files and you are using
1855  version 3.0.2 or earlier) in your <filename>user.action</filename> file. And
1856  also, for any site or page where making <emphasis>any</emphasis> changes at
1857  all to the content is to be avoided.
1858 </para>
1859 <para>
1860  <application>Privoxy</application> does not do FTP at all, only HTTP 
1861  and  HTTPS (SSL) protocols, so please don't try.
1862 </para>
1863 </sect2>
1864
1865 <sect2 renderas="sect3" id="downloads2">
1866 <title>I just downloaded a Perl script, and Privoxy
1867 altered it! Yikes, what is wrong!</title>
1868 <para>
1869  Please read above.
1870 </para>
1871 </sect2>
1872
1873 <sect2 renderas="sect3" id="hostsfile">
1874 <title>Should I continue to use a <quote>HOSTS</quote> file for ad-blocking?</title>
1875 <para>
1876  One time-tested technique to defeat common ads is to trick the local DNS
1877  system by giving a phony IP address for the ad generator in the local 
1878  <filename>HOSTS</filename> file, typically using <literal>127.0.0.1</literal>, aka 
1879  <literal>localhost</literal>. This effectively blocks the ad.
1880 </para>
1881 <para>
1882  There is no reason to use this technique in conjunction with 
1883  <application>Privoxy</application>. <application>Privoxy</application>
1884  does essentially the same thing, much more elegantly and with much more 
1885  flexibility. A large <filename>HOSTS</filename> file, in fact, not only
1886  duplicates effort, but may get in the way. It is recommended to remove 
1887  such entries from your <filename>HOSTS</filename> file. If you think 
1888  your hosts list is neglected by <application>Privoxy's </application> 
1889  configuration, consider adding your list to your <filename>user.action</filename> file:
1890 </para>
1891 <para>
1892  <screen>
1893   { +block }
1894    www.ad.example1.com
1895    ad.example2.com
1896    ads.galore.example.com
1897    etc.example.com</screen>
1898 </para>
1899 </sect2>
1900
1901 <sect2 renderas="sect3" id="seealso">
1902 <title>Where can I find more information about Privoxy
1903 and related issues?</title>
1904 <!-- Include seealso.sgml boilerplate: -->
1905  &seealso;
1906 <!-- end boilerplate -->
1907
1908 <!--
1909 <para>
1910  Please see the 
1911  <ulink url="../user-manual/seealso.html">user-manual</ulink> for 
1912  others references.
1913 </para>
1914 -->
1915 </sect2>
1916
1917 <sect2 renderas="sect3" id="microsuck">
1918 <title>I've noticed that Privoxy changes <quote>Microsoft</quote> to 
1919 <quote>MicroSuck</quote>! Why are you manipulating my browsing?</title>
1920
1921 <para>
1922  We're not. The text substitutions that you are seeing are disabled
1923  in the default configuration as shipped. You have either manually
1924  activated the <quote><literal>fun</literal></quote> filter which
1925  is clearly labeled <quote>Text replacements for subversive browsing
1926  fun!</quote> or you are using an older Privoxy version and have implicitly
1927  activated it by choosing the  <quote>Adventuresome</quote> profile in the
1928  web-based editor.
1929 </para>
1930 </sect2>
1931
1932 </sect1>
1933
1934
1935 <!--   ~~~~~       New section      ~~~~~     -->
1936
1937 <sect1 id="trouble">
1938 <title>Troubleshooting</title>
1939
1940 <sect2 renderas="sect3">
1941 <title id="refused">I am getting <quote>connection refused</quote>
1942 with every web page?</title>
1943 <para>
1944  Either <application>Privoxy</application> is not running, or your 
1945  browser is configured for a different port than what
1946  <application>Privoxy</application> is using.
1947 </para>
1948
1949 <para>
1950  Early <application>Privoxy</application> 2.x versions (and also
1951  <application>Junkbuster</application>) used port 8000 by 
1952  default. This has been changed to port 8118 now, due to a conflict 
1953  with NAS (Network Audio Service), which uses port 8000. If you haven't, 
1954  you need to change your browser to the new port number, or alternately 
1955  change the <ulink
1956  url="../user-manual/config.html#LISTEN-ADDRESS"><literal>listen-address</literal>
1957  option</ulink> in <application>Privoxy's</application> <ulink
1958  url="../user-manual/config.html">main configuration file</ulink>.
1959 </para>
1960
1961 </sect2>
1962
1963 <sect2 renderas="sect3">
1964 <title id="flushit">I just added a new rule, but the steenkin ad is 
1965 still getting through. How?</title>
1966 <para>
1967  If the ad had been displayed before you added its URL, it will probably be
1968  held in the browser's cache for some time, so it will be displayed without
1969  the need for any request to the server, and <application>Privoxy</application>
1970  will not be in the picture. The best thing to do is try flushing the browser's
1971  caches. And then try again.
1972 </para>
1973
1974 <para>
1975  If this doesn't help, you probably have an error in the rule you
1976  applied. Try pasting the full URL of the offending ad into <ulink
1977  url="http://config.privoxy.org/show-url-info">http://config.privoxy.org/show-url-info</ulink>
1978  and see if it really matches your new rule. Blocking ads is like blocking
1979  spam: a lot of tinkering is required to stay ahead of the game.
1980 </para>
1981
1982 </sect2>
1983
1984 <sect2 id="badsite" renderas="sect3">
1985 <title >One of my favorite sites does not work with Privoxy.
1986 What can I do?</title>
1987
1988 <para>
1989  First verify that it is indeed a <application>Privoxy</application> problem, 
1990  by toggling off <application>Privoxy</application> through <ulink
1991  url="http://config.privoxy.org/toggle">http://config.privoxy.org/toggle</ulink>,
1992  and then shift-reloading the problem page (i.e. holding down the shift key
1993  while clicking reload. Alternatively, flush your browser's disk and memory
1994  caches).
1995 </para>
1996
1997 <para>
1998  If still a problem, go to <ulink
1999  url="http://config.privoxy.org/show-url-info">http://config.privoxy.org/show-url-info</ulink>
2000  and paste the full URL of the page in question into the prompt. See which actions
2001  are being applied to the URL, and which matches in which actions files are
2002  responsible for that. Now, armed with this information, go to <ulink
2003  url="http://config.privoxy.org/show-status">http://config.privoxy.org/show-status</ulink>
2004  and select the appropriate actions files for editing.
2005 </para>
2006 <para>
2007  You can now either look for a section which disables the actions that
2008  you suspect to cause the problem and add a pattern for your site there,
2009  or make up a completely new section for your site. In any case, the recommended
2010  way is to disable only the prime suspect, reload the problem page, and only
2011  if the problem persists, disable more and more actions until you have
2012  identified the culprit. You may or may not want to turn the other actions
2013  on again. Remember to flush your browser's caches in between any such changes!
2014 </para>
2015 <para>
2016  Alternately, if you are comfortable with a text editor, you can accomplish 
2017  the same thing by editing the appropriate actions file. Probably the easiest 
2018  way to deal with such problems when editing by hand is to add your
2019  site to a <literal>{ fragile }</literal> section in <filename>user.action</filename>,
2020  which is an alias that turns off most <quote>dangerous</quote>
2021  actions, but is also likely to turn off more actions then needed, and thus lower
2022  your privacy and protection more than necessary, 
2023 </para>
2024 <para>
2025  Troubleshooting actions is discussed in more detail in the <ulink
2026  url="../user-manual/appendix.html#ACTIONSANAT">User Manual appendix</ulink>.
2027  There is also an <ulink
2028  url="../user-manual/actions-file.html#ACT-EXAMPLES">actions tutorial</ulink>.
2029 </para>
2030
2031 </sect2>
2032
2033
2034 <!--   ~~~~~       New section      ~~~~~     -->
2035 <sect2 id="dun" renderas="sect3">
2036 <title>After installing Privoxy, I have to log in
2037 every time I start IE. What gives?</title>
2038
2039 <para>
2040  This is a quirk that effects the installation of
2041  <application>Privoxy</application>, in conjunction with Internet Explorer and
2042  Internet Connection Sharing on Windows 2000 and Windows XP. The symptoms may
2043  appear to be corrupted or invalid DUN settings, or passwords.
2044 </para>
2045
2046 <para>
2047  When setting up an NT based Windows system with
2048  <application>Privoxy</application> you may find that things do not seem to be
2049  doing what you expect. When you set your system up you will probably have set
2050  up Internet Connection Sharing (ICS) with Dial up Networking (DUN) when
2051  logged in with administrator privileges. You will probably have made this DUN
2052  connection available to other accounts that you may have set-up on your
2053  system. E.g. Mum or Dad sets up the system and makes accounts suitably
2054  configured for the kids.
2055 </para>
2056
2057 <para>
2058  When setting up <application>Privoxy</application> in this environment you
2059  will have to alter the proxy set-up of Internet Explorer (IE) for the
2060  specific DUN connection on which you wish to use
2061  <application>Privoxy</application>. When you do this the ICS DUN set-up
2062  becomes user specific. In this instance you will see no difference if you
2063  change the DUN connection under the account used to set-up the connection.
2064  However when you do this from another user you will notice that the DUN
2065  connection changes to make available to "Me only". You will also find that
2066  you have to store the password under each different user!
2067 </para>
2068
2069 <para>
2070  The reason for this is that each user's set-up for IE is user specific. Each
2071  set-up DUN connection and each LAN connection in IE store the settings for
2072  each user individually. As such this enforces individual configurations
2073  rather than common ones. Hence the first time you use a DUN connection after
2074  re-booting your system it may not perform as you expect, and prompt you for 
2075  the password. Just set and save the password again and all should be OK.
2076 </para>
2077
2078 <para>
2079 [Thanks to Ray Griffith for this submission.]
2080 </para>
2081 </sect2>
2082
2083
2084 <!--   ~~~~~       New section      ~~~~~     -->
2085 <sect2 id="ftp" renderas="sect3">
2086 <title>I cannot connect to any FTP sites. Privoxy
2087  is blocking me.</title>
2088  <para>
2089   <application>Privoxy</application> cannot act as a proxy for FTP traffic, 
2090   so do not configure your browser to use <application>Privoxy</application>
2091   as an FTP proxy. The same is true for <emphasis>any protocol other than HTTP
2092   or HTTPS (SSL)</emphasis>. 
2093  </para>
2094  <para>
2095   Most browsers understand FTP as well as HTTP. If you connect to a site, with
2096   a URL like <literal>ftp://ftp.example.com</literal>, your browser is making
2097   an FTP connection, and not a HTTP connection. So while your browser may 
2098   speak FTP, <application>Privoxy</application> does not, and cannot proxy 
2099   such traffic.
2100  </para>
2101  <para>
2102   To complicate matters, some systems may have a generic <quote>proxy</quote>
2103   setting, which will silently various protocols, including
2104   <emphasis>both</emphasis> HTTP and FTP proxying! So it is possible to
2105   accidentally enable FTP proxying in these cases. And of course, if this
2106   happens, <application>Privoxy</application> will indeed cause problems since
2107   it does not know FTP. <![%p-newstuff;[Newer version will give a sane error
2108   message if a FTP connection is attempted.]]>
2109  </para>
2110  <para>
2111   Will <application>Privoxy</application> ever proxy FTP traffic? Unlikely.
2112   There just is not much reason, and the work to make this happen is more than
2113   it may seem.
2114  </para>
2115 </sect2>
2116
2117 <!--   ~~~~~       New section      ~~~~~     -->
2118 <sect2 id="osxie" renderas="sect3">
2119 <title>In Mac OSX, I can't configure Microsoft Internet Explorer to use 
2120  Privoxy as the HTTP proxy.</title>
2121  <para>
2122   Microsoft Internet Explorer (in versions like 5.1) respects system-wide
2123   network settings.  In order to change the HTTP proxy, open System
2124   Preferences, and click on the Network icon.  In the settings pane that
2125   comes up, click on the Proxies tab.  Ensure the "Web Proxy (HTTP)" checkbox 
2126   is checked and enter <literal>127.0.0.1</literal> in the entry field.  
2127   Enter <literal>8118</literal> in the Port field.  The next time you start
2128   IE, it should reflect these values.
2129  </para>
2130 </sect2>
2131
2132 <!--   ~~~~~       New section      ~~~~~     -->
2133 <sect2 renderas="sect3" id="osxuninstall">
2134 <title>In Mac OSX, I dragged the Privoxy folder to the trash in order to 
2135  uninstall it.  Now the finder tells me I don't have sufficient privileges to
2136  empty the trash.</title>
2137  <para>
2138   Just dragging the <application>Privoxy</application> folder to the trash is
2139   not enough to delete it.  <application>Privoxy</application> supplies an
2140   <application>uninstall.command</application> file that takes care of
2141   these details.  Open the trash, drag the <application>uninstall.command</application>
2142   file out of the trash and double-click on it.  You will be prompted for
2143   confirmation and the administration password.
2144  </para> 
2145  <para>
2146   The trash may still appear full after this command; emptying the trash 
2147   from the desktop should make it appear empty again.
2148  </para>
2149 </sect2>
2150
2151
2152 <!--   ~~~~~       New section      ~~~~~     -->
2153 <sect2 renderas="sect3" id="osximages">
2154 <title>In Mac OSX Panther (10.3), images often fail to load and/or I
2155  experience random delays in page loading. I'm using
2156  <literal>localhost</literal> as my browser's proxy setting.</title>
2157  <para>
2158   We believe this is due to an IPv6-related bug in OSX, but don't fully
2159   understand the issue yet. In any case, changing the proxy setting to 
2160   <literal>127.0.0.1</literal> instead of <literal>localhost</literal>
2161   works around the problem.
2162  </para>
2163 </sect2>
2164
2165 <!--   ~~~~~       New section      ~~~~~     -->
2166 <sect2 renderas="sect3" id="blankpage">
2167 <title>I get a completely blank page at one site. <quote>View Source</quote>
2168  shows only: <markup><![CDATA[<html><body></body></html>]]></markup>. Without
2169  Privoxy the page loads fine.</title>
2170  <para>
2171   Chances are that the site suffers from a bug in
2172   <ulink url="http://www.php.net/"><application>PHP</application></ulink>,
2173   which results in empty pages being sent if the client explicitly requests
2174   an uncompressed page, like <application>Privoxy</application> does.
2175   This bug has been fixed in PHP 4.2.3.
2176  </para>
2177  <para>
2178   To find out if this is in fact the source of the problem, try adding
2179   the site to a <literal>-prevent-compression</literal> section in
2180   <filename>user.action</filename>:
2181  </para>
2182  <screen>
2183    # Make exceptions for ill-behaved sites:                                     
2184    #                                                                    
2185    {-prevent-compression}                                               
2186     .example.com</screen>
2187  <para>
2188   If that works, you may also want to report the problem to the
2189   site's webmasters, telling them to use zlib.output_compression
2190   instead of ob_gzhandler in their PHP applications (workaround)
2191   or upgrade to PHP 4.2.3 or later (fix).
2192  </para>
2193 </sect2>
2194
2195 <!--   ~~~~~       New section      ~~~~~     -->
2196 <sect2 renderas="sect3" id="error503">
2197 <title>Why am I getting a 503 Error (WSAECONNREFUSED) on every page?</title>
2198  <para>
2199   More than likely this is a problem with your TCP/IP networking. ZoneAlarm has
2200   been reported to cause this symptom -- even if not running. The solution is
2201   to either fight the ZA configuration, or uninstall ZoneAlarm, and then find
2202   something better behaved in its place. Other personal firewall type products
2203   may cause similar type problems if not configured correctly.
2204  </para>
2205 </sect2>
2206
2207 <sect2 renderas="sect3" id="nohostname">
2208 <title>My logs show many <quote>Unable to get my own hostname</quote> lines.
2209 Why?</title>
2210 <para>
2211  <application>Privoxy</application> tries to get the hostname of the system
2212  its running on from the IP address of the system interface it is bound to
2213  (from the <filename>config</filename> file
2214  <emphasis>listen-address</emphasis> setting). If the system cannot supply
2215  this information, <application>Privoxy</application> logs this condition. 
2216 </para>
2217 <para>
2218  Typically, this would be considered a minor system configuration error. It is
2219  not a fatal error to <application>Privoxy</application> however, but may
2220  result in a much slower response from <application>Privoxy</application> on
2221  some platforms due to DNS timeouts.
2222 </para>
2223 <para>
2224  This can be caused by a problem with the local <filename>HOSTS</filename>
2225  file. If this file has been changed from the original, try reverting it to
2226  see if that helps.
2227 </para>
2228 </sect2>
2229
2230 <sect2 renderas="sect3" id="inuse">
2231 <title>When I try to launch Privoxy, I get an 
2232 error message <quote>port 8118 is already in use</quote> (or similar wording).
2233 Why?</title>
2234 <para>
2235  Port 8118 is <application>Privoxy's</application> default TCP 
2236  <quote>listening</quote> port. Typically this message would mean that there
2237  is already one instance of <application>Privoxy</application> running, and
2238  you are actually trying to start a second <application>Privoxy</application> 
2239  on the same port, which will not work. (You can have multiple instances but
2240  they must be assigned different ports.) How and why this might happen varies
2241  from platform to platform, but you need to check your installation and
2242  start-up procedures.
2243 </para>
2244 </sect2>
2245
2246 <sect2 renderas="sect3" id="demoronizer">
2247 <title>
2248  Pages with UTF-8 fonts are garbled.
2249 </title>
2250 <para>
2251  This is caused by the <quote>demoronizer</quote> filter. You should either
2252  upgrade <application>Privoxy</application>, or at least upgrade to the most
2253  recent <filename>default.action</filename> file available from <ulink
2254  url="http://sourceforge.net/project/showfiles.php?group_id=11118">SourceForge</ulink>.
2255  Or you can simply disable the demoronizer filter.
2256 </para>
2257 </sect2>
2258
2259 <sect2 renderas="sect3" id="demoronizer2">
2260 <title>
2261  Why are binary files (such as images) corrupted when Privoxy
2262  is used?
2263 </title>
2264 <para>
2265  This may also be caused by the <quote>demoronizer</quote> filter, 
2266  in conjunction with a web server that is misreporting a file type. Binary 
2267  files are exempted from <application>Privoxy's</application> filtering
2268  (unless the web server by mistake says the file is something else). Either
2269  upgrade <application>Privoxy</application>, or go to the most recent
2270  <filename>default.action</filename> file available from <ulink
2271  url="http://sourceforge.net/project/showfiles.php?group_id=11118">SourceForge</ulink>.
2272 </para>
2273 </sect2>
2274
2275 <sect2 renderas="sect3" id="demoronizer3">
2276 <title>
2277  What is the <quote>demoronizer</quote> and why is it there?
2278 </title>
2279 <para>
2280  The original demoronizer was a Perl script that cleaned up HTML pages which 
2281  were created with certain Microsoft products. MS has used proprietary extensions 
2282  to standardized font encodings (ISO 8859-1), which has caused problems for pages
2283  that are viewed with non-Microsoft products (and are expecting to see a
2284  standard set of fonts). The demoronizer corrected these errors so the pages
2285  displayed correctly. <application>Privoxy</application> borrowed from this
2286  script, introducing a filter based on the original demoronizer, which in turn could
2287  correct these errors on the fly. 
2288 </para>
2289 <para>
2290  But this is only needed in some situations, and will cause serious problems in some 
2291  other situations.
2292 </para>
2293 <para>
2294  If you are using Microsoft products, you do not need it. If you need to view 
2295  pages with UTF-8 characters (such as Cyrillic or Chinese), then it will 
2296  cause corruption of the fonts, and thus <emphasis>should not be on</emphasis>.
2297 </para>
2298 <para>
2299  On the other hand, if you use non-Microsoft products, and you occasionally 
2300  notice wierd characters on pages, you might want to try it.
2301 </para>
2302 </sect2>
2303
2304 <sect2 renderas="sect3" id="windowopen">
2305 <title>
2306  Why do I keep seeing <quote>PrivoxyWindowOpen()</quote> in raw source code?
2307 </title>
2308 <para>
2309  <application>Privoxy</application> is attempting to disable malicious 
2310   <ulink url="http://en.wikipedia.org/wiki/Javascript">Javascript</ulink> 
2311   in this case, with the <literal>unsolicited-popups</literal>
2312  filter. <application>Privoxy</application> cannot tell very well 
2313  <quote>good</quote> code snippets from <quote>bad</quote> code snippets.
2314 </para>
2315 <para>
2316  If you see this in HTML source, and the page displays without problems, then 
2317  this is good, and likely some pop-up window was disabled. If you see this 
2318  where it is causing a problem, such as a downloaded program source code file, 
2319  then you should set an exception for this site or page such that the
2320  integrity of the page stays in tact by disabling all filtering.
2321 </para>
2322 </sect2>
2323
2324 <sect2 renderas="sect3" id="dnserrors">
2325 <title>
2326  I am getting too many DNS errors like <quote>404 No Such Domain</quote>. Why
2327  can't Privoxy do this better?
2328 </title>
2329 <para>
2330  There are potentially several factors here. First of all, the DNS resolution
2331  is done by the underlying operating system -- not
2332  <application>Privoxy</application> itself. <application>Privoxy</application>
2333  merely initiates the process and hands it off, and then later reports
2334  whatever the outcome was. And tries to give a coherent message if there seems
2335  to be a problem. In some cases, this might otherwise be mitigated by the
2336  browser itself which might try some work-arounds and alternate approaches (e.g
2337  adding <quote>www.</quote> to the URL). In other cases, if
2338  <application>Privoxy</application> is being chained with another proxy, this
2339  could complicate the issue, and cause undue
2340  delays and timeouts. In the case of a <quote>socks4a</quote> proxy, the socks
2341  server handles all the DNS.  <application>Privoxy</application> would just be
2342  the <quote>messenger</quote> which is reporting whatever problem occurred
2343  downstream, and not the root cause of the error.
2344 </para>
2345 <![%p-newstuff;[
2346 <para>
2347  In any case, v. 3.0.4 includes various improvements to help
2348  <application>Privoxy</application> better handle these cases.
2349 </para>]]>
2350 </sect2>
2351
2352 <sect2 renderas="sect3" id="allcpu">
2353 <title>
2354  At one site Privoxy just hangs, and starts taking 
2355  all CPU. Why is this?
2356 </title>
2357 <para>
2358  This is probably a manifestation of the <quote>100% cpu</quote> problem that
2359  occurs on pages containing many (thousands upon thousands) of blank lines. The blank lines 
2360  are in the raw HTML source of the page, and the browser just ignores them. But the 
2361  pattern matching in <application>Privoxy's</application> page filtering
2362  mechanism is trying to match against absurdly long strings and this becomes
2363  very CPU-intensive, taking a long, long time to complete. Until a better
2364  solution comes along, disable filtering on these pages, particularly the
2365  <literal>js-annoyances</literal> and <literal>unsolicited-popups</literal>
2366  filters.
2367 </para>
2368 </sect2>
2369
2370 <sect2 renderas="sect3" id="slowcrawl">
2371 <title>I just installed Privoxy, and all my
2372 browsing has slowed to a crawl. What gives? </title>
2373 <para>
2374  This should not happen, and for the overwhelming number of users world-wide,
2375  it does not happen. I would suspect some inadvertent interaction of software
2376  components such as anti-virus software, spyware protectors, personal
2377  firewalls or similar components. Try disabling (or uninstalling) these one
2378  at a time and see if that helps.
2379 </para>
2380 </sect2>
2381
2382
2383 </sect1>
2384
2385   <!--   ~~~~~       New section      ~~~~~     -->
2386   <sect1 id="contact"><title>Contacting the developers, Bug Reporting and Feature Requests</title>
2387 <!-- Include contacting.sgml  -->
2388  &contacting;
2389 <!-- end contacting -->
2390   </sect1>
2391   
2392 <!--   ~~~~~       New section      ~~~~~     -->
2393 <sect1 id="copyright"><title>Privoxy Copyright, License and History</title>
2394
2395  <!-- Include copyright.sgml -->
2396   &copyright;
2397  <!-- end -->
2398   
2399
2400   <para>
2401    Portions of this document are <quote>borrowed</quote> from the original
2402    <application>Junkbuster</application> (tm) FAQ, and modified as 
2403    appropriate for <application>Privoxy</application>.
2404   </para>
2405
2406  <!--   ~~~~~       New section      ~~~~~     -->
2407  <sect2><title>License</title>
2408  <!-- Include copyright.sgml: -->
2409   &license;
2410  <!-- end copyright -->
2411  </sect2>
2412  <!--  ~  End section  ~  -->
2413
2414  <!--   ~~~~~       New section      ~~~~~     -->
2415  <sect2><title>History</title>
2416  <!-- Include history.sgml -->
2417   &history;
2418  <!-- end -->
2419  </sect2>
2420
2421  </sect1>
2422  <!--  ~  End section  ~  -->
2423  
2424   
2425 <!--   ~~~~~       New section      ~~~~~     -->
2426 <!--
2427 <sect1 id="seealso"><title>See also</title>
2428 -->
2429 <!-- Include seealso.sgml -->
2430 <!--
2431  &see;
2432 -->
2433 <!-- end  -->
2434 <!--
2435 </sect1>
2436 -->
2437
2438 <!-- hhmts end -->
2439  <!--
2440  Tue 09/11/01 06:38:14 PM EST: Test SGML doc by Hal Burgiss.
2441  
2442  This program is free software; you can redistribute it 
2443  and/or modify it under the terms of the GNU General
2444  Public License as published by the Free Software
2445  Foundation; either version 2 of the License, or (at
2446  your option) any later version.
2447
2448  This program is distributed in the hope that it will
2449  be useful, but WITHOUT ANY WARRANTY; without even the
2450  implied warranty of MERCHANTABILITY or FITNESS FOR A
2451  PARTICULAR PURPOSE.  See the GNU General Public
2452  License for more details.
2453
2454  The GNU General Public License should be included with
2455  this file.  If not, you can view it at
2456  http://www.gnu.org/copyleft/gpl.html
2457  or write to the Free Software Foundation, Inc., 
2458  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
2459
2460 $Log: faq.sgml,v $
2461 Revision 2.16  2006/09/10 15:30:46  hal9
2462 Spell check.
2463
2464 Revision 2.15  2006/09/08 23:05:07  hal9
2465 Fix broken links. Add faq on hosts files. Move most of new windows service
2466 feature to user manual and reference in faq. Various other small changes.
2467
2468 Revision 2.14  2006/09/05 13:25:12  david__schmidt
2469 Add Windows service invocation stuff (duplicated) in FAQ and in user manual under Windows startup.  One probably ought to reference the other.
2470
2471 Revision 2.13  2006/09/04 19:20:33  fabiankeil
2472 Adjusted anonymity related sections to match reality.
2473 Added a section about using Privoxy with Tor.
2474
2475 Revision 2.12  2006/09/03 14:15:30  hal9
2476 Various updates, including 7 or 8 new FAQs, and updates/changes to various
2477 other ones to better reflect improvements, additions and changes for the
2478 upcoming release. This is close to final form for 3.0.4 IMHO.
2479
2480 Revision 2.11  2006/07/18 14:48:50  david__schmidt
2481 Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
2482 with what was really the latest development (the v_3_0_branch branch)
2483
2484 Revision 1.61.2.41  2004/04/05 13:44:05  oes
2485 Fixed allow-all-cookies alias name; closes SR #929746
2486
2487 Revision 1.61.2.40  2004/01/30 17:00:33  oes
2488 Added OSX Panther problem
2489
2490 Revision 1.61.2.39  2004/01/29 22:53:08  hal9
2491 Minor changes for exempting docs of text/plain. Change copyright date.
2492
2493 Revision 1.61.2.38  2003/12/10 03:39:45  hal9
2494 Added FAQs for: demoronizer, related problems and why its included. Also,
2495 port 8118 already in use questions, and PrivoxyWindowOpen() questions. All in
2496 troubleshooting section.
2497
2498 Revision 1.61.2.37  2003/10/17 11:01:50  oes
2499 Added Q&A for "not being used" page problem
2500
2501 Revision 1.61.2.36  2003/06/26 23:49:20  hal9
2502 More on the filter/source code problem.
2503
2504 Revision 1.61.2.35  2003/06/26 13:38:08  hal9
2505 Add FAQ on whether configuring Privoxy is necessary or not.
2506
2507 Revision 1.61.2.34  2003/06/26 03:00:03  hal9
2508 Sorry, found another copyright date.
2509
2510 Revision 1.61.2.33  2003/06/26 02:57:05  hal9
2511 Fix typo (finally!) and very minor modifications.
2512
2513 Revision 1.61.2.32  2003/06/26 02:52:04  hal9
2514 Test, no changes.
2515
2516 Revision 1.61.2.31  2003/06/25 01:27:51  hal9
2517 Fix copyright, and a few nits.
2518
2519 Revision 1.61.2.30  2003/06/25 01:13:52  hal9
2520 Add:
2521
2522  - FAQ on "Unable to get my own hostname"
2523  - Another one on filtering effects on text files.
2524
2525 Revision 1.61.2.29  2003/06/15 21:32:58  hal9
2526 Add to the 4.17 (filtering effects on downloaded files).
2527
2528 Revision 1.61.2.28  2003/03/18 19:37:21  oes
2529 s/Advanced|Radical/Adventuresome/g to avoid complaints re fun filter
2530
2531 Revision 1.61.2.27  2002/12/01 06:31:58  hal9
2532 Add faq on win32 error 503 due to ZoneAlarm.
2533
2534 Revision 1.61.2.26  2002/11/17 06:41:06  hal9
2535 Move default profiles table from FAQ to U-M, and other minor related changes.
2536 Add faq on cookies.
2537
2538 Revision 1.61.2.25  2002/10/29 03:21:50  hal9
2539 Add 3 Q/A's relating to HTML in email. Other minor touchups.
2540
2541 Revision 1.61.2.24  2002/10/15 12:50:22  oes
2542 s/Advanced/Radical/ (stupid me)
2543
2544 Revision 1.61.2.23  2002/10/15 12:38:56  oes
2545 Added Microsuck faq; more detail for PHP problem
2546
2547 Revision 1.61.2.22  2002/10/12 01:13:13  hal9
2548 Updates for demoronizer, more commentary on Radical profile, and update on
2549 the srvany.exe/icon fix.
2550
2551 Revision 1.61.2.21  2002/10/10 04:09:35  hal9
2552 s/Advanced/Radical/ and added very brief note.
2553
2554 Revision 1.61.2.20  2002/09/26 01:22:45  hal9
2555 Small additions for LAN setup, content-cookies/SSL, and FTP non-support.
2556
2557 Revision 1.61.2.19  2002/08/25 23:31:56  hal9
2558 Fix one grammatical error. Add brief FAQ relating to tranparent proxies (ie
2559 port 80 setting). Add FAQ on effects of Privoxy on downloaded files
2560 (especially filtering).
2561
2562 Revision 1.61.2.18  2002/08/14 16:39:37  hal9
2563 Fix wrong tag on FAQ addition.
2564
2565 Revision 1.61.2.17  2002/08/14 00:01:18  hal9
2566 Add a crunch FAQ.
2567
2568 Revision 1.61.2.16  2002/08/13 00:10:38  hal9
2569 Add faq to troubleshooting re: blank page syndrome, ie {-prevent-compression}.
2570
2571 Revision 1.61.2.15  2002/08/10 11:34:22  oes
2572 Add disclaimer about probably being out-of-date
2573
2574 Revision 1.61.2.14  2002/08/07 02:53:43  hal9
2575 Fix some minor markup errors, and move one OSX Q/A to troubleshooting section.
2576
2577 Revision 1.61.2.13  2002/08/06 11:55:32  oes
2578 Added missing close tag
2579
2580 Revision 1.61.2.12  2002/08/06 11:43:46  david__schmidt
2581 Updated OSX uninstall FAQ... we have an uninstall script now.
2582
2583 Revision 1.61.2.11  2002/08/06 08:54:03  oes
2584 Style police: Fixed formatting details
2585
2586 Revision 1.61.2.10  2002/08/02 14:00:25  david__schmidt
2587 Made the OSX removal commands far less dangerous
2588
2589 Revision 1.61.2.9  2002/08/02 13:14:45  oes
2590 Added warning about sudo rm -r for Mac OSX deinstallation; moved this item to install section
2591
2592 Revision 1.61.2.8  2002/08/02 02:01:42  david__schmidt
2593 Add FAQ item for MSIE on OSX HTTP proxy confusion
2594
2595 Revision 1.61.2.7  2002/08/02 01:46:01  david__schmidt
2596 Added FAQ item for Mac OSX uninstall woes
2597
2598 Revision 1.61.2.6  2002/07/30 20:04:56  hal9
2599 Fix typo: 'schould'.
2600
2601 Revision 1.61.2.5  2002/07/26 15:22:58  oes
2602 - Updated to reflect changes in standard.action
2603 - Added info on where to get updated actions files
2604
2605 Revision 1.61.2.4  2002/07/25 21:42:29  hal9
2606 Add brief notes on not proxying non-HTTP protocols.
2607
2608 Revision 1.61.2.3  2002/06/09 16:36:33  hal9
2609 Clarifications on filtering and MIME. Hardcode 'latest release' in index.html.
2610
2611 Revision 1.61.2.2  2002/06/06 02:51:34  hal9
2612 Fix typo in URL http:/config.privoxy.org
2613
2614 Revision 1.61.2.1  2002/06/05 23:10:43  hal9
2615 Add new FAQ re: DUN/IE. Change release date from May to June :)
2616
2617 Revision 1.61  2002/05/25 12:37:25  hal9
2618 Various minor changes and edits.
2619
2620 Revision 1.60  2002/05/22 17:17:48  oes
2621 Proofread & added more links into u-m
2622
2623 Revision 1.59  2002/05/15 04:03:30  hal9
2624 Fix ulink -> link markup.
2625
2626 Revision 1.58  2002/05/10 01:48:20  hal9
2627 This is mostly proposed copyright/licensing additions and changes. Docs
2628 are still GPL, but licensing and copyright are more visible. Also, copyright
2629 changed in doc header comments (eliminate references to JB except FAQ).
2630
2631 Revision 1.57  2002/05/05 20:26:02  hal9
2632 Sorting out license vs copyright in these docs.
2633
2634 Revision 1.56  2002/05/04 08:44:44  swa
2635 bumped version
2636
2637 Revision 1.55  2002/05/04 00:41:56  hal9
2638 -Remove TOC/first page kludge in favor of proper handling via dsl file.
2639
2640 Revision 1.54  2002/05/03 05:06:44  hal9
2641 Add brief Q/A on transparent proxies.
2642
2643 Revision 1.53  2002/05/03 01:34:52  hal9
2644 Fix section numbering for new sections (due to TOC kludge).
2645
2646 Revision 1.52  2002/04/29 03:08:43  hal9
2647 -Added new Q/A on new actions file set up (pointer to u-m)
2648 -Fixed a few broken links and converted old actions as a result of
2649  recent changes.
2650
2651 Revision 1.51  2002/04/26 17:24:31  swa
2652 bookmarks cleaned, changed structure of user manual, screen and programlisting cleanups, and numerous other changes that I forgot
2653
2654 Revision 1.50  2002/04/26 05:25:23  hal9
2655 Mass commit to catch a few scattered fixes.
2656
2657 Revision 1.49  2002/04/12 10:10:18  swa
2658 version update
2659
2660 Revision 1.48  2002/04/10 18:45:15  swa
2661 generated
2662
2663 Revision 1.47  2002/04/10 04:05:32  hal9
2664 More on BML, etc.
2665
2666 Revision 1.45  2002/04/08 22:59:26  hal9
2667 Version update. Spell chkconfig correctly :)
2668
2669 Revision 1.44  2002/04/07 21:24:29  hal9
2670 Touch up on name change.
2671
2672 Revision 1.43  2002/04/04 21:59:53  hal9
2673 Added NT/W2K service/icon situation.
2674
2675 Revision 1.42  2002/04/04 18:46:47  swa
2676 consistent look. reuse of copyright, history et. al.
2677
2678 Revision 1.41  2002/04/04 06:48:37  hal9
2679 Structural changes to allow for conditional inclusion/exclusion of content
2680 based on entity toggles, e.g. 'entity % p-not-stable  "INCLUDE"'. And
2681 definition of internal entities, e.g. 'entity p-version "2.9.13"' that will
2682 eventually be set by Makefile.
2683 More boilerplate text for use across multiple docs.
2684
2685 Revision 1.40  2002/04/03 04:22:03  hal9
2686 Fixed several typos.
2687
2688 Revision 1.39  2002/04/03 03:53:03  hal9
2689 Revert some changes, and then make some news, to layout, and appearance.
2690
2691 Revision 1.38  2002/04/02 03:49:10  hal9
2692 Major changes to doc structure and layout. Sections are not automatically
2693 numbered now. TOC is on page by itself.
2694
2695 Revision 1.37  2002/04/01 16:24:07  hal9
2696 -Rework of supported Q/A.
2697 -Set up entities to include boilerplate text.
2698
2699 Revision 1.36  2002/03/31 23:18:47  hal9
2700 More on dealing with BLOCKED.
2701
2702 Revision 1.35  2002/03/30 04:14:19  hal9
2703 Fix privoxy.org/config links.
2704
2705 Revision 1.34  2002/03/29 04:35:56  hal9
2706 Touch ups.
2707
2708 Revision 1.33  2002/03/29 01:31:48  hal9
2709 Several new Q/A's and other touch ups.
2710
2711 Revision 1.32  2002/03/27 00:57:03  hal9
2712 Touch ups for name change.
2713
2714 Revision 1.31  2002/03/26 22:29:55  swa
2715 we have a new homepage!
2716
2717 Revision 1.30  2002/03/25 16:39:22  hal9
2718 A few new sections. Made all links relative to user-manual.
2719
2720 Revision 1.29  2002/03/25 05:23:57  hal9
2721 Moved section, and touch ups.
2722
2723 Revision 1.28  2002/03/25 04:27:33  hal9
2724 New section related to name change.
2725
2726 Revision 1.25  2002/03/24 16:08:08  swa
2727 we are too lazy to make a block-built
2728 privoxy logo. hence removed the option.
2729
2730 Revision 1.24  2002/03/24 15:46:20  swa
2731 name change related issue.
2732
2733 Revision 1.23  2002/03/24 12:33:01  swa
2734 more additions.
2735
2736 Revision 1.22  2002/03/24 11:51:00  swa
2737 name change. changed filenames.
2738
2739 Revision 1.21  2002/03/24 11:01:06  swa
2740 name change
2741
2742 Revision 1.20  2002/03/23 15:13:11  swa
2743 renamed every reference to the old name with foobar.
2744 fixed "application foobar application" tag, fixed
2745 "the foobar" with "foobar". left junkbustser in cvs
2746 comments and remarks to history untouched.
2747
2748 Revision 1.19  2002/03/21 17:01:54  hal9
2749 Some touch ups.
2750
2751 Revision 1.18  2002/03/18 16:40:31  hal9
2752 More additions.
2753
2754 Revision 1.17  2002/03/18 03:53:53  hal9
2755 Some new additions.
2756
2757 Revision 1.16  2002/03/17 21:32:56  hal9
2758 A few more additions.
2759
2760 Revision 1.15  2002/03/17 07:25:59  hal9
2761 Correcting some of my typos, and some additions.
2762
2763 Revision 1.14  2002/03/17 02:39:13  hal9
2764 A little more added ...
2765
2766 Revision 1.13  2002/03/17 00:22:20  hal9
2767 Adding new stuff, and trying to incorporate stuff from old faq.
2768
2769 Revision 1.12  2002/03/11 20:13:21  swa
2770 typo
2771
2772 Revision 1.11  2002/03/11 18:42:27  swa
2773 new section
2774
2775 Revision 1.10  2002/03/11 13:13:27  swa
2776 correct feedback channels
2777
2778 Revision 1.9  2002/03/10 23:34:04  swa
2779 more info on not hiding ip address
2780
2781 Revision 1.8  2002/03/09 15:55:48  swa
2782 added default config section
2783
2784 Revision 1.7  2002/03/07 18:16:55  swa
2785 looks better
2786
2787 Revision 1.6  2002/03/07 13:16:31  oes
2788 Committing changes by Stefan
2789
2790 Revision 1.5  2002/03/02 15:50:04  swa
2791 2.9.11 version. more input for docs.
2792
2793 Revision 1.4  2002/02/24 14:34:24  jongfoster
2794 Formatting changes.  Now changing the doctype to DocBook XML 4.1
2795 will work - no other changes are needed.
2796
2797 Revision 1.3  2001/09/23 10:13:48  swa
2798 upload process established. run make webserver and
2799 the documentation is moved to the webserver. documents
2800 are now linked correctly.
2801
2802 Revision 1.2  2001/09/13 15:20:17  swa
2803 merged standards into developer manual
2804
2805 Revision 1.1  2001/09/12 15:36:41  swa
2806 source files for junkbuster documentation
2807
2808 Revision 1.3  2001/09/10 17:43:59  swa
2809 first proposal of a structure.
2810
2811 Revision 1.2  2001/06/13 14:28:31  swa
2812 docs should have an author.
2813
2814 Revision 1.1  2001/06/13 14:20:37  swa
2815 first import of project's documentation for the webserver.
2816
2817 -->
2818
2819 </article>