Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
[privoxy.git] / doc / webserver / faq / general.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <HTML
3 ><HEAD
4 ><TITLE
5 >General Information</TITLE
6 ><META
7 NAME="GENERATOR"
8 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
9 REL="HOME"
10 TITLE="Privoxy Frequently Asked Questions"
11 HREF="index.html"><LINK
12 REL="PREVIOUS"
13 TITLE="Privoxy Frequently Asked Questions"
14 HREF="index.html"><LINK
15 REL="NEXT"
16 TITLE="Installation"
17 HREF="installation.html"><LINK
18 REL="STYLESHEET"
19 TYPE="text/css"
20 HREF="../p_doc.css"></HEAD
21 ><BODY
22 CLASS="SECT1"
23 BGCOLOR="#EEEEEE"
24 TEXT="#000000"
25 LINK="#0000FF"
26 VLINK="#840084"
27 ALINK="#0000FF"
28 ><DIV
29 CLASS="NAVHEADER"
30 ><TABLE
31 SUMMARY="Header navigation table"
32 WIDTH="100%"
33 BORDER="0"
34 CELLPADDING="0"
35 CELLSPACING="0"
36 ><TR
37 ><TH
38 COLSPAN="3"
39 ALIGN="center"
40 >Privoxy Frequently Asked Questions</TH
41 ></TR
42 ><TR
43 ><TD
44 WIDTH="10%"
45 ALIGN="left"
46 VALIGN="bottom"
47 ><A
48 HREF="index.html"
49 ACCESSKEY="P"
50 >Prev</A
51 ></TD
52 ><TD
53 WIDTH="80%"
54 ALIGN="center"
55 VALIGN="bottom"
56 ></TD
57 ><TD
58 WIDTH="10%"
59 ALIGN="right"
60 VALIGN="bottom"
61 ><A
62 HREF="installation.html"
63 ACCESSKEY="N"
64 >Next</A
65 ></TD
66 ></TR
67 ></TABLE
68 ><HR
69 ALIGN="LEFT"
70 WIDTH="100%"></DIV
71 ><DIV
72 CLASS="SECT1"
73 ><H1
74 CLASS="SECT1"
75 ><A
76 NAME="GENERAL"
77 >1. General Information</A
78 ></H1
79 ><DIV
80 CLASS="SECT2"
81 ><H3
82 CLASS="SECT2"
83 ><A
84 NAME="NEWJB"
85 >1.1. What is this new version of <SPAN
86 CLASS="APPLICATION"
87 >Privoxy</SPAN
88 >?</A
89 ></H3
90 ><P
91 > In the beginning, there was the
92  <A
93 HREF="http://www.junkbusters.com/ijb.html"
94 TARGET="_top"
95 ><SPAN
96 CLASS="APPLICATION"
97 >Internet Junkbuster</SPAN
98 ></A
99 >, 
100  by Anonymous Coders and <A
101 HREF="http://www.junkbusters.com/"
102 TARGET="_top"
103 >Junkbusters
104  Corporation</A
105 >. It saved many users a lot of pain in the early days of
106  web advertising and user tracking.</P
107 ><P
108 > But the web, its protocols and standards, and with it, the techniques for
109  forcing  users to consume ads, give up autonomy over their browsing, and
110  for spying on them, kept evolving. Unfortunately, the <SPAN
111 CLASS="APPLICATION"
112 >Internet
113  Junkbuster</SPAN
114 > did not. Version 2.0.2, published in 1998, was 
115  (and is) the last official
116  <A
117 HREF="http://www.junkbusters.com/ijbdist.html#release"
118 TARGET="_top"
119 >release</A
120 >
121  available from <A
122 HREF="http://www.junkbusters.com"
123 TARGET="_top"
124 >Junkbusters Corporation</A
125 >.
126  Fortunately, it had been released under the GNU
127  <A
128 HREF="http://www.gnu.org/licenses/gpl.html"
129 TARGET="_top"
130 > GPL</A
131 >, which allowed further
132  development by others.</P
133 ><P
134 > So Stefan Waldherr started maintaining an
135  <A
136 HREF="http://www.waldherr.org/junkbuster/"
137 TARGET="_top"
138 >improved version of the
139  software</A
140 >, to which eventually a number of people contributed patches.
141  It could already replace banners with a transparent image, and had a first
142  version of pop-up killing, but it was still very closely based on the
143  original, with all its limitations, such as the lack of HTTP/1.1 support,
144  flexible per-site configuration, or content modification. The last release
145  from this effort was version 2.0.2-10, published in 2000.</P
146 ><P
147 > Then, some
148  <A
149 HREF="http://www.privoxy.org/user-manual/copyright.html#AUTHORS"
150 TARGET="_top"
151 >developers</A
152 >
153  picked up the thread, and started turning the software inside out, upside down,
154  and then reassembled it, adding many
155  <A
156 HREF="http://www.privoxy.org/user-manual/introduction.html#FEATURES"
157 TARGET="_top"
158 >new
159  features</A
160 > along the way.</P
161 ><P
162 > The result of this is <SPAN
163 CLASS="APPLICATION"
164 >Privoxy</SPAN
165 >, whose first
166  stable version, 3.0, was released August, 2002. 
167  </P
168 ></DIV
169 ><DIV
170 CLASS="SECT2"
171 ><H3
172 CLASS="SECT2"
173 ><A
174 NAME="AEN45"
175 >1.2. Why <SPAN
176 CLASS="QUOTE"
177 >"Privoxy"</SPAN
178 >? Why a name change at all?</A
179 ></H3
180 ><P
181 > <SPAN
182 CLASS="APPLICATION"
183 >Privoxy</SPAN
184 > is the 
185  <SPAN
186 CLASS="QUOTE"
187 >"<SPAN
188 CLASS="emphasis"
189 ><I
190 CLASS="EMPHASIS"
191 >Privacy Enhancing Proxy</I
192 ></SPAN
193 >"</SPAN
194 >. Also, its content
195  modification and junk suppression allow you to browse your
196  <SPAN
197 CLASS="QUOTE"
198 >"<SPAN
199 CLASS="emphasis"
200 ><I
201 CLASS="EMPHASIS"
202 >private</I
203 ></SPAN
204 > edition"</SPAN
205 > of the web.</P
206 ><P
207 > <A
208 HREF="http://junkbusters.com/"
209 TARGET="_top"
210 >Junkbusters Corporation</A
211 >
212  continues to offer their original version of the <SPAN
213 CLASS="APPLICATION"
214 >Internet
215  Junkbuster</SPAN
216 >, so publishing our
217  <SPAN
218 CLASS="APPLICATION"
219 > Junkbuster</SPAN
220 >-derived software under the same name
221  led to confusion.</P
222 ><P
223 > There are also potential legal complications from the continued use of the 
224  <SPAN
225 CLASS="APPLICATION"
226 >Junkbuster</SPAN
227 > name, which is a registered trademark of 
228  <A
229 HREF="http://junkbusters.com/"
230 TARGET="_top"
231 >Junkbusters Corporation</A
232 >.
233  There are, however, no objections from Junkbusters Corporation to the 
234  <SPAN
235 CLASS="APPLICATION"
236 >Privoxy</SPAN
237 > project itself, and they, in fact, still
238  share our ideals and goals.</P
239 ><P
240 > The developers also believed that there are so many changes from the original 
241  code, that it was time to make a clean break from the past and make 
242  a name in their own right.</P
243 ></DIV
244 ><DIV
245 CLASS="SECT2"
246 ><H3
247 CLASS="SECT2"
248 ><A
249 NAME="DIFFERS"
250 >1.3. How does <SPAN
251 CLASS="APPLICATION"
252 >Privoxy</SPAN
253 > differ
254 from the old <SPAN
255 CLASS="APPLICATION"
256 >Junkbuster?</SPAN
257 ></A
258 ></H3
259 ><P
260 > <SPAN
261 CLASS="APPLICATION"
262 >Privoxy</SPAN
263 > picks up where
264  <SPAN
265 CLASS="APPLICATION"
266 >Junkbuster</SPAN
267 > left off. All the old features remain.
268  The new <SPAN
269 CLASS="APPLICATION"
270 >Privoxy</SPAN
271 > still blocks ads and banners,
272  still manages cookies, and still helps protect your privacy. But, these are
273  all enhanced, and many new features have been added, all in the same vein.
274  </P
275 ><P
276 > The configuration has changed significantly as well. This is something that
277  users will notice right off the bat if upgrading from 
278  <SPAN
279 CLASS="APPLICATION"
280 >Junkbuster</SPAN
281 > 2.0.x. The <SPAN
282 CLASS="QUOTE"
283 >"blocklist"</SPAN
284 >
285  <SPAN
286 CLASS="QUOTE"
287 >"cookielist"</SPAN
288 >, <SPAN
289 CLASS="QUOTE"
290 >"imagelist"</SPAN
291 > and much more has been
292  combined into the <SPAN
293 CLASS="QUOTE"
294 >"actions"</SPAN
295 > files, with a completely different
296  syntax. See the <A
297 HREF="../user-manual/upgradersnote.html"
298 TARGET="_top"
299 >note to
300  upgraders</A
301 > for  details.</P
302 ><P
303 > <SPAN
304 CLASS="APPLICATION"
305 >Privoxy</SPAN
306 >'s new features include:</P
307 ><P
308 > <P
309 ></P
310 ><UL
311 ><LI
312 ><P
313 >   Integrated browser based configuration and control utility at <A
314 HREF="http://config.privoxy.org/"
315 TARGET="_top"
316 >http://config.privoxy.org/</A
317 >
318    (shortcut: <A
319 HREF="http://p.p/"
320 TARGET="_top"
321 >http://p.p/</A
322 >). Browser-based
323    tracing of rule and filter effects. Remote toggling.
324   </P
325 ></LI
326 ><LI
327 ><P
328 >   Web page content filtering (removes banners based on size,
329    invisible <SPAN
330 CLASS="QUOTE"
331 >"web-bugs"</SPAN
332 >, JavaScript and HTML annoyances, pop-up windows, etc.)
333   </P
334 ></LI
335 ><LI
336 ><P
337 >   Modularized configuration that allows for standard settings and
338    user settings to reside in separate files, so that installing updated
339    actions files won't overwrite individual user settings.
340   </P
341 ></LI
342 ><LI
343 ><P
344 >   HTTP/1.1 compliant (but not all optional 1.1 features are supported).
345   </P
346 ></LI
347 ><LI
348 ><P
349 >   Support for Perl Compatible Regular Expressions in the configuration files, and 
350    generally a more sophisticated and flexible configuration syntax over
351    previous versions.
352   </P
353 ></LI
354 ><LI
355 ><P
356 >   Improved cookie management features (e.g. session based cookies).
357   </P
358 ></LI
359 ><LI
360 ><P
361 >   GIF de-animation. 
362   </P
363 ></LI
364 ><LI
365 ><P
366 >   Bypass many click-tracking scripts (avoids script redirection).
367   </P
368 ></LI
369 ><LI
370 ><P
371 >   Multi-threaded (POSIX and native threads).
372   </P
373 ></LI
374 ><LI
375 ><P
376 >   User-customizable HTML templates for all proxy-generated pages (e.g. "blocked" page).
377   </P
378 ></LI
379 ><LI
380 ><P
381 >   Auto-detection and re-reading of config file changes.
382   </P
383 ></LI
384 ><LI
385 ><P
386 >   Improved signal handling, and a true daemon mode (Unix).
387   </P
388 ></LI
389 ><LI
390 ><P
391 >   Every feature now controllable on a per-site or per-location basis, configuration
392    more powerful and versatile over-all.
393   </P
394 ></LI
395 ><LI
396 ><P
397 >   Many smaller new features added, limitations and bugs removed, and security holes fixed.
398   </P
399 ></LI
400 ></UL
401 ></P
402 ></DIV
403 ><DIV
404 CLASS="SECT2"
405 ><H3
406 CLASS="SECT2"
407 ><A
408 NAME="PROXYMORON"
409 >1.4. What is a <SPAN
410 CLASS="QUOTE"
411 >"proxy"</SPAN
412 >? How does
413 <SPAN
414 CLASS="APPLICATION"
415 >Privoxy</SPAN
416 > work?</A
417 ></H3
418 ><P
419 >  A web proxy is a service, based on a software such as <SPAN
420 CLASS="APPLICATION"
421 >Privoxy</SPAN
422 >,
423   that clients (i.e. browsers) can use instead of connecting directly to the web
424   servers on the Internet. The clients then ask the proxy to fetch the objects
425   they need (web pages, images, movies etc) on their behalf, and when the proxy
426   has done so, it hands the results back to the client.
427  </P
428 ><P
429 >  There are many reasons to use web proxies, such as security (firewalling),
430   efficiency (caching) and others, and there are just as many different proxies
431   to accommodate those needs.
432  </P
433 ><P
434 >  <SPAN
435 CLASS="APPLICATION"
436 >Privoxy</SPAN
437 > is a proxy that is solely focused on privacy
438   protection and junk elimination. Sitting between your browser(s) and the Internet,
439   it is in a perfect position to filter outbound personal information that your
440   browser is leaking, as well as inbound junk. It uses a variety of techniques to do
441   this, all of which are under your control via the various configuration
442   files and options.
443  </P
444 ></DIV
445 ><DIV
446 CLASS="SECT2"
447 ><H3
448 CLASS="SECT2"
449 ><A
450 NAME="WHATSANAD"
451 >1.5. How does <SPAN
452 CLASS="APPLICATION"
453 >Privoxy</SPAN
454 > know what is
455 an ad, and what is not?</A
456 ></H3
457 ><P
458 > <SPAN
459 CLASS="APPLICATION"
460 >Privoxy</SPAN
461 >'s approach to blocking ads is twofold:</P
462 ><P
463 > First, there are certain patterns in the <SPAN
464 CLASS="emphasis"
465 ><I
466 CLASS="EMPHASIS"
467 >locations</I
468 ></SPAN
469 > (URLs)
470  of banner images. This applies to both the path (you wouldn't guess how many
471  web sites serve their banners from a directory called <SPAN
472 CLASS="QUOTE"
473 >"banners"</SPAN
474 >!)
475  and the host (blocking the big banner hosting services like doublecklick.net
476  already helps a lot). <SPAN
477 CLASS="APPLICATION"
478 >Privoxy</SPAN
479 > takes advantage of this
480  fact by using <A
481 HREF="../user-manual/actions-file.html#AF-PATTERNS"
482 TARGET="_top"
483 >URL
484  patterns</A
485 > to sort out and block the requests for banners.</P
486 ><P
487 > Second, banners tend to come in certain <SPAN
488 CLASS="emphasis"
489 ><I
490 CLASS="EMPHASIS"
491 >sizes</I
492 ></SPAN
493 >. But you
494  can't tell the size of an image by its URL without downloading it, and if you
495  do, it's too late to save bandwidth. Therefore, <SPAN
496 CLASS="APPLICATION"
497 >Privoxy</SPAN
498 >
499  also inspects the HTML sources of web pages while they are loaded, and replaces
500  references to images with standard banner sizes by dummy references, so that
501  your browser doesn't request them anymore in the first place.</P
502 ><P
503 > Both of this involves a certain amount of guesswork and is, of course, freely
504  configurable.</P
505 ></DIV
506 ><DIV
507 CLASS="SECT2"
508 ><H3
509 CLASS="SECT2"
510 ><A
511 NAME="AEN136"
512 >1.6. Can <SPAN
513 CLASS="APPLICATION"
514 >Privoxy</SPAN
515 > make mistakes? 
516 This does not sound very scientific.</A
517 ></H3
518 ><P
519 > Actually, it's a black art ;-) And yes, it is always possible to have a broad
520  rule accidentally block or change something by mistake. You will almost surely
521  run into such situations at some point. It is tricky writing rules to
522  cover every conceivable possibility, and not occasionally get false positives.</P
523 ><P
524 > But this should not be a big concern since the
525  <SPAN
526 CLASS="APPLICATION"
527 >Privoxy</SPAN
528 > configuration is very flexible, and
529  includes tools to help identify these types of situations so they can be
530  addressed as needed, allowing you to customize your installation.
531  (<A
532 HREF="trouble.html#BADSITE"
533 >See the Troubleshooting section below</A
534 >.)</P
535 ></DIV
536 ><DIV
537 CLASS="SECT2"
538 ><H3
539 CLASS="SECT2"
540 ><A
541 NAME="AEN143"
542 >1.7. Will I have to configure <SPAN
543 CLASS="APPLICATION"
544 >Privoxy</SPAN
545 >
546  before I can use it?</A
547 ></H3
548 ><P
549 > No, not really. The default installation should give you a good starting
550  point, and block <SPAN
551 CLASS="emphasis"
552 ><I
553 CLASS="EMPHASIS"
554 >most</I
555 ></SPAN
556 > unwanted content.</P
557 ><P
558 > But you will certainly run into situations where there are false positives,
559  or ads not being blocked that you may not want to see. In these cases, you
560  would certainly benefit by customizing <SPAN
561 CLASS="APPLICATION"
562 >Privoxy's</SPAN
563 >
564  configuration to more closely match your individual situation. And we would
565  encourage you to do this. This is where the real power of
566  <SPAN
567 CLASS="APPLICATION"
568 >Privoxy</SPAN
569 > lies!</P
570 ></DIV
571 ><DIV
572 CLASS="SECT2"
573 ><H3
574 CLASS="SECT2"
575 ><A
576 NAME="BROWSERS2"
577 >1.8. My browser does the same things as
578 <SPAN
579 CLASS="APPLICATION"
580 >Privoxy</SPAN
581 >. Why should I use
582 <SPAN
583 CLASS="APPLICATION"
584 >Privoxy</SPAN
585 > at all?</A
586 ></H3
587 ><P
588 >  Modern browsers do indeed have <SPAN
589 CLASS="emphasis"
590 ><I
591 CLASS="EMPHASIS"
592 >some</I
593 ></SPAN
594 > of the same
595   functionality as <SPAN
596 CLASS="APPLICATION"
597 >Privoxy</SPAN
598 >. Maybe this is
599   adequate for you. But <SPAN
600 CLASS="APPLICATION"
601 >Privoxy</SPAN
602 > is much more
603   versatile and powerful, and can do a number of things that browsers just can't.
604  </P
605 ><P
606 >  In addition, a proxy is good choice if you use multiple browsers, or 
607   have a LAN with multiple computers. This way all the configuration 
608   is in one place, and you don't have to maintain a similar configuration 
609   for possibly many browsers.
610  </P
611 ></DIV
612 ><DIV
613 CLASS="SECT2"
614 ><H3
615 CLASS="SECT2"
616 ><A
617 NAME="LICENSE"
618 >1.9. Is there is a license or fee? What about a 
619 warranty? Registration?</A
620 ></H3
621 ><P
622 >  <SPAN
623 CLASS="APPLICATION"
624 >Privoxy</SPAN
625 > is licensed under the <A
626 HREF="http://www.gnu.org/copyleft/gpl.html"
627 TARGET="_top"
628 >GNU General Public License (GPL)</A
629 >.
630   It is free to use, copy, modify or distribute as you wish under the terms of this
631   license.  Please see the <A
632 HREF="copyright.html"
633 >Copyright</A
634 > section for more
635   information on the license and copyright. Or the <TT
636 CLASS="FILENAME"
637 >LICENSE</TT
638 > file 
639   that should be included.
640  </P
641 ><P
642 >  There is <SPAN
643 CLASS="emphasis"
644 ><I
645 CLASS="EMPHASIS"
646 >no warranty</I
647 ></SPAN
648 > of any kind, expressed, implied or otherwise.
649   That is something that would cost real money ;-) There is no registration either.
650   <SPAN
651 CLASS="APPLICATION"
652 >Privoxy</SPAN
653 > really is <SPAN
654 CLASS="emphasis"
655 ><I
656 CLASS="EMPHASIS"
657 >free</I
658 ></SPAN
659 >
660   in every respect!
661  </P
662 ></DIV
663 ><DIV
664 CLASS="SECT2"
665 ><H3
666 CLASS="SECT2"
667 ><A
668 NAME="JOINTEAM"
669 >1.10. I would like to help you, what do I do?</A
670 ></H3
671 ><DIV
672 CLASS="SECT3"
673 ><H4
674 CLASS="SECT3"
675 ><A
676 NAME="JOINTEAM-MONEY"
677 >1.10.1. Money Money Money</A
678 ></H4
679 ><P
680 > We, of course, welcome donations and could use money for domain registering,
681  buying software to test <SPAN
682 CLASS="APPLICATION"
683 >Privoxy</SPAN
684 > with, and, of course,
685  for regular world-wide get-togethers (hahaha). If you enjoy the software and feel
686  like helping us with a donation, just <A
687 HREF="mailto:developers@privoxy.org"
688 TARGET="_top"
689 >drop us a note</A
690 >.</P
691 ></DIV
692 ><DIV
693 CLASS="SECT3"
694 ><H4
695 CLASS="SECT3"
696 ><A
697 NAME="JOINTEAM-SOFTWARE"
698 >1.10.2. Software</A
699 ></H4
700 ><P
701 > If you are a vendor of a web-related software like a browser, web server
702  or proxy, and would like us to ensure that <SPAN
703 CLASS="APPLICATION"
704 >Privoxy</SPAN
705 >
706  runs smoothly with your product, you might consider supplying us with a
707  copy or license. We can't, however, guarantee that we will fix all potential
708  compatibility issues as a result.</P
709 ></DIV
710 ><DIV
711 CLASS="SECT3"
712 ><H4
713 CLASS="SECT3"
714 ><A
715 NAME="JOINTEAM-WORK"
716 >1.10.3. You want to work with us?</A
717 ></H4
718 ><P
719 >   Well, helping the team is always a good idea. We welcome new developers,
720    packaging gurus or documentation writers. Simply <A
721 HREF="https://sourceforge.net/account/register.php"
722 TARGET="_top"
723 >get an account on SourceForge.net</A
724 >
725    and mail your id to the <A
726 HREF="mailto:developers@privoxy.org"
727 TARGET="_top"
728 >developers
729    mailing list</A
730 >. Then read the <A
731 HREF="../developer-manual/index.html"
732 TARGET="_top"
733 >Developer's Manual</A
734 >.</P
735 ><P
736 > Once we have added you to the team, you'll have write access to the <A
737 HREF="http://sourceforge.net/cvs/?group_id=11118"
738 TARGET="_top"
739 >CVS repository</A
740 >, and
741  together we'll find a suitable task for you.</P
742 ></DIV
743 ></DIV
744 ></DIV
745 ><DIV
746 CLASS="NAVFOOTER"
747 ><HR
748 ALIGN="LEFT"
749 WIDTH="100%"><TABLE
750 SUMMARY="Footer navigation table"
751 WIDTH="100%"
752 BORDER="0"
753 CELLPADDING="0"
754 CELLSPACING="0"
755 ><TR
756 ><TD
757 WIDTH="33%"
758 ALIGN="left"
759 VALIGN="top"
760 ><A
761 HREF="index.html"
762 ACCESSKEY="P"
763 >Prev</A
764 ></TD
765 ><TD
766 WIDTH="34%"
767 ALIGN="center"
768 VALIGN="top"
769 ><A
770 HREF="index.html"
771 ACCESSKEY="H"
772 >Home</A
773 ></TD
774 ><TD
775 WIDTH="33%"
776 ALIGN="right"
777 VALIGN="top"
778 ><A
779 HREF="installation.html"
780 ACCESSKEY="N"
781 >Next</A
782 ></TD
783 ></TR
784 ><TR
785 ><TD
786 WIDTH="33%"
787 ALIGN="left"
788 VALIGN="top"
789 >Privoxy Frequently Asked Questions</TD
790 ><TD
791 WIDTH="34%"
792 ALIGN="center"
793 VALIGN="top"
794 >&nbsp;</TD
795 ><TD
796 WIDTH="33%"
797 ALIGN="right"
798 VALIGN="top"
799 >Installation</TD
800 ></TR
801 ></TABLE
802 ></DIV
803 ></BODY
804 ></HTML
805 >