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