New section related to name change.
[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.25 2002/03/24 16:08:08 swa 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.25 2002/03/24 16:08:08 swa 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 <sect3>
694 <title id="lanconfig">How can I set up <application>Privoxy</application> to act as a proxy for my 
695  LAN?</title>
696 <para>
697  By default, <application>Privoxy</application> only responds to requests 
698  from localhost. To have it act as a server for a network, this needs to be 
699  changed in the main config file where the <application>Privoxy</application>
700  configuration is located. In that file is a <quote>listen-address</quote> 
701  option. It may be commented out with a <quote>#</quote> symbol. Make sure 
702  it is uncommented, and assign it the address of the LAN gateway interface, 
703  and port number to use:
704 </para>
705
706 <para>
707  <screen>
708   listen-address  192.168.1.1:8118
709  </screen>
710 </para>
711
712 <para>
713  Save the file, and restart <application>Privoxy</application>. Configure 
714  all browsers on the network then to use this address and port number.
715 </para>
716
717 </sect3>
718
719
720 <sect3>
721 <title id="noseeum">Instead of ads, now I get a checkerboard pattern. I don't want to see anything.</title>
722 <para>
723  This is a configuration option for images that
724  <application>Privoxy</application> is stopping. You have the choice <!-- of
725  the --> <!-- <application>Privoxy</application> logo, --> a checkerboard
726  pattern (this scales better), a transparent 1x1 GIF image, or a custom URL or
727  your choice.
728 </para>
729
730 <para>
731  If you want to see nothing, then change the <quote>+image-blocker</quote> 
732  action to <quote>+image-blocker{blank}</quote>. This can be done from the 
733  <quote>Edit Actions List</quote> selection at <ulink
734  url="http://p.p/">http://p.p/</ulink>. Or by hand editing the appropriate 
735  actions file. This will only effect what is defined as <quote>images</quote>
736  though. 
737
738 </para>
739
740 </sect3>
741
742
743 <sect3>
744 <title id="whyseeum">Why would anybody want to see the checkerboard?</title>
745 <para>
746  This can be helpful for troubleshooting problems. It might also be good 
747  for anyone new to <application>Privoxy</application> so that they can 
748  see if their favorite pages are displaying correctly, and
749  <application>Privoxy</application> is not inadvertently removing something 
750  important.
751 </para>
752
753 </sect3>
754
755 <sect3>
756 <title id="blockedisugly">I see large red banners on some pages that say 
757 <quote>Blocked</quote>. How do I get rid of this?</title>
758 <para>
759  These are URLs that match something in one of 
760  <application>Privoxy's</application> block actions (+block). It is meant
761  to be a warning so that you know something has been blocked and an easy way
762  for you to see why. These are handled differently than what has been defined
763  as <quote>images</quote> (e.g. ad banners). If you want them to be treated
764  as if they were images, so that they can be invisible, then move the
765  offending URL from the <quote>+block</quote> section to the
766  <quote>+imageblock</quote> section of your actions file. Alternately, you
767  could modify the <quote><filename>block</filename></quote> HTML template that
768  is used by <application>Privoxy</application> to display this, and make it
769  something more to your liking.
770 </para>
771
772 </sect3>
773
774 </sect2>
775
776 <!--   ~~~~~       New section      ~~~~~     -->
777
778 <sect2 id="misc"><title>Misc</title>
779
780 <sect3>
781 <title id="slowsme">How much does <application>Privoxy</application> slow my browsing down? This 
782 has to add extra time to browsing.</title>
783 <para>
784  It should not slow you down any in real terms, and may actually help 
785  speed things up since ads, banners and other junk are not being displayed.
786  The actual processing time required by <application>Privoxy</application> 
787  itself for each page, is relatively small in the overall scheme of things,
788  and happens very quickly. This is typically more than offset by time saved
789  not downloading and rendering ad images.
790 </para>
791
792 <para>
793  <quote>Filtering</quote> via the <filename>filterfile</filename> 
794  mechanism may cause a perceived slowdown, since the entire page is buffered
795  before displaying. See below.
796 </para>
797
798 </sect3>
799
800
801
802 <sect3 id="loadingtimes"><title>I noticed considerable
803 delays in page requests compared to the old Junkbuster. What's wrong?</title>
804 <para>
805 Using the default filtering configuration, I noticed considerable delays in
806 page requests compared to the old Junkbuster. Loading pages with large contents
807 seemed to take forever, then suddenly delivering all the content at once.
808  </para>
809 <para>
810 The whole content must be loaded in order to filter, and nothing is is
811 sent to the browser during this time. The loading time does not really
812 change in real numbers, but the feeling is different, because most
813 browsers are able to start rendering incomplete content, giving the
814 user a feeling of "it works". 
815  </para>
816 <para>
817 To modify the content of a page (i.e. make frames resizeable again, etc.) and
818 not just replace ads, <application>Privoxy</application> needs to download the
819 entire page first, do its content magic and then send the page to the browser.
820 </para>
821 </sect3>
822
823
824 <sect3 id="configurl"><title>What is the "http://p.p/"?</title>
825 <para>
826 Since <application>Privoxy</application> sits between your web browser and the Internet, it can be
827 programmed to handle certain pages specially.
828 </para>
829
830 <para>
831 With recent versions of <application>Privoxy</application> (version 2.9.x), you can get some
832 information about <application>Privoxy</application> and change some settings by going to
833 http://p.p/ or, equivalently, http://ijbswa.sourceforge.net/config/
834 (Note that p.p is far easier to type but may not work in some
835 configurations).
836 </para>
837
838 <para>
839 These pages are *not* forwarded to a server on the Internet - instead they are
840 handled by a special web server which is built in to <application>Privoxy</application>.
841 </para>
842
843 <para>
844 If you are not running <application>Privoxy</application>, then http://p.p/ will fail, and
845 http://ijbswa.sourceforge.net/config/ will return a web page telling you
846 you're not running <application>Privoxy</application>.
847 </para>
848
849 <para>
850 If you have version 2.0.2, then the equivalent is
851 http://example.com/show-proxy-args (but you get far less information, and you
852 should really consider upgrading to 2.9.x).
853 </para>
854 </sect3>
855
856 <!--
857 FIXME: commented out until we have data. HB 03/18/02.
858
859 <sect3 id="badfiledesc"><title>I get the message 'Bad File Descriptor', why?</title>
860 <para>
861    Fillme.
862 </para>
863 </sect3>
864
865 <sect3 id="proxy-chaining"><title>How do I chain <application>Privoxy</application> with other proxies
866 (e.g. squid)?</title>
867 <para>
868    Fillme.
869 </para>
870 </sect3>
871 -->
872
873 <sect3 id="blocklist"><title>Do you still maintain the blocklists?</title>
874 <para>
875     No. The format of the blocklists has changed significantly in the versions
876     2.9.x. Once we have released the new version, there will again be
877     blocklists that you can update automatically.
878 </para>
879 </sect3>
880
881 <sect3 id="newads"><title>How can I submit new ads?</title>
882 <para>
883     As of now, please discontinue to submit new ad blocking infos. Once we
884     have released the new version, there will again be a form on the website,
885     which you can use to contribute new ads.
886 </para>
887 </sect3>
888
889 <sect3 id="ip"><title>How can I hide my IP address?</title>
890 <para>
891  You cannot hide your IP address with <application>Privoxy</application> or any other software, since
892 the server needs to know your IP address to send the answer to you.
893 </para>
894 <para>
895 Fortunately there are many publicly usable anonymous proxies out there, which
896 solve the problem by providing a further level of indirection between you and
897 the web server, shared by many people and thus letting your requests "drown"
898 in white noise of unrelated requests as far as user tracking is concerned.
899 </para>
900 <para>
901 Most of them will, however, log your IP address and make it available to the
902 authorities in case you abuse that anonymity for criminal purposes. In fact
903 you can't even rule out that some of them only exist to *collect* information
904 on (those suspicious) people with a more than average preference for privacy.
905 </para>
906 <para>
907 You can find a list of anonymous public proxies at <ulink
908 url="http://www.multiproxy.org/anon_list.htm">multiproxy.org</ulink> and many
909 more through Google.
910 </para>
911 </sect3>
912
913 <!--  <sect3 id="image"><title>What is the imagefile (simage.ini, etc.) for?</title> -->
914 <!--  <para> -->
915 <!--   Anytime <application>Privoxy</application> determines (with the help of the blocklist) that a URL -->
916 <!--   contains an advertisement, it has to decide whether this advertisement is an -->
917 <!--   image or not. <application>Privoxy</application> uses the imagefile for that purpose. -->
918 <!--  </para> -->
919 <!--  </sect3> -->
920
921 <sect3>
922 <title id="anonforsure">Can <application>Privoxy</application> guarantee I am anonymous?</title>
923 <para>
924  No. Your chances of remaining anonymous are greatly improved, but unless you
925  are an expert on Internet security it would be safest to assume that
926  everything you do on the Web can be traced back to you.
927 </para>
928 <para>
929  <application>Privoxy</application> can remove various information about you,
930  and allows <emphasis>you</emphasis> more freedom  to decide which sites 
931  you can trust. But it's still possible that web sites can find out who you
932  are. Here's one way this can happen.
933 </para>
934 <para>
935  A few browsers disclose the user's email address in certain situations, such
936  as when transferring a file by FTP. <application>Privoxy</application>
937  does not filter FTP. If you need this feature, or are concerned about the
938  mail handler of your browser disclosing your email address, you might
939  consider products such as <application>NSClean</application>.
940 </para>
941 <para>
942  Browsers available only as binaries could use non-standard headers to give
943  out any information they can have access to: see the manufacturer's license
944  agreement. It's impossible to anticipate and prevent every breach of privacy
945  that might occur. The professionally paranoid prefer browsers available as
946  source code, because anticipating their behavior is easier. Trust the source,
947  Luke!
948 </para>
949
950 </sect3>
951
952 <sect3>
953 <title id="sitebreak">Might some things break because header information is
954 being altered?</title>
955
956 <para>
957  Definitely. More and more sites use HTTP header content to decide what to
958  display and how to display it. There is many ways that this can be handled, 
959  so having hard and fast rules, is tricky.
960 </para>
961
962 <para>
963  <quote>USER AGENT</quote> in particular is often used in this way to identify
964  the browser, and adjust content accordingly. Changing this now is not
965  recommended, since so many sites do look for this. You may get undesirable 
966  results by changing this.
967 </para>
968
969 <para>
970  For instance, different browsers use different encodings of Russian and Czech
971  characters, certain web servers convert pages on-the-fly according to the
972  User Agent header. Giving a <quote>User Agent</quote> with the wrong
973  operating system or browser manufacturer causes some sites in these languages
974  to be garbled; Surfers to Eastern European sites should change it to
975  something closer. And then some page access counters work by looking at the
976  <quote>REFERER</quote> header; they may fail or break if unavailable. The
977  weather maps of Intellicast have been blocked by their server when no
978  <quote>REFERER</quote> or cookie is provided, is another example. There are
979  many, many other ways things can go wrong when trying to fool a web server.
980 </para>
981
982 <para>
983  If you have problems with a site, you will have to adjust your configuration 
984  accordingly. Cookies are probably the most likely adjustment that may 
985  be required, but by no means the only one.
986
987 </para>
988
989 </sect3>
990
991
992 <sect3>
993 <title id="caching">Can <application>Privoxy</application> act as a <quote>caching</quote> proxy to 
994 speed up web browsing?</title>
995 <para>
996  No, it does not have this ability at all. You want something like 
997  <ulink url="http://www.squid-cache.org/">Squid</ulink> for this. And, yes, 
998  before you ask, <application>Privoxy</application> can co-exist 
999  with other kinds of proxies like <quote>Squid</quote>.
1000 </para>
1001 </sect3>
1002
1003 <sect3>
1004 <title id="firewall">What about as a firewall? Can <application>Privoxy</application> protect me?</title>
1005 <para>
1006  Not in the way you mean, or in the way a true firewall can, or a proxy that
1007  has this specific capability. <application>Privoxy</application> can help
1008  protect your privacy, but not really protect you from intrusion attempts.
1009 </para>
1010 </sect3>
1011
1012
1013 <sect3>
1014 <title id="logo">The <application>Privoxy</application> logo that replaces ads is very blocky 
1015 and ugly looking. Can't a better font be used?</title>
1016
1017 <para>
1018  This is not a font problem. The logo is an image that is created by 
1019  <application>Privoxy</application> on the fly. So as to not waste 
1020  memory, the image is rather small. The blockiness comes when the 
1021  image is scaled to fill a largish area. There is not much to be done 
1022  about this, other than to use one of the other
1023  <quote>imageblock</quote> directives: <emphasis>pattern</emphasis>, 
1024  <emphasis>blank</emphasis>, or a URL of your choosing.
1025 </para>
1026 <para>
1027 Given the above problem, we have decided to remove the logo option entirely.
1028 </para>
1029 </sect3>
1030
1031
1032 <sect3>
1033 <title id="wasted">I have large empty spaces now where ads used to be. 
1034 Why does <application>Privoxy</application> leave these large gaps?</title>
1035 <para>
1036  It would be easy enough to just eliminate this space altogether, rather than
1037  fill it with blank space. But, this would create problems with many pages
1038  that use the overall size of the ad to help organize the page layout and
1039  position the various components of the page where they were intended to be.
1040  It is best left this way.
1041 </para>
1042
1043 </sect3>
1044
1045 <sect3>
1046 <title id="ssl">How can <application>Privoxy</application> filter Secure (HTTPS) URLs?</title>
1047 <para>
1048  This is a limitation since HTTPS transactions are encrypted SSL sessions
1049  between your browser and the secure site, and are meant to be reliably 
1050  <emphasis>secure</emphasis> and private. This means that all cookies and HTTP
1051  header information are also encrypted from the time they leave your browser,
1052  to the site, and vice versa. <application>Privoxy</application> does not
1053  try to unencrypt this information, so it just passes through as is.
1054  <application>Privoxy</application> can still catch images and ads that
1055  are embedded in the SSL stream though.
1056 </para>
1057
1058 </sect3>
1059
1060
1061 <sect3>
1062 <title id="secure"><application>Privoxy</application> runs as a <quote>server</quote>. How 
1063 secure is it? Do I need to take any special precautions?</title>
1064 <para>
1065  There are no known exploits that might effect
1066  <application>Privoxy</application>. On Unix-like systems, 
1067  <application>Privoxy</application> can run as a non-privileged 
1068  user, which is how we recommend it be run. Also, by default 
1069  <application>Privoxy</application> only listens to requests 
1070  from <quote>localhost</quote>. It is not itself directly exposed to the
1071  Internet in this configuration. If you want to have
1072  <application>Privoxy</application> serve as a LAN proxy, this will have to
1073  be opened up to allow for LAN requests. In this case, we'd recommend
1074  you specify only the LAN gateway address, e.g. 192.168.1.1 in the main 
1075  <application>Privoxy</application> config file. All LAN hosts can then use 
1076  this as their proxy address in the browser proxy configuration. In this way, 
1077  <application>Privoxy</application> will not listen on any external ports.
1078  Of course, a firewall is always good too. Better safe than sorry.
1079 </para>
1080
1081 </sect3>
1082
1083 <sect3>
1084 <title id="filterfile">What is a <quote>default.filter</quote>?</title>
1085 <para>
1086  The <quote>default.filter</quote> is used to <quote>filter</quote> any
1087  page content. By <quote>filtering</quote> we mean it can modify, remove, 
1088  or change <emphasis>anything</emphasis> on the page, including HTML tags, and
1089  JavaScript. Regular expressions are used to accomplish this. This is
1090  potentially a very powerful feature, but requires some expertise.
1091 </para>
1092
1093 <para>
1094  If you are familiar with regular expressions, and HTML, you can look at 
1095  the provided <filename>default.filter</filename> with a text editor and see
1096  some of things it can be used for.
1097 </para>
1098
1099 <para>
1100  Presently, there is no GUI editor option for this part of the configuration.
1101 </para>
1102
1103 </sect3>
1104 </sect2>
1105
1106
1107 <!--   ~~~~~       New section      ~~~~~     -->
1108
1109 <sect2>
1110 <title id="trouble">Troubleshooting</title>
1111
1112 <sect3>
1113 <title id="refused">I just upgraded and am getting <quote>connection refused</quote>
1114 with every web page?</title>
1115 <para>
1116  Either <application>Privoxy</application> is not running, or your 
1117  browser is configured for a different port than what
1118  <application>Privoxy</application> is using.
1119 </para>
1120
1121 <para>
1122  The old <application>Privoxy</application> (and also
1123  <application>Junkbuster</application>) used port 8000 by 
1124  default. This has been changed to port 8118 now, due to a conflict 
1125  with NAS (Network Audio Service), which uses port 8000. If you haven't, 
1126  you need to change your browser to the new port number, or alternately 
1127  change <application>Privoxy's</application> <quote>listen-address</quote>
1128  setting in the <filename>config</filename> file used to start 
1129  <application>Privoxy</application>.
1130 </para>
1131
1132 </sect3>
1133
1134 <sect3>
1135 <title id="flushit">I just added a new rule, but the steenkin ad is 
1136 still getting through. How?</title>
1137 <para>
1138  If the ad had been displayed before you added its URL, it will probably be
1139  held in the browser's cache for some time, so it will be displayed without
1140  the need for any request to the server, and <application>Privoxy</application>
1141  will not be in the picture. The best thing to do is try flushing the browser's
1142  caches. And then try again.
1143 </para>
1144
1145 <para>
1146  If this doesn't help, you probably have an error in the rule you
1147  applied. Try pasting the full URL of the offending ad into <ulink
1148  url="http://ijbswa.sourceforge.net/config/show-url-info">http://ijbswa.sourceforge.net/config/show-url-info</ulink>
1149  and see if any actions match your new rule.
1150 </para>
1151
1152 </sect3>
1153
1154 <sect3>
1155 <title id="badsite">One of my favorite sites does not work with <application>Privoxy</application>.
1156 What can I do?</title>
1157
1158 <para>
1159  First verify that it is indeed a <application>Privoxy</application> problem, 
1160  by disabling <application>Privoxy</application> filtering and blocking. 
1161  Go to <ulink url="http://p.p/">http://p.p/</ulink> and click on 
1162  <quote>Toggle Privoxy On or Off</quote>, then disable it. Now try that 
1163  page again.
1164 </para>
1165
1166 <para>
1167  If still a problem, go to <quote>Show which actions apply to a URL and
1168  why</quote> from <ulink url="http://p.p/">http://p.p/</ulink> and paste
1169  the full URL of the page in question into the prompt. See which actions are
1170  being applied to the URL. Now, armed with this information, go to <quote>Edit
1171  the actions list</quote>. Here you should see various sections that have
1172  various <application>Privoxy</application> features disabled for specific
1173  sites. Disabled <quote>actions</quote> will have a <quote>-</quote> (minus
1174  sign) in front of them. Add your problem page URL to one of these sections
1175  that looks like it is disabling the feature that is causing the
1176  problem. Re-try the page. There might be some trial and error involved. This
1177  is discussed in a little more detail in the <ulink
1178  url="http://ijbswa.sourceforge.net/user-manual/appendix.html#ACTIONSANAT">user-manual
1179  appendix</ulink>.
1180
1181 </para>
1182
1183 <para>
1184  Alternately, if you are comfortable with a text editor, you can accomplish 
1185  the same thing by editing the appropriate <quote>actions</quote> file.
1186 </para>
1187
1188 </sect3>
1189
1190 <sect3>
1191 <title id="time">What time is it?</title>
1192 <para>
1193  Time for you to go!
1194 </para>
1195 </sect3>
1196
1197 </sect2>
1198
1199 </sect1>
1200
1201
1202 <!--   ~~~~~       New section      ~~~~~     -->
1203 <!--
1204 FIXME: Commented out until we have something to put here. HB 03/18/02.
1205 <sect1 id="knownissues"><title>Known Issues</title>
1206 <para>
1207    Fillme.
1208 </para>
1209 </sect1>
1210 -->
1211 <!--   ~~~~~       New section      ~~~~~     -->
1212 <sect1 id="contact"><title>Contact the developers</title>
1213 <para>Please see the user manual for information on how to contact the developers.
1214 </para>
1215 </sect1>
1216
1217 <!--   ~~~~~       New section      ~~~~~     -->
1218 <sect1 id="copyright"><title>Copyright and History</title>
1219 <para>Please see the user manual for information on Copyright and History.
1220 </para>
1221 </sect1>
1222
1223 <!--   ~~~~~       New section      ~~~~~     -->
1224 <sect1 id="seealso"><title>See also</title>
1225 <para>Please see the user manual for information on references.
1226 </para>
1227 </sect1>
1228
1229 <!-- hhmts end -->
1230  <!--
1231  Tue 09/11/01 06:38:14 PM EST: Test SGML doc by Hal Burgiss.
1232  
1233  Last modified: Mon Sep 10 19:22:09 CEST 2001
1234  
1235  This program is free software; you can redistribute it 
1236  and/or modify it under the terms of the GNU General
1237  Public License as published by the Free Software
1238  Foundation; either version 2 of the License, or (at
1239  your option) any later version.
1240
1241  This program is distributed in the hope that it will
1242  be useful, but WITHOUT ANY WARRANTY; without even the
1243  implied warranty of MERCHANTABILITY or FITNESS FOR A
1244  PARTICULAR PURPOSE.  See the GNU General Public
1245  License for more details.
1246
1247  The GNU General Public License should be included with
1248  this file.  If not, you can view it at
1249  http://www.gnu.org/copyleft/gpl.html
1250  or write to the Free Software Foundation, Inc., 59
1251  Temple Place - Suite 330, Boston, MA  02111-1307, USA.
1252
1253 $Log: faq.sgml,v $
1254 Revision 1.25  2002/03/24 16:08:08  swa
1255 we are too lazy to make a block-built
1256 privoxy logo. hence removed the option.
1257
1258 Revision 1.24  2002/03/24 15:46:20  swa
1259 name change related issue.
1260
1261 Revision 1.23  2002/03/24 12:33:01  swa
1262 more additions.
1263
1264 Revision 1.22  2002/03/24 11:51:00  swa
1265 name change. changed filenames.
1266
1267 Revision 1.21  2002/03/24 11:01:06  swa
1268 name change
1269
1270 Revision 1.20  2002/03/23 15:13:11  swa
1271 renamed every reference to the old name with foobar.
1272 fixed "application foobar application" tag, fixed
1273 "the foobar" with "foobar". left junkbustser in cvs
1274 comments and remarks to history untouched.
1275
1276 Revision 1.19  2002/03/21 17:01:54  hal9
1277 Some touch ups.
1278
1279 Revision 1.18  2002/03/18 16:40:31  hal9
1280 More additions.
1281
1282 Revision 1.17  2002/03/18 03:53:53  hal9
1283 Some new additions.
1284
1285 Revision 1.16  2002/03/17 21:32:56  hal9
1286 A few more additions.
1287
1288 Revision 1.15  2002/03/17 07:25:59  hal9
1289 Correcting some of my typos, and some additions.
1290
1291 Revision 1.14  2002/03/17 02:39:13  hal9
1292 A little more added ...
1293
1294 Revision 1.13  2002/03/17 00:22:20  hal9
1295 Adding new stuff, and trying to incorporate stuff from old faq.
1296
1297 Revision 1.12  2002/03/11 20:13:21  swa
1298 typo
1299
1300 Revision 1.11  2002/03/11 18:42:27  swa
1301 new section
1302
1303 Revision 1.10  2002/03/11 13:13:27  swa
1304 correct feedback channels
1305
1306 Revision 1.9  2002/03/10 23:34:04  swa
1307 more info on not hiding ip address
1308
1309 Revision 1.8  2002/03/09 15:55:48  swa
1310 added default config section
1311
1312 Revision 1.7  2002/03/07 18:16:55  swa
1313 looks better
1314
1315 Revision 1.6  2002/03/07 13:16:31  oes
1316 Committing changes by Stefan
1317
1318 Revision 1.5  2002/03/02 15:50:04  swa
1319 2.9.11 version. more input for docs.
1320
1321 Revision 1.4  2002/02/24 14:34:24  jongfoster
1322 Formatting changes.  Now changing the doctype to DocBook XML 4.1
1323 will work - no other changes are needed.
1324
1325 Revision 1.3  2001/09/23 10:13:48  swa
1326 upload process established. run make webserver and
1327 the documentation is moved to the webserver. documents
1328 are now linked correctly.
1329
1330 Revision 1.2  2001/09/13 15:20:17  swa
1331 merged standards into developer manual
1332
1333 Revision 1.1  2001/09/12 15:36:41  swa
1334 source files for junkbuster documentation
1335
1336 Revision 1.3  2001/09/10 17:43:59  swa
1337 first proposal of a structure.
1338
1339 Revision 1.2  2001/06/13 14:28:31  swa
1340 docs should have an author.
1341
1342 Revision 1.1  2001/06/13 14:20:37  swa
1343 first import of project's documentation for the webserver.
1344
1345 -->
1346
1347 </article>