77adfae63a6576758fa48144340a7dfbb68f0121
[privoxy.git] / doc / webserver / faq / general.html
1 <HTML
2 ><HEAD
3 ><TITLE
4 >General Information</TITLE
5 ><META
6 NAME="GENERATOR"
7 CONTENT="Modular DocBook HTML Stylesheet Version 1.64
8 "><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 WIDTH="100%"
32 BORDER="0"
33 CELLPADDING="0"
34 CELLSPACING="0"
35 ><TR
36 ><TH
37 COLSPAN="3"
38 ALIGN="center"
39 >Privoxy Frequently Asked Questions</TH
40 ></TR
41 ><TR
42 ><TD
43 WIDTH="10%"
44 ALIGN="left"
45 VALIGN="bottom"
46 ><A
47 HREF="index.html"
48 >Prev</A
49 ></TD
50 ><TD
51 WIDTH="80%"
52 ALIGN="center"
53 VALIGN="bottom"
54 ></TD
55 ><TD
56 WIDTH="10%"
57 ALIGN="right"
58 VALIGN="bottom"
59 ><A
60 HREF="installation.html"
61 >Next</A
62 ></TD
63 ></TR
64 ></TABLE
65 ><HR
66 ALIGN="LEFT"
67 WIDTH="100%"></DIV
68 ><DIV
69 CLASS="SECT1"
70 ><H1
71 CLASS="SECT1"
72 ><A
73 NAME="GENERAL"
74 >1. General Information</A
75 ></H1
76 ><DIV
77 CLASS="SECT2"
78 ><H3
79 CLASS="SECT2"
80 ><A
81 NAME="NEWJB"
82 >1.1. What is this new version of <SPAN
83 CLASS="APPLICATION"
84 >Privoxy</SPAN
85 >?</A
86 ></H3
87 ><P
88 >  The original <SPAN
89 CLASS="APPLICATION"
90 ><SPAN
91 CLASS="TRADEMARK"
92 >Internet
93   Junkbuster</SPAN
94 >&trade;</SPAN
95 > (tm) is a copyrighted product of <A
96 HREF="http://www.junkbusters.com"
97 TARGET="_top"
98 >Junkbusters Corporation</A
99 >.
100   Development of this effort stopped some time ago as of version 2.0.2. Stefan
101   Waldherr started the ijbswa project on <A
102 HREF="http://sourceforge.net/projects/ijbswa/"
103 TARGET="_top"
104 >Sourceforge</A
105 > to
106   rekindle development. Other developers subsequently joined with Stefan, and
107   have since added many new features, refinements and enhancements. The result
108   of this effort is <SPAN
109 CLASS="APPLICATION"
110 >Privoxy</SPAN
111 >.
112  </P
113 ><P
114 >  <SPAN
115 CLASS="APPLICATION"
116 >Privoxy</SPAN
117 > has evolved from the 
118   <SPAN
119 CLASS="APPLICATION"
120 >Junkbuster 2.0.2</SPAN
121 > code base, and has advanced
122   significantly at this point. 
123  </P
124 ><P
125
126   Please see the <A
127 HREF="copyright.html"
128 >History section</A
129 > for more
130   information on the history of <SPAN
131 CLASS="APPLICATION"
132 >Junkbuster</SPAN
133 > and 
134   <SPAN
135 CLASS="APPLICATION"
136 >Privoxy</SPAN
137 >.
138  </P
139 ></DIV
140 ><DIV
141 CLASS="SECT2"
142 ><H3
143 CLASS="SECT2"
144 ><A
145 NAME="AEN44"
146 >1.2. Why <SPAN
147 CLASS="QUOTE"
148 >"Privoxy"</SPAN
149 >? Why a name change at all?</A
150 ></H3
151 ><P
152 > <SPAN
153 CLASS="APPLICATION"
154 >Privoxy</SPAN
155 > is the 
156  <SPAN
157 CLASS="QUOTE"
158 >"<I
159 CLASS="EMPHASIS"
160 >Privacy Enhancing Proxy</I
161 >"</SPAN
162 >.</P
163 ><P
164 > There are potential legal complications from the continued use of the 
165  <SPAN
166 CLASS="APPLICATION"
167 >Junkbuster</SPAN
168 > name, which is a registered trademark of 
169  <A
170 HREF="http://junkbusters.com"
171 TARGET="_top"
172 >Junkbusters Corporation</A
173 >.
174  And thus they <SPAN
175 CLASS="QUOTE"
176 >"own"</SPAN
177 > the rights to the name.
178  (There are, however, no objections from Junkbusters Corporation to the 
179  <SPAN
180 CLASS="APPLICATION"
181 >Privoxy</SPAN
182 > project itself, and they, in fact, still
183  share our ideals and goals.)</P
184 ><P
185 > The developers also believed that there are so many changes from the original 
186  code, that it was time to make a clean break from the past and make 
187  a name in their own right, especially now with the pending
188  release of version 3.0.</P
189 ></DIV
190 ><DIV
191 CLASS="SECT2"
192 ><H3
193 CLASS="SECT2"
194 ><A
195 NAME="DIFFERS"
196 >1.3. How does <SPAN
197 CLASS="APPLICATION"
198 >Privoxy</SPAN
199 > differ
200 from the old <SPAN
201 CLASS="APPLICATION"
202 >Junkbuster?</SPAN
203 ></A
204 ></H3
205 ><P
206 >  <SPAN
207 CLASS="APPLICATION"
208 >Privoxy</SPAN
209 > picks up where
210   <SPAN
211 CLASS="APPLICATION"
212 >Junkbuster</SPAN
213 > left off. All the old features remain.
214   The new <SPAN
215 CLASS="APPLICATION"
216 >Privoxy</SPAN
217 > still blocks ads and banners,
218   still manages cookies, and still helps protect your privacy. But, these are
219   all enhanced, and many new features have been added, all in the same vein.
220  </P
221 ><P
222 >  The configuration has changed significantly as well. This is something that
223   users will notice right off the bat if you are upgrading from 
224   <SPAN
225 CLASS="APPLICATION"
226 >Junkbuster</SPAN
227 > 2.0.x. The <SPAN
228 CLASS="QUOTE"
229 >"blocklist"</SPAN
230 >
231   file does not exist any more. This is replaced by <SPAN
232 CLASS="QUOTE"
233 >"actions"</SPAN
234 >
235   files, such as <TT
236 CLASS="FILENAME"
237 >default.actions</TT
238 >. This is where most of
239   the per site configuration is now.
240  </P
241 ></DIV
242 ><DIV
243 CLASS="SECT2"
244 ><H3
245 CLASS="SECT2"
246 ><A
247 NAME="FEATURES"
248 >1.4. What are some of the new features?</A
249 ></H3
250 ><P
251 > <P
252 ></P
253 ><UL
254 ><LI
255 ><P
256 >   Integrated browser based configuration and control utility at <A
257 HREF="http://config.privoxy.org/"
258 TARGET="_top"
259 >http://config.privoxy.org/</A
260 >
261    (shortcut: <A
262 HREF="http://p.p/"
263 TARGET="_top"
264 >http://p.p/</A
265 >). Browser-based
266    tracing of rule and filter effects. Remote toggling.
267   </P
268 ></LI
269 ><LI
270 ><P
271 >    Blocking of annoying pop-up browser windows.
272   </P
273 ></LI
274 ><LI
275 ><P
276 >   HTTP/1.1 compliant (but not all optional 1.1 features are supported).
277   </P
278 ></LI
279 ><LI
280 ><P
281 >   Support for Perl Compatible Regular Expressions in the configuration files, and 
282    generally a more sophisticated and flexible configuration syntax over
283    previous versions. 
284   </P
285 ></LI
286 ><LI
287 ><P
288 >   GIF de-animation. 
289   </P
290 ></LI
291 ><LI
292 ><P
293 >   Web page content filtering (removes banners based on size,
294    invisible <SPAN
295 CLASS="QUOTE"
296 >"web-bugs"</SPAN
297 >, JavaScript and HTML annoyances, pop-ups, etc.)
298   </P
299 ></LI
300 ><LI
301 ><P
302 >   Bypass many click-tracking scripts (avoids script redirection).
303   </P
304 ></LI
305 ><LI
306 ><P
307 >   Multi-threaded (POSIX and native threads).
308   </P
309 ></LI
310 ><LI
311 ><P
312 >   Auto-detection and re-reading of config file changes.
313   </P
314 ></LI
315 ><LI
316 ><P
317 >   User-customizable HTML templates (e.g. 404 error page).
318   </P
319 ></LI
320 ><LI
321 ><P
322 >   Improved cookie management features (e.g. session based cookies).
323   </P
324 ></LI
325 ><LI
326 ><P
327 >   Improved signal handling, and a true daemon mode (Unix).
328   </P
329 ></LI
330 ><LI
331 ><P
332 >   Builds from source on most UNIX-like systems. Packages available for: Linux
333    (RedHat, SuSE, or Debian), Windows, Sun Solaris, Mac OSX, OS/2, HP-UX 11,
334    NetBSD and AmigaOS.
335   </P
336 ></LI
337 ><LI
338 ><P
339 >   Every feature now controllable on a per-site or per-location basis, configuration
340    more powerful and versatile over-all.
341   </P
342 ></LI
343 ><LI
344 ><P
345 >   Many smaller new features added, limitations and bugs removed, and security holes fixed.
346   </P
347 ></LI
348 ></UL
349 ></P
350 ></DIV
351 ><DIV
352 CLASS="SECT2"
353 ><H3
354 CLASS="SECT2"
355 ><A
356 NAME="PROXYMORON"
357 >1.5. What is a <SPAN
358 CLASS="QUOTE"
359 >"proxy"</SPAN
360 >? How does
361 <SPAN
362 CLASS="APPLICATION"
363 >Privoxy</SPAN
364 > work?</A
365 ></H3
366 ><P
367 >  When you connect to a web site with <SPAN
368 CLASS="APPLICATION"
369 >Privoxy</SPAN
370 >, 
371   you are really connecting to your locally running version of 
372   <SPAN
373 CLASS="APPLICATION"
374 >Privoxy</SPAN
375 >. <SPAN
376 CLASS="APPLICATION"
377 >Privoxy</SPAN
378 >
379   intercepts your requests for the web page, and relays that to the 
380   <SPAN
381 CLASS="QUOTE"
382 >"real"</SPAN
383 > web site. The web site sends the HTTP data stream 
384   back to <SPAN
385 CLASS="APPLICATION"
386 >Privoxy</SPAN
387 >, where
388   <SPAN
389 CLASS="APPLICATION"
390 >Privoxy</SPAN
391 > can work its magic before it 
392   relays this data back to your web browser.
393  </P
394 ><P
395 >  Since <SPAN
396 CLASS="APPLICATION"
397 >Privoxy</SPAN
398 > sits between you and the 
399   WWW, it is in a position to intercept and completely manage all web traffic and 
400   HTTP content before it gets to your browser.
401   <SPAN
402 CLASS="APPLICATION"
403 >Privoxy</SPAN
404 > uses various programming methods to do
405   this, all of which is under your control via the various configuration
406   files and options.
407  </P
408 ><P
409 >  There are many kinds of proxies. <SPAN
410 CLASS="APPLICATION"
411 >Privoxy</SPAN
412 > best 
413   fits the <SPAN
414 CLASS="QUOTE"
415 >"filtering proxy"</SPAN
416 > category.
417  </P
418 ></DIV
419 ><DIV
420 CLASS="SECT2"
421 ><H3
422 CLASS="SECT2"
423 ><A
424 NAME="AEN124"
425 >1.6. How does <SPAN
426 CLASS="APPLICATION"
427 >Privoxy</SPAN
428 > know what is
429 an ad, and what is not?</A
430 ></H3
431 ><P
432 > <SPAN
433 CLASS="APPLICATION"
434 >Privoxy</SPAN
435 > processes all the raw content of every 
436  web page. So it reads everything on each page. It then compares this to the
437  rules as set up in the configuration files, and looks for any matches to
438  these rules. <SPAN
439 CLASS="APPLICATION"
440 >Privoxy</SPAN
441 > makes heavy use of
442  <SPAN
443 CLASS="QUOTE"
444 >"regular expressions"</SPAN
445 >. (If you are not familiar with regular
446  expressions, it is explained briefly in <A
447 HREF="../user-manual/appendix.html"
448 TARGET="_top"
449 >the user manual</A
450 >.) Regular
451  expressions facilitate matching of one text string against another, using
452  wildcards to build complex patterns. So <SPAN
453 CLASS="APPLICATION"
454 >Privoxy</SPAN
455 >
456  will typically look for URLs and other content that match certain key words
457  and expressions as defined in the configuration files. For instance a URL
458  that contains <SPAN
459 CLASS="QUOTE"
460 >"/banners"</SPAN
461 >, has a high probability of containing
462  ad banners, and thus would be a prime candidate to have a matching rule.</P
463 ><P
464 > So <SPAN
465 CLASS="APPLICATION"
466 >Privoxy</SPAN
467 > will look for these kinds of obvious 
468  looking culprits. And also, will use lists of known organizations that
469  specialize in ads. Again, using complex patterns to match as many potential 
470  combinations as possible since there tend to be many, many variations used by 
471  advertisers, and new ones are being introduced all the time.</P
472 ></DIV
473 ><DIV
474 CLASS="SECT2"
475 ><H3
476 CLASS="SECT2"
477 ><A
478 NAME="AEN136"
479 >1.7. Can <SPAN
480 CLASS="APPLICATION"
481 >Privoxy</SPAN
482 > make mistakes? 
483 This does not sound very scientific.</A
484 ></H3
485 ><P
486 > Actually, it's a black art ;-) And yes, it is always possible to have a broad rule
487  accidentally block something by mistake. There is a good chance you may run 
488  into such a situation at some point. It is tricky writing rules to cover
489  every conceivable possibility, and not occasionally get false positives.</P
490 ><P
491 > But this should not be a big concern since the
492  <SPAN
493 CLASS="APPLICATION"
494 >Privoxy</SPAN
495 > configuration is very flexible, and
496  includes tools to help identify these types of situations so they can be
497  addressed as needed, allowing you to customize your installation.
498  (<A
499 HREF="trouble.html#AEN661"
500 >See the Troubleshooting section below</A
501 >.)</P
502 ></DIV
503 ><DIV
504 CLASS="SECT2"
505 ><H3
506 CLASS="SECT2"
507 ><A
508 NAME="BROWSERS2"
509 >1.8. My browser does the same things as
510 <SPAN
511 CLASS="APPLICATION"
512 >Privoxy</SPAN
513 >. Why should I use
514 <SPAN
515 CLASS="APPLICATION"
516 >Privoxy</SPAN
517 > at all?</A
518 ></H3
519 ><P
520 >  Modern browsers do indeed have <I
521 CLASS="EMPHASIS"
522 >some</I
523 > of the same
524   functionality as <SPAN
525 CLASS="APPLICATION"
526 >Privoxy</SPAN
527 >. Maybe this is
528   adequate for you. But <SPAN
529 CLASS="APPLICATION"
530 >Privoxy</SPAN
531 > is much more
532   versatile and powerful, and can do a number of things that browsers just can't.
533  </P
534 ><P
535 >  In addition, a proxy is good choice if you use multiple browsers, or 
536   have a LAN with multiple computers. This way all the configuration 
537   is in one place, and you don't have to maintain a similar configuration 
538   for possibly many browsers.
539
540  </P
541 ></DIV
542 ><DIV
543 CLASS="SECT2"
544 ><H3
545 CLASS="SECT2"
546 ><A
547 NAME="LICENSE"
548 >1.9. Is there is a license or fee? What about a 
549 warranty? Registration?</A
550 ></H3
551 ><P
552 >  <SPAN
553 CLASS="APPLICATION"
554 >Privoxy</SPAN
555 > is licensed under the GNU General Public
556   License (GPL). It is free to use, copy, modify or distribute as you wish
557   under the terms of this license.  Please see the Copyright section for more
558   information on the license and copyright.
559
560   </P
561 ><P
562 >  There is no warranty of any kind, expressed, implied or otherwise. That is
563   something that would cost real money ;-) There is no registration either.
564   <SPAN
565 CLASS="APPLICATION"
566 >Privoxy</SPAN
567 > really is <I
568 CLASS="EMPHASIS"
569 >free</I
570 >
571   in every respect!
572
573  </P
574 ></DIV
575 ><DIV
576 CLASS="SECT2"
577 ><H3
578 CLASS="SECT2"
579 ><A
580 NAME="JOINTEAM"
581 >1.10. I would like to help you, what do I do?</A
582 ></H3
583 ><DIV
584 CLASS="SECT3"
585 ><H4
586 CLASS="SECT3"
587 ><A
588 NAME="JOINTEAM-MONEY"
589 >1.10.1. Money Money Money</A
590 ></H4
591 ><P
592 > We, of course, welcome donations and use the money for domain registering,
593  regular world-wide get-togethers (hahaha). Anyway, we'll soon describe the
594  process how to donate money to the team.</P
595 ></DIV
596 ><DIV
597 CLASS="SECT3"
598 ><H4
599 CLASS="SECT3"
600 ><A
601 NAME="JOINTEAM-WORK"
602 >1.10.2. You want to work with us?</A
603 ></H4
604 ><P
605 >   Well, helping the team is always a good idea. We welcome new developers,
606    RPM gurus or documentation makers. Simply get an account on sourceforge.net
607    and mail your id to the developer mailing list. Then read the
608    section Quickstart in the <A
609 HREF="../developer-manual/quickstart.html"
610 TARGET="_top"
611 >   Developer's Manual</A
612 >.</P
613 ><P
614 > Once we have added you to the team, you'll have write access to the CVS
615  repository, and together we'll find a suitable task for you.</P
616 ></DIV
617 ></DIV
618 ></DIV
619 ><DIV
620 CLASS="NAVFOOTER"
621 ><HR
622 ALIGN="LEFT"
623 WIDTH="100%"><TABLE
624 WIDTH="100%"
625 BORDER="0"
626 CELLPADDING="0"
627 CELLSPACING="0"
628 ><TR
629 ><TD
630 WIDTH="33%"
631 ALIGN="left"
632 VALIGN="top"
633 ><A
634 HREF="index.html"
635 >Prev</A
636 ></TD
637 ><TD
638 WIDTH="34%"
639 ALIGN="center"
640 VALIGN="top"
641 ><A
642 HREF="index.html"
643 >Home</A
644 ></TD
645 ><TD
646 WIDTH="33%"
647 ALIGN="right"
648 VALIGN="top"
649 ><A
650 HREF="installation.html"
651 >Next</A
652 ></TD
653 ></TR
654 ><TR
655 ><TD
656 WIDTH="33%"
657 ALIGN="left"
658 VALIGN="top"
659 >Privoxy Frequently Asked Questions</TD
660 ><TD
661 WIDTH="34%"
662 ALIGN="center"
663 VALIGN="top"
664 >&nbsp;</TD
665 ><TD
666 WIDTH="33%"
667 ALIGN="right"
668 VALIGN="top"
669 >Installation</TD
670 ></TR
671 ></TABLE
672 ></DIV
673 ></BODY
674 ></HTML
675 >