Moved section, and touch ups.
[privoxy.git] / doc / source / faq.sgml
1 <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN">
2 <!--
3  File        :  $Source: /cvsroot/ijbswa/current/doc/source/faq.sgml,v $
4
5  Purpose     :  FAQ
6                 This file belongs into
7                 ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/
8                 
9  $Id: faq.sgml,v 1.28 2002/03/25 04:27:33 hal9 Exp $
10
11  Written by and Copyright (C) 2001 the SourceForge
12  PRIVOXY team.  http://ijbswa.sourceforge.net
13
14  Based on the Internet Junkbuster originally written
15  by and Copyright (C) 1997 Anonymous Coders and 
16  Junkbusters Corporation.  http://www.junkbusters.com
17 -->
18
19 <article id="index">
20 <artheader>
21 <title>Privoxy Frequently Asked Questions</title>
22
23 <pubdate>$Id: faq.sgml,v 1.28 2002/03/25 04:27:33 hal9 Exp $</pubdate>
24
25 <authorgroup>
26  <author>
27   <affiliation>
28    <orgname>By: Privoxy Developers</orgname>
29    </affiliation>
30  </author>
31 </authorgroup>
32
33 <abstract>
34  <para>
35 The FAQ document gives users and developers alike answers to frequently asked
36 questions about
37 <application>Privoxy</application>. <application>Privoxy</application> is a web
38 proxy with advanced filtering capabilities for protecting privacy, filtering
39 web page content, managing cookies, controlling access, and removing ads,
40 banners, pop-ups and other obnoxious Internet
41 Junk. <application>Privoxy</application> has a very flexible configuration and
42 can be customized to suit individual needs and
43 tastes. <application>Privoxy</application> has application for both stand-alone
44 systems and multi-user networks.
45  </para>
46  <para>
47 You can find the latest version of the document at <ulink url="http://ijbswa.sourceforge.net/faq/">http://ijbswa.sourceforge.net/faq/</ulink>.
48 Please see the Contact section in the 
49 <ulink url="http://ijbswa.sourceforge.net/user-manual/contact.html">user-manual</ulink> if you want to contact the developers.
50  </para>
51
52 <!--   <para> -->
53 <!--    Feel free to send a note to the developers at <email>ijbswa-developers@lists.sourceforge.net</email>. -->
54 <!--   </para> -->
55 </abstract>
56 </artheader>
57
58
59 <!--   ~~~~~       New section      ~~~~~     -->
60
61 <!--
62 <sect1 id="introduction"><title>Introduction</title>
63 <para>
64    Fillme.
65 </para>
66 </sect1>
67 -->
68 <!--   ~~~~~       New section      ~~~~~     -->
69
70 <sect1 id="questions"><title>Frequently Asked Questions</title>
71
72 <!--   ~~~~~       New section      ~~~~~     -->
73
74 <sect2 id="general"><title>General Information</title>
75
76 <sect3 id="newjb"><title>What is this new version of <application>Privoxy</application>?</title>
77  <para>
78   The original <application>Internet Junkbuster</application> (tm) is a 
79   copyrighted product of <ulink url="http://www.junkbusters.com">Junkbusters
80   Corporation</ulink>. Development of this effort stopped some time ago as of
81   version 2.0.2. Stefan Waldherr started the ijbswa project on <ulink
82   url="http://ijbswa.sourceforge.net">Sourceforge</ulink> to rekindle
83   development. Other developers subsequently joined with Stefan, and have
84   since added many new features, refinements and enhancements. 
85  </para>
86  <para>
87   The new <application>Privoxy</application> started with the same
88   code base, but has changed significantly at this point.
89  </para>
90
91 </sect3>
92
93
94 <sect3>
95 <title id="whyprivoxy">Why <quote>Privoxy</quote>? Why a name change at all?</title>
96 <para>
97  <application>Privoxy</application> is for <quote>Privacy Enhancing Proxy</quote>.
98  There are possible legal complications from the continued use of the 
99  <application>Junkbuster</application> name, which is a trademark of 
100  <ulink url="http://junkbusters.com">The Junkbusters Corporation</ulink>.
101  There are no objections from Junkbusters Corporation to the project 
102  itself though.
103 </para>
104
105 <para>
106  The developers also believed that there so many changes from the original 
107  code, that it was time to make a clean break from the past and make 
108  a name in their own right.
109 </para>
110 </sect3>
111
112
113 <sect3 id="differs"><title>How does it differ from the old <application>Junkbuster?</application></title>
114  <para>
115    All the old features remain. The new <application>Privoxy</application> 
116    still blocks ads and banners, still manages cookies, and still helps protect
117    your privacy. But, these are all enhanced, and many new features have been 
118    added, all in the same vein.
119  </para>
120  <para>
121   The configuration has changed significantly as well. This is something that
122   users will notice right off the bat. The <quote>blocklist</quote> file does
123   not exist any more. This is replaced by <quote>actions</quote> files, such
124   as <filename>default.actions</filename>. This is where most of the per site
125   configuration is now.
126
127  </para>
128 </sect3>
129
130 <sect3 id="features"><title>What are some of the new features?</title>
131 <!--
132  This section is in both user-manual and faq. Please keep in sync!!!
133 -->
134 <para>
135  <itemizedlist>
136
137  <listitem>
138   <para>
139    Integrated browser based configuration and control utility (<ulink
140    url="http://p.p">http://p.p</ulink>). Browser-based tracing of rule
141    and filter effects.
142   </para>
143  </listitem> 
144 <!--
145  <listitem>
146   <para>
147    Modularized configuration that will allow for system wide settings, and
148    individual user settings. (not implemented yet, probably a 3.1 feature)
149   </para>
150  </listitem> 
151 -->
152  <listitem>
153   <para>
154     Blocking of annoying pop-up browser windows.
155   </para>
156  </listitem> 
157
158  <listitem>
159   <para>
160    HTTP/1.1 compliant (most, but not all 1.1 features are supported).
161   </para>
162  </listitem> 
163
164  <listitem>
165   <para>
166    Support for Perl Compatible Regular Expressions in the configuration files, and 
167    generally a more sophisticated and flexible configuration syntax over
168    previous versions. 
169   </para>
170  </listitem> 
171
172  <listitem>
173   <para>
174    GIF de-animation. 
175   </para>
176  </listitem> 
177  
178  <listitem>
179   <para>
180    Web page content filtering (removes banners based on size,
181    invisible <quote>web-bugs</quote>, JavaScript, pop-ups, status bar abuse,
182    etc.)
183   </para>
184  </listitem> 
185  
186  <listitem>
187   <para>
188    Bypass many click-tracking scripts (avoids script redirection).
189  
190   </para>
191  </listitem> 
192  
193  <listitem>
194   <para>
195    Multi-threaded (POSIX and native threads).
196   </para>
197  </listitem> 
198
199  <listitem>
200   <para>
201    Auto-detection and re-reading of config file changes.
202   </para>
203  </listitem> 
204
205  <listitem>
206   <para>
207    User-customizable HTML templates (e.g. 404 error page).
208   </para>
209  </listitem> 
210
211  <listitem>
212   <para>
213    Improved cookie management features (e.g. session based cookies).
214   </para>
215 </listitem> 
216
217  <listitem>
218   <para>
219    Builds from source on most UNIX-like systems. Packages available for: Linux
220    (RedHat, SuSE, or Debian), Windows, Sun Solaris, Mac OSX, OS/2, HP-UX 11 and AmigaOS.
221  
222   </para>
223  </listitem> 
224
225  <listitem>
226   <para>
227    In addition, the configuration is much more powerful and versatile over-all.
228   </para>
229 </listitem> 
230
231  </itemizedlist>
232 </para>
233
234 </sect3>
235
236 <sect3 id="proxymoron"><title>What is a <quote>proxy</quote>? How does
237 <application>Privoxy</application> work? </title>
238  <para>
239   When you connect to a web site with <application>Privoxy</application>, 
240   you are really connecting to your locally running version of 
241   <application>Privoxy</application>. <application>Privoxy</application>
242   intercepts your requests for the web page, and relays that to the 
243   <quote>real</quote> web site. The web site sends the HTTP data stream 
244   back to <application>Privoxy</application>, where
245   <application>Privoxy</application> can work its magic before it 
246   relays this data back to your web browser.
247  </para>
248
249  <para>
250   Since <application>Privoxy</application> sits between you and the 
251   WWW, it is in a position to intercept and completely manage all web traffic and 
252   HTTP content before it gets to your browser.
253   <application>Privoxy</application> uses various programming methods to do
254   this, all of which is under your control via the various configuration
255   files and options.
256  </para>
257
258  <para>
259   There are many kinds of proxies. <application>Privoxy</application> best 
260   fits the <quote>filtering proxy</quote> category.
261  </para>
262
263 </sect3>
264
265 <sect3 id="browsers2"><title>My browser does the same things as
266 <application>Privoxy</application>. Why should I use
267 <application>Privoxy</application> at all?</title>
268  <para>
269   Modern browsers do indeed have <emphasis>some</emphasis> of the same
270   functionality as <application>Privoxy</application>. Maybe this is
271   adequate for you. But <application>Privoxy</application> is much more
272   versatile and powerful, and can do a number of things that browsers just can't.
273  </para>
274  <para>
275   In addition, a proxy is good choice if you use multiple browsers, or 
276   have a LAN with multiple computers. This way all the configuration 
277   is in one place, and you don't have to maintain a similar configuration 
278   for possibly many browsers.
279
280  </para>
281 </sect3>
282
283
284
285 <sect3 id="license"><title>Is there is a license or fee? What about a 
286 warranty? Registration?</title>
287  <para>
288   <application>Privoxy</application> is licensed under the 
289   GNU General Public License (GPL). It is free to use, copy, 
290   modify or distribute as you wish under the terms of this license.
291   See <ulink
292   url="http://www.gnu.org/copyleft/gpl.html">http://www.gnu.org/copyleft/gpl.html</ulink>
293   for specifics.
294   </para>
295  <para>
296   There is no warranty of any kind, expressed, implied or otherwise. That is
297   something that would cost real money ;-) There is no registration either.
298   <application>Privoxy</application> really is <emphasis>free</emphasis>
299   in every respect!
300
301  </para>
302 </sect3>
303
304 <sect3 id="jointeam"><title>I would like to help you, what do I do?</title>
305
306 <sect4 id="jointeam-money"><title>Money Money Money</title>
307 <para>
308  We, of course, welcome donations and use the money for domain registering,
309  regular world-wide get-togethers (hahaha). Anyway, we'll soon describe the
310  process how to donate money to the team.
311 </para>
312 </sect4>
313
314 <sect4 id="jointeam-work"><title>You want to work with us?</title>
315 <para>
316    Well, helping the team is always a good idea. We welcome new developers,
317    RPM gurus or documentation makers. Simply get an account on sourceforge.net
318    and mail your id to the developer mailing list. Then read the
319    section Quickstart in the developers manual.
320 </para>
321 <para>
322 Once we have added you to the team, you'll have write access to the CVS
323 repository, and together we'll find a suitable task for you.
324 </para>
325 </sect4>
326
327 </sect3>
328
329 </sect2>
330
331
332 <!--   ~~~~~       New section      ~~~~~     -->
333
334 <sect2 id="installation"><title>Installation</title>
335
336 <sect3 id="newinstall"><title>Can I install the new 
337  <application>Privoxy</application> over the old one?</title>
338  <para>
339    We recommend you uninstall the old <application>Junkbuster</application>
340    first to minimize conflicts and confusion. You may want to 
341    save your old configuration files for future reference. The configuration
342    is substantially changed.
343  </para>
344  <para>
345   See the <ulink
346   url="http://ijbswa.sourceforge.net/user-manual/">user-manual</ulink> for
347   platform specific installation instructions. [FIXME: This is meant for after
348   the name change for 3.0!]
349  </para>
350  
351 </sect3>
352
353 <sect3>
354 <title id="firststep">I just installed <application>Privoxy</application>. Is there anything 
355 special I have to do now?</title>
356
357 <para>
358  All browsers must be told to use <application>Privoxy</application> 
359  as a proxy by specifying the correct proxy address and port number 
360  in the appropriate configuration area for the browser. See below.
361
362 </para>
363
364 </sect3>
365
366
367 <sect3 id="localhost"><title>What is the proxy address of <application>Privoxy</application>?</title>
368  <para>
369   If you set up the <application>Privoxy</application> to run on
370   the computer you browse from (rather than your ISP's server or some
371   networked computer on a LAN), the proxy will be on <quote>localhost</quote>
372   (which is the special name used by every computer on the Internet to refer
373   to itself) and the port will be 8118 (unless you have <application>Privoxy</application> to run on a different port with the
374   <emphasis>listen-address</emphasis> config option). 
375  </para>
376  <para>
377   When configuring your browser's proxy settings you typically enter
378   the word <quote>localhost</quote> in the boxes next to <quote>HTTP</quote>
379   and <quote>Secure</quote> (HTTPS) and then the number <quote>8118</quote>
380   for <quote>port</quote>.  This tells your browser to send all web 
381   requests to <application>Privoxy</application> instead of directly to the 
382   Internet.
383  </para>
384  <para>
385   <application>Privoxy</application> can also be used to proxy for 
386   a Local Area Network. In this case, your would enter either the IP 
387   address of the LAN host where <application>Privoxy</application> 
388   is running, or the equivalent hostname. Port assignment would be 
389   same as above.
390  </para>
391  <para>
392   <application>Privoxy</application> does not currently handle
393   protocols such as FTP, SMTP, IM, IRC, ICQ, or other Internet
394   protocols. 
395  </para>
396 </sect3>
397
398 <sect3>
399 <title id="nothing">I just installed <application>Privoxy</application>, and nothing is happening.
400 All the ads are there. What's wrong?</title>
401
402 <para>
403  Did you configure your browser to use <application>Privoxy</application> 
404  as a proxy? It does not sound like it. See above. You might also try flushing
405  the browser's caches to force a full re-reading of pages. You can verify 
406  that <application>Privoxy</application> is running, and your browser 
407  is correctly configured by entering the special URL: 
408  <ulink url="http://p.p/">http://p.p/</ulink>. This should give you 
409  a banner that says <quote>This is Privoxy</quote> and 
410  access to <application>Privoxy's</application> internal configuration. 
411  If you see this, then you are good to go. If not, the browser or 
412  <application>Privoxy</application> are not set up correctly.
413
414 </para>
415
416 </sect3>
417
418 </sect2>
419
420
421 <!--   ~~~~~       New section      ~~~~~     -->
422
423 <sect2 id="configuration"><title>Configuration</title>
424
425 <sect3 id="newconfig"><title>Can I use my old config files?</title>
426  <para>
427    There are major changes to <application>Junkbuster</application> 
428    configuration from version 2.0.x to 2.9.x and later. The older files will
429    not work at all. If this is the case, you will need to re-enter your old
430    data into the new configuration structure. This is probably also a good 
431    recommendation even if upgrading from 2.9.x to 3.x since there were 
432    many minor changes along the way.
433  </para>
434 </sect3>
435
436 <sect3>
437 <title id="actionsfile">What is an <quote>actions</quote> file?</title>
438
439 <para>
440  <quote>actions</quote> files are where various actions that
441  <application>Privoxy</application> might take, are configured. 
442  Typically, you would define a set of default actions that apply 
443  to all URLs, then add exceptions to these defaults.
444 </para>
445  
446 <para>
447  Actions can be defined on a per site basis, or for groups of sites. Actions
448  can also be grouped together and then applied to one or more sites. There
449  are many possible actions that might apply to any given site. As an example,
450  if we are blocking cookies as one of our default
451  <application>actions</application>, but need to accept cookies from a given
452  site, we would define this in our <quote>actions</quote> file.
453
454 </para>
455
456 <para>
457  <application>Privoxy</application> comes with several default
458  <application>actions</application> files, with varying degrees 
459  of filtering and blocking, as starting points for your own 
460  configuration (see below).
461 </para>
462
463 </sect3>
464
465 <sect3 id="actionss">
466 <title>The <quote>actions</quote>concept confuses me. Please list 
467 some of these <quote>actions</quote>.</title>
468 <para>
469  These are all explained in the 
470  <ulink url="http://ijbswa.sourceforge.net/user-manual/configuration.html#ACTIONSFILE">user-manual</ulink>.
471  Please refer to that.
472 </para>
473 </sect3>
474
475
476 <sect3>
477 <title id="actconfig">How are actions files configured? What is the easiest
478 way to do this?</title> 
479
480 <para>
481  The easiest way to do this, is to access <application>Privoxy</application>
482  with your web browser at <ulink url="http://p.p/">http://p.p/</ulink>, 
483  and then select 
484  "<ulink url="http://ijbswa.sourceforge.net/config/edit-actions">Edit the actions list</ulink>"
485  from the selection list. You can also do this by editing the appropriate 
486  file with a text editor.
487 </para>
488
489 <para>
490  Please see the 
491  <ulink
492  url="http://ijbswa.sourceforge.net/user-manual/configuration.html#ACTIONSFILE">user-manual</ulink> for a
493  detailed explanation of these and other configuration files, and their
494  various options and syntax.
495 </para>
496 </sect3>
497
498
499 <!--
500 FIXME: Commenting these out until we have some data there. HB 03/17/02.
501
502 <sect3 id="yahoo"><title>How can I make my Yahoo account work?</title>
503  <para>
504    Fillme.
505  </para>
506 </sect3>
507
508 <sect3 id="hotmail"> <title>How can I make my Hotmail account work?</title>
509   <para>
510    Fillme.
511   </para>
512 </sect3>
513
514 <sect3 id="gmx"> <title>How can I make my GMX account work?</title>
515  <para>
516    Fillme.
517  </para>
518 </sect3>
519 -->
520
521 <sect3 id="configfiles"> <title>What are the differences between
522 intermediate.action, basic.action, etc.?</title>
523  <para>
524 Configuring <application>Privoxy</application> is not easy. To help you get
525 started, we provide you with three different default configurations. The
526 following table shows you, which features are enabled in each configuration.
527  </para>
528  <para>
529 <table frame=all><title>Default Configurations</title>
530 <tgroup cols=5 align=left colsep=1 rowsep=1>
531 <colspec colname=c1>
532 <colspec colname=c2>
533 <colspec colname=c3>
534 <colspec colname=c4>
535 <colspec colname=c5>
536 <thead>
537 <row>
538   <entry>Feature</entry>
539   <entry>default.action</entry>
540   <entry>basic.action</entry>
541   <entry>intermediate.action</entry>
542   <entry>advanced.action</entry>
543 </row>
544 </thead>
545
546 <!--  <tfoot> -->
547 <!--  <row> -->
548 <!--    <entry>f1</entry> -->
549 <!--    <entry>f2</entry> -->
550 <!--    <entry>f3</entry> -->
551 <!--    <entry>f4</entry> -->
552 <!--    <entry>f5</entry> -->
553 <!--  </row> -->
554 <!--  </tfoot> -->
555
556 <tbody>
557 <!-- new row -->
558 <row>
559   <entry>ad-filtering</entry>
560   <entry>?</entry>
561   <entry>x</entry>
562   <entry>x</entry>
563   <entry>x</entry>
564 </row>
565 <!-- new row -->
566 <row>
567   <entry>blank image</entry>
568   <entry>?</entry>
569   <entry>x</entry>
570   <entry>x</entry>
571   <entry>x</entry>
572 </row>
573 <!-- new row -->
574 <row>
575   <entry>de-animate GIFs</entry>
576   <entry>?</entry>
577   <entry>x</entry>
578   <entry>x</entry>
579   <entry>x</entry>
580 </row>
581 <!-- new row -->
582 <row>
583   <entry>referer forging</entry>
584   <entry>?</entry>
585   <entry>x</entry>
586   <entry>x</entry>
587   <entry>x</entry>
588 </row>
589 <!-- new row -->
590 <row>
591   <entry>jon's +no-cookies-keep (i.e. session cookies only)</entry>
592   <entry>?</entry>
593   <entry>x</entry>
594   <entry>x</entry>
595   <entry>x</entry>
596 </row>
597 <!-- new row -->
598 <row>
599   <entry>no-popup windows</entry>
600   <entry>?</entry>
601   <entry></entry>
602   <entry>x</entry>
603   <entry>x</entry>
604 </row>
605 <!-- new row -->
606 <row>
607   <entry>fast redirects</entry>
608   <entry>?</entry>
609   <entry></entry>
610   <entry>x</entry>
611   <entry>x</entry>
612 </row>
613 <!-- new row -->
614 <row>
615   <entry>hide-referrer</entry>
616   <entry>?</entry>
617   <entry></entry>
618   <entry>x</entry>
619   <entry>x</entry>
620 </row>
621 <!-- new row -->
622 <row>
623   <entry>hide-useragent</entry>
624   <entry>?</entry>
625   <entry></entry>
626   <entry>x</entry>
627   <entry>x</entry>
628 </row>
629 <!-- new row -->
630 <row>
631   <entry>content-modification</entry>
632   <entry>?</entry>
633   <entry></entry>
634   <entry></entry>
635   <entry>x</entry>
636 </row>
637 <!-- new row -->
638 <row>
639   <entry>feature-x</entry>
640   <entry>?</entry>
641   <entry></entry>
642   <entry></entry>
643   <entry></entry>
644 </row>
645 <!-- new row -->
646 <row>
647   <entry>feature-y</entry>
648   <entry>?</entry>
649   <entry></entry>
650   <entry></entry>
651   <entry></entry>
652 </row>
653 <!-- new row -->
654 <row>
655   <entry>feature-z</entry>
656   <entry>?</entry>
657   <entry></entry>
658   <entry></entry>
659   <entry></entry>
660 </row>
661 <!-- finish -->
662 </tbody>
663 </tgroup>
664 </table>
665 </para>
666 </sect3>
667
668 <sect3 id="browseconfig"> <title>Why can I change the configuration with a
669 browser? Does that not raise security issues?</title>
670  <para>
671 What I don't understand, is how I can browser edit the config file as a
672 regular user, while the whole /etc/privoxy hierarchy belongs to the user
673 "privoxy", with only 644 perms.
674  </para>
675  <para>
676 When you use the browser-based editor, <application>Privoxy</application>
677 itself is writing to the config files.  Because
678 <application>Privoxy</application> is running as the user "privoxy", it can
679 update the config files.
680  </para>
681  <para>
682 If you don't like this, setting "enable-edit-actions 0" in the config file
683 will disable the browser-based editor.  If you're that paranoid, you should
684 also consider setting "enable-remote-toggle 0" to prevent browser-based
685 enabling/disabling of <application>Privoxy</application>.
686  </para>
687  <para>
688 Note that normally only local users can connect to <application>Privoxy</application>, so this is not
689 (normally) a security problem.
690  </para>
691 </sect3>
692
693
694 <sect3>
695 <title id="filterfile">What is a <quote>default.filter</quote>?</title>
696 <para>
697  The <quote>default.filter</quote> file is used to <quote>filter</quote> any
698  page content. By <quote>filtering</quote> we mean it can modify, remove, 
699  or change <emphasis>anything</emphasis> on the page, including HTML tags, and
700  JavaScript. Regular expressions are used to accomplish this. This is
701  potentially a very powerful feature, but requires some expertise. 
702 </para>
703
704 <para>
705  If you are familiar with regular expressions, and HTML, you can look at 
706  the provided <filename>default.filter</filename> with a text editor and see
707  some of things it can be used for.
708 </para>
709
710 <para>
711  Presently, there is no GUI editor option for this part of the configuration, 
712  but you can disable/enable various sections of the included default 
713  file with the Actions List Editor from your browser.
714 </para>
715
716 </sect3>
717
718 <sect3>
719 <title id="lanconfig">How can I set up <application>Privoxy</application> to act as a proxy for my 
720  LAN?</title>
721 <para>
722  By default, <application>Privoxy</application> only responds to requests 
723  from localhost. To have it act as a server for a network, this needs to be 
724  changed in the main config file where the <application>Privoxy</application>
725  configuration is located. In that file is a <quote>listen-address</quote> 
726  option. It may be commented out with a <quote>#</quote> symbol. Make sure 
727  it is uncommented, and assign it the address of the LAN gateway interface, 
728  and port number to use:
729 </para>
730
731 <para>
732  <screen>
733   listen-address  192.168.1.1:8118
734  </screen>
735 </para>
736
737 <para>
738  Save the file, and restart <application>Privoxy</application>. Configure 
739  all browsers on the network then to use this address and port number.
740 </para>
741
742 </sect3>
743
744
745 <sect3>
746 <title id="noseeum">Instead of ads, now I get a checkerboard pattern. I don't want to see anything.</title>
747 <para>
748  This is a configuration option for images that
749  <application>Privoxy</application> is stopping. You have the choice <!-- of
750  the --> <!-- <application>Privoxy</application> logo, --> a checkerboard
751  pattern (this scales better), a transparent 1x1 GIF image, or a custom URL or
752  your choice.
753 </para>
754
755 <para>
756  If you want to see nothing, then change the <quote>+image-blocker</quote> 
757  action to <quote>+image-blocker{blank}</quote>. This can be done from the 
758  <quote>Edit Actions List</quote> selection at <ulink
759  url="http://p.p/">http://p.p/</ulink>. Or by hand editing the appropriate 
760  actions file. This will only effect what is defined as <quote>images</quote>
761  though. 
762
763 </para>
764
765 </sect3>
766
767
768 <sect3>
769 <title id="whyseeum">Why would anybody want to see the checkerboard?</title>
770 <para>
771  This can be helpful for troubleshooting problems. It might also be good 
772  for anyone new to <application>Privoxy</application> so that they can 
773  see if their favorite pages are displaying correctly, and
774  <application>Privoxy</application> is not inadvertently removing something 
775  important.
776 </para>
777
778 </sect3>
779
780 <sect3>
781 <title id="blockedisugly">I see large red banners on some pages that say 
782 <quote>Blocked</quote>. How do I get rid of this?</title>
783 <para>
784  These are URLs that match something in one of 
785  <application>Privoxy's</application> block actions (+block). It is meant
786  to be a warning so that you know something has been blocked and an easy way
787  for you to see why. These are handled differently than what has been defined
788  as <quote>images</quote> (e.g. ad banners). If you want them to be treated
789  as if they were images, so that they can be invisible, then move the
790  offending URL from the <quote>+block</quote> section to the
791  <quote>+imageblock</quote> section of your actions file. Alternately, you
792  could modify the <quote><filename>block</filename></quote> HTML template that
793  is used by <application>Privoxy</application> to display this, and make it
794  something more to your liking.
795 </para>
796
797 </sect3>
798
799 </sect2>
800
801 <!--   ~~~~~       New section      ~~~~~     -->
802
803 <sect2 id="misc"><title>Misc</title>
804
805 <sect3>
806 <title id="slowsme">How much does <application>Privoxy</application> slow my browsing down? This 
807 has to add extra time to browsing.</title>
808 <para>
809  It should not slow you down any in real terms, and may actually help 
810  speed things up since ads, banners and other junk are not being displayed.
811  The actual processing time required by <application>Privoxy</application> 
812  itself for each page, is relatively small in the overall scheme of things,
813  and happens very quickly. This is typically more than offset by time saved
814  not downloading and rendering ad images.
815 </para>
816
817 <para>
818  <quote>Filtering</quote> via the <filename>filterfile</filename> 
819  mechanism may cause a perceived slowdown, since the entire page is buffered
820  before displaying. See below.
821 </para>
822
823 </sect3>
824
825
826
827 <sect3 id="loadingtimes"><title>I noticed considerable
828 delays in page requests compared to the old Junkbuster. What's wrong?</title>
829 <para>
830 Using the default filtering configuration, I noticed considerable delays in
831 page requests compared to the old Junkbuster. Loading pages with large contents
832 seemed to take forever, then suddenly delivering all the content at once.
833  </para>
834 <para>
835 The whole content must be loaded in order to filter, and nothing is is
836 sent to the browser during this time. The loading time does not really
837 change in real numbers, but the feeling is different, because most
838 browsers are able to start rendering incomplete content, giving the
839 user a feeling of "it works". 
840  </para>
841 <para>
842 To modify the content of a page (i.e. make frames resizeable again, etc.) and
843 not just replace ads, <application>Privoxy</application> needs to download the
844 entire page first, do its content magic and then send the page to the browser.
845 </para>
846 </sect3>
847
848
849 <sect3 id="configurl"><title>What is the "http://p.p/"?</title>
850 <para>
851 Since <application>Privoxy</application> sits between your web browser and the Internet, it can be
852 programmed to handle certain pages specially.
853 </para>
854
855 <para>
856 With recent versions of <application>Privoxy</application> (version 2.9.x), you can get some
857 information about <application>Privoxy</application> and change some settings by going to
858 http://p.p/ or, equivalently, http://ijbswa.sourceforge.net/config/
859 (Note that p.p is far easier to type but may not work in some
860 configurations).
861 </para>
862
863 <para>
864 These pages are *not* forwarded to a server on the Internet - instead they are
865 handled by a special web server which is built in to <application>Privoxy</application>.
866 </para>
867
868 <para>
869 If you are not running <application>Privoxy</application>, then http://p.p/ will fail, and
870 http://ijbswa.sourceforge.net/config/ will return a web page telling you
871 you're not running <application>Privoxy</application>.
872 </para>
873
874 <para>
875 If you have version 2.0.2, then the equivalent is
876 http://example.com/show-proxy-args (but you get far less information, and you
877 should really consider upgrading to 2.9.x).
878 </para>
879 </sect3>
880
881 <!--
882 FIXME: commented out until we have data. HB 03/18/02.
883
884 <sect3 id="badfiledesc"><title>I get the message 'Bad File Descriptor', why?</title>
885 <para>
886    Fillme.
887 </para>
888 </sect3>
889
890 <sect3 id="proxy-chaining"><title>How do I chain <application>Privoxy</application> with other proxies
891 (e.g. squid)?</title>
892 <para>
893    Fillme.
894 </para>
895 </sect3>
896 -->
897
898 <sect3 id="blocklist"><title>Do you still maintain the blocklists?</title>
899 <para>
900     No. The format of the blocklists has changed significantly in the versions
901     2.9.x. Once we have released the new version, there will again be
902     blocklists that you can update automatically.
903 </para>
904 </sect3>
905
906 <sect3 id="newads"><title>How can I submit new ads?</title>
907 <para>
908     As of now, please discontinue to submit new ad blocking infos. Once we
909     have released the new version, there will again be a form on the website,
910     which you can use to contribute new ads.
911 </para>
912 </sect3>
913
914 <sect3 id="ip"><title>How can I hide my IP address?</title>
915 <para>
916  You cannot hide your IP address with <application>Privoxy</application> or any other software, since
917 the server needs to know your IP address to send the answer to you.
918 </para>
919 <para>
920 Fortunately there are many publicly usable anonymous proxies out there, which
921 solve the problem by providing a further level of indirection between you and
922 the web server, shared by many people and thus letting your requests "drown"
923 in white noise of unrelated requests as far as user tracking is concerned.
924 </para>
925 <para>
926 Most of them will, however, log your IP address and make it available to the
927 authorities in case you abuse that anonymity for criminal purposes. In fact
928 you can't even rule out that some of them only exist to *collect* information
929 on (those suspicious) people with a more than average preference for privacy.
930 </para>
931 <para>
932 You can find a list of anonymous public proxies at <ulink
933 url="http://www.multiproxy.org/anon_list.htm">multiproxy.org</ulink> and many
934 more through Google.
935 </para>
936 </sect3>
937
938 <!--  <sect3 id="image"><title>What is the imagefile (simage.ini, etc.) for?</title> -->
939 <!--  <para> -->
940 <!--   Anytime <application>Privoxy</application> determines (with the help of the blocklist) that a URL -->
941 <!--   contains an advertisement, it has to decide whether this advertisement is an -->
942 <!--   image or not. <application>Privoxy</application> uses the imagefile for that purpose. -->
943 <!--  </para> -->
944 <!--  </sect3> -->
945
946 <sect3>
947 <title id="anonforsure">Can <application>Privoxy</application> guarantee I am anonymous?</title>
948 <para>
949  No. Your chances of remaining anonymous are greatly improved, but unless you
950  are an expert on Internet security it would be safest to assume that
951  everything you do on the Web can be traced back to you.
952 </para>
953 <para>
954  <application>Privoxy</application> can remove various information about you,
955  and allows <emphasis>you</emphasis> more freedom  to decide which sites 
956  you can trust. But it's still possible that web sites can find out who you
957  are. Here's one way this can happen.
958 </para>
959 <para>
960  A few browsers disclose the user's email address in certain situations, such
961  as when transferring a file by FTP. <application>Privoxy</application>
962  does not filter FTP. If you need this feature, or are concerned about the
963  mail handler of your browser disclosing your email address, you might
964  consider products such as <application>NSClean</application>.
965 </para>
966 <para>
967  Browsers available only as binaries could use non-standard headers to give
968  out any information they can have access to: see the manufacturer's license
969  agreement. It's impossible to anticipate and prevent every breach of privacy
970  that might occur. The professionally paranoid prefer browsers available as
971  source code, because anticipating their behavior is easier. Trust the source,
972  Luke!
973 </para>
974
975 </sect3>
976
977 <sect3>
978 <title id="sitebreak">Might some things break because header information is
979 being altered?</title>
980
981 <para>
982  Definitely. More and more sites use HTTP header content to decide what to
983  display and how to display it. There is many ways that this can be handled, 
984  so having hard and fast rules, is tricky.
985 </para>
986
987 <para>
988  <quote>USER AGENT</quote> in particular is often used in this way to identify
989  the browser, and adjust content accordingly. Changing this now is not
990  recommended, since so many sites do look for this. You may get undesirable 
991  results by changing this.
992 </para>
993
994 <para>
995  For instance, different browsers use different encodings of Russian and Czech
996  characters, certain web servers convert pages on-the-fly according to the
997  User Agent header. Giving a <quote>User Agent</quote> with the wrong
998  operating system or browser manufacturer causes some sites in these languages
999  to be garbled; Surfers to Eastern European sites should change it to
1000  something closer. And then some page access counters work by looking at the
1001  <quote>REFERER</quote> header; they may fail or break if unavailable. The
1002  weather maps of Intellicast have been blocked by their server when no
1003  <quote>REFERER</quote> or cookie is provided, is another example. There are
1004  many, many other ways things can go wrong when trying to fool a web server.
1005 </para>
1006
1007 <para>
1008  If you have problems with a site, you will have to adjust your configuration 
1009  accordingly. Cookies are probably the most likely adjustment that may 
1010  be required, but by no means the only one.
1011
1012 </para>
1013
1014 </sect3>
1015
1016
1017 <sect3>
1018 <title id="caching">Can <application>Privoxy</application> act as a <quote>caching</quote> proxy to 
1019 speed up web browsing?</title>
1020 <para>
1021  No, it does not have this ability at all. You want something like 
1022  <ulink url="http://www.squid-cache.org/">Squid</ulink> for this. And, yes, 
1023  before you ask, <application>Privoxy</application> can co-exist 
1024  with other kinds of proxies like <quote>Squid</quote>.
1025 </para>
1026 </sect3>
1027
1028 <sect3>
1029 <title id="firewall">What about as a firewall? Can <application>Privoxy</application> protect me?</title>
1030 <para>
1031  Not in the way you mean, or in the way a true firewall can, or a proxy that
1032  has this specific capability. <application>Privoxy</application> can help
1033  protect your privacy, but not really protect you from intrusion attempts.
1034 </para>
1035 </sect3>
1036
1037
1038 <sect3>
1039 <title id="logo">The <application>Privoxy</application> logo that replaces ads is very blocky 
1040 and ugly looking. Can't a better font be used?</title>
1041
1042 <para>
1043  This is not a font problem. The logo is an image that is created by 
1044  <application>Privoxy</application> on the fly. So as to not waste 
1045  memory, the image is rather small. The blockiness comes when the 
1046  image is scaled to fill a largish area. There is not much to be done 
1047  about this, other than to use one of the other
1048  <quote>imageblock</quote> directives: <emphasis>pattern</emphasis>, 
1049  <emphasis>blank</emphasis>, or a URL of your choosing.
1050 </para>
1051 <para>
1052 Given the above problem, we have decided to remove the logo option entirely.
1053 </para>
1054 </sect3>
1055
1056
1057 <sect3>
1058 <title id="wasted">I have large empty spaces now where ads used to be. 
1059 Why does <application>Privoxy</application> leave these large gaps?</title>
1060 <para>
1061  It would be easy enough to just eliminate this space altogether, rather than
1062  fill it with blank space. But, this would create problems with many pages
1063  that use the overall size of the ad to help organize the page layout and
1064  position the various components of the page where they were intended to be.
1065  It is best left this way.
1066 </para>
1067
1068 </sect3>
1069
1070 <sect3>
1071 <title id="ssl">How can <application>Privoxy</application> filter Secure (HTTPS) URLs?</title>
1072 <para>
1073  This is a limitation since HTTPS transactions are encrypted SSL sessions
1074  between your browser and the secure site, and are meant to be reliably 
1075  <emphasis>secure</emphasis> and private. This means that all cookies and HTTP
1076  header information are also encrypted from the time they leave your browser,
1077  to the site, and vice versa. <application>Privoxy</application> does not
1078  try to unencrypt this information, so it just passes through as is.
1079  <application>Privoxy</application> can still catch images and ads that
1080  are embedded in the SSL stream though.
1081 </para>
1082
1083 </sect3>
1084
1085
1086 <sect3>
1087 <title id="secure"><application>Privoxy</application> runs as a <quote>server</quote>. How 
1088 secure is it? Do I need to take any special precautions?</title>
1089 <para>
1090  There are no known exploits that might effect
1091  <application>Privoxy</application>. On Unix-like systems, 
1092  <application>Privoxy</application> can run as a non-privileged 
1093  user, which is how we recommend it be run. Also, by default 
1094  <application>Privoxy</application> only listens to requests 
1095  from <quote>localhost</quote>. It is not itself directly exposed to the
1096  Internet in this configuration. If you want to have
1097  <application>Privoxy</application> serve as a LAN proxy, this will have to
1098  be opened up to allow for LAN requests. In this case, we'd recommend
1099  you specify only the LAN gateway address, e.g. 192.168.1.1 in the main 
1100  <application>Privoxy</application> config file. All LAN hosts can then use 
1101  this as their proxy address in the browser proxy configuration. In this way, 
1102  <application>Privoxy</application> will not listen on any external ports.
1103  Of course, a firewall is always good too. Better safe than sorry.
1104 </para>
1105
1106 </sect3>
1107
1108 </sect2>
1109
1110
1111 <!--   ~~~~~       New section      ~~~~~     -->
1112
1113 <sect2>
1114 <title id="trouble">Troubleshooting</title>
1115
1116 <sect3>
1117 <title id="refused">I just upgraded and am getting <quote>connection refused</quote>
1118 with every web page?</title>
1119 <para>
1120  Either <application>Privoxy</application> is not running, or your 
1121  browser is configured for a different port than what
1122  <application>Privoxy</application> is using.
1123 </para>
1124
1125 <para>
1126  The old <application>Privoxy</application> (and also
1127  <application>Junkbuster</application>) used port 8000 by 
1128  default. This has been changed to port 8118 now, due to a conflict 
1129  with NAS (Network Audio Service), which uses port 8000. If you haven't, 
1130  you need to change your browser to the new port number, or alternately 
1131  change <application>Privoxy's</application> <quote>listen-address</quote>
1132  setting in the <filename>config</filename> file used to start 
1133  <application>Privoxy</application>.
1134 </para>
1135
1136 </sect3>
1137
1138 <sect3>
1139 <title id="flushit">I just added a new rule, but the steenkin ad is 
1140 still getting through. How?</title>
1141 <para>
1142  If the ad had been displayed before you added its URL, it will probably be
1143  held in the browser's cache for some time, so it will be displayed without
1144  the need for any request to the server, and <application>Privoxy</application>
1145  will not be in the picture. The best thing to do is try flushing the browser's
1146  caches. And then try again.
1147 </para>
1148
1149 <para>
1150  If this doesn't help, you probably have an error in the rule you
1151  applied. Try pasting the full URL of the offending ad into <ulink
1152  url="http://ijbswa.sourceforge.net/config/show-url-info">http://ijbswa.sourceforge.net/config/show-url-info</ulink>
1153  and see if any actions match your new rule.
1154 </para>
1155
1156 </sect3>
1157
1158 <sect3>
1159 <title id="badsite">One of my favorite sites does not work with <application>Privoxy</application>.
1160 What can I do?</title>
1161
1162 <para>
1163  First verify that it is indeed a <application>Privoxy</application> problem, 
1164  by disabling <application>Privoxy</application> filtering and blocking. 
1165  Go to <ulink url="http://p.p/">http://p.p/</ulink> and click on 
1166  <quote>Toggle Privoxy On or Off</quote>, then disable it. Now try that 
1167  page again.
1168 </para>
1169
1170 <para>
1171  If still a problem, go to <quote>Show which actions apply to a URL and
1172  why</quote> from <ulink url="http://p.p/">http://p.p/</ulink> and paste
1173  the full URL of the page in question into the prompt. See which actions are
1174  being applied to the URL. Now, armed with this information, go to <quote>Edit
1175  the actions list</quote>. Here you should see various sections that have
1176  various <application>Privoxy</application> features disabled for specific
1177  sites. Disabled <quote>actions</quote> will have a <quote>-</quote> (minus
1178  sign) in front of them. Add your problem page URL to one of these sections
1179  that looks like it is disabling the feature that is causing the
1180  problem. Re-try the page. There might be some trial and error involved. This
1181  is discussed in a little more detail in the <ulink
1182  url="http://ijbswa.sourceforge.net/user-manual/appendix.html#ACTIONSANAT">user-manual
1183  appendix</ulink>.
1184
1185 </para>
1186
1187 <para>
1188  Alternately, if you are comfortable with a text editor, you can accomplish 
1189  the same thing by editing the appropriate <quote>actions</quote> file.
1190 </para>
1191
1192 </sect3>
1193
1194 <sect3>
1195 <title id="time">What time is it?</title>
1196 <para>
1197  Time for you to go!
1198 </para>
1199 </sect3>
1200
1201 </sect2>
1202
1203 </sect1>
1204
1205
1206 <!--   ~~~~~       New section      ~~~~~     -->
1207 <!--
1208 FIXME: Commented out until we have something to put here. HB 03/18/02.
1209 <sect1 id="knownissues"><title>Known Issues</title>
1210 <para>
1211    Fillme.
1212 </para>
1213 </sect1>
1214 -->
1215 <!--   ~~~~~       New section      ~~~~~     -->
1216 <sect1 id="contact"><title>Contact the developers</title>
1217 <para>Please see the user manual for information on how to contact the developers.
1218 </para>
1219 </sect1>
1220
1221 <!--   ~~~~~       New section      ~~~~~     -->
1222 <sect1 id="copyright"><title>Copyright and History</title>
1223 <para>Please see the user manual for information on Copyright and History.
1224 </para>
1225 </sect1>
1226
1227 <!--   ~~~~~       New section      ~~~~~     -->
1228 <sect1 id="seealso"><title>See also</title>
1229 <para>Please see the user manual for information on references.
1230 </para>
1231 </sect1>
1232
1233 <!-- hhmts end -->
1234  <!--
1235  Tue 09/11/01 06:38:14 PM EST: Test SGML doc by Hal Burgiss.
1236  
1237  Last modified: Mon Sep 10 19:22:09 CEST 2001
1238  
1239  This program is free software; you can redistribute it 
1240  and/or modify it under the terms of the GNU General
1241  Public License as published by the Free Software
1242  Foundation; either version 2 of the License, or (at
1243  your option) any later version.
1244
1245  This program is distributed in the hope that it will
1246  be useful, but WITHOUT ANY WARRANTY; without even the
1247  implied warranty of MERCHANTABILITY or FITNESS FOR A
1248  PARTICULAR PURPOSE.  See the GNU General Public
1249  License for more details.
1250
1251  The GNU General Public License should be included with
1252  this file.  If not, you can view it at
1253  http://www.gnu.org/copyleft/gpl.html
1254  or write to the Free Software Foundation, Inc., 59
1255  Temple Place - Suite 330, Boston, MA  02111-1307, USA.
1256
1257 $Log: faq.sgml,v $
1258 Revision 1.28  2002/03/25 04:27:33  hal9
1259 New section related to name change.
1260
1261 Revision 1.25  2002/03/24 16:08:08  swa
1262 we are too lazy to make a block-built
1263 privoxy logo. hence removed the option.
1264
1265 Revision 1.24  2002/03/24 15:46:20  swa
1266 name change related issue.
1267
1268 Revision 1.23  2002/03/24 12:33:01  swa
1269 more additions.
1270
1271 Revision 1.22  2002/03/24 11:51:00  swa
1272 name change. changed filenames.
1273
1274 Revision 1.21  2002/03/24 11:01:06  swa
1275 name change
1276
1277 Revision 1.20  2002/03/23 15:13:11  swa
1278 renamed every reference to the old name with foobar.
1279 fixed "application foobar application" tag, fixed
1280 "the foobar" with "foobar". left junkbustser in cvs
1281 comments and remarks to history untouched.
1282
1283 Revision 1.19  2002/03/21 17:01:54  hal9
1284 Some touch ups.
1285
1286 Revision 1.18  2002/03/18 16:40:31  hal9
1287 More additions.
1288
1289 Revision 1.17  2002/03/18 03:53:53  hal9
1290 Some new additions.
1291
1292 Revision 1.16  2002/03/17 21:32:56  hal9
1293 A few more additions.
1294
1295 Revision 1.15  2002/03/17 07:25:59  hal9
1296 Correcting some of my typos, and some additions.
1297
1298 Revision 1.14  2002/03/17 02:39:13  hal9
1299 A little more added ...
1300
1301 Revision 1.13  2002/03/17 00:22:20  hal9
1302 Adding new stuff, and trying to incorporate stuff from old faq.
1303
1304 Revision 1.12  2002/03/11 20:13:21  swa
1305 typo
1306
1307 Revision 1.11  2002/03/11 18:42:27  swa
1308 new section
1309
1310 Revision 1.10  2002/03/11 13:13:27  swa
1311 correct feedback channels
1312
1313 Revision 1.9  2002/03/10 23:34:04  swa
1314 more info on not hiding ip address
1315
1316 Revision 1.8  2002/03/09 15:55:48  swa
1317 added default config section
1318
1319 Revision 1.7  2002/03/07 18:16:55  swa
1320 looks better
1321
1322 Revision 1.6  2002/03/07 13:16:31  oes
1323 Committing changes by Stefan
1324
1325 Revision 1.5  2002/03/02 15:50:04  swa
1326 2.9.11 version. more input for docs.
1327
1328 Revision 1.4  2002/02/24 14:34:24  jongfoster
1329 Formatting changes.  Now changing the doctype to DocBook XML 4.1
1330 will work - no other changes are needed.
1331
1332 Revision 1.3  2001/09/23 10:13:48  swa
1333 upload process established. run make webserver and
1334 the documentation is moved to the webserver. documents
1335 are now linked correctly.
1336
1337 Revision 1.2  2001/09/13 15:20:17  swa
1338 merged standards into developer manual
1339
1340 Revision 1.1  2001/09/12 15:36:41  swa
1341 source files for junkbuster documentation
1342
1343 Revision 1.3  2001/09/10 17:43:59  swa
1344 first proposal of a structure.
1345
1346 Revision 1.2  2001/06/13 14:28:31  swa
1347 docs should have an author.
1348
1349 Revision 1.1  2001/06/13 14:20:37  swa
1350 first import of project's documentation for the webserver.
1351
1352 -->
1353
1354 </article>