generated
[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="AEN39"
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 >   Web page content filtering (removes banners based on size,
272    invisible <SPAN
273 CLASS="QUOTE"
274 >"web-bugs"</SPAN
275 >, JavaScript and HTML annoyances, pop-up windows, etc.)
276   </P
277 ></LI
278 ><LI
279 ><P
280 >   Modularized configuration that allows for standard settings and
281    user settings to reside in separate files, so that installing updated
282    actions files won't overwrite idividual user settings.
283   </P
284 ></LI
285 ><LI
286 ><P
287 >   HTTP/1.1 compliant (but not all optional 1.1 features are supported).
288   </P
289 ></LI
290 ><LI
291 ><P
292 >   Support for Perl Compatible Regular Expressions in the configuration files, and 
293    generally a more sophisticated and flexible configuration syntax over
294    previous versions.
295   </P
296 ></LI
297 ><LI
298 ><P
299 >   Improved cookie management features (e.g. session based cookies).
300   </P
301 ></LI
302 ><LI
303 ><P
304 >   GIF de-animation. 
305   </P
306 ></LI
307 ><LI
308 ><P
309 >   Bypass many click-tracking scripts (avoids script redirection).
310   </P
311 ></LI
312 ><LI
313 ><P
314 >   Multi-threaded (POSIX and native threads).
315   </P
316 ></LI
317 ><LI
318 ><P
319 >   User-customizable HTML templates for all proxy-generated pages (e.g. "blocked" page).
320   </P
321 ></LI
322 ><LI
323 ><P
324 >   Auto-detection and re-reading of config file changes.
325   </P
326 ></LI
327 ><LI
328 ><P
329 >   Improved signal handling, and a true daemon mode (Unix).
330   </P
331 ></LI
332 ><LI
333 ><P
334 >   Every feature now controllable on a per-site or per-location basis, configuration
335    more powerful and versatile over-all.
336   </P
337 ></LI
338 ><LI
339 ><P
340 >   Many smaller new features added, limitations and bugs removed, and security holes fixed.
341   </P
342 ></LI
343 ></UL
344 ></P
345 ></DIV
346 ><DIV
347 CLASS="SECT2"
348 ><H3
349 CLASS="SECT2"
350 ><A
351 NAME="PROXYMORON"
352 >1.5. What is a <SPAN
353 CLASS="QUOTE"
354 >"proxy"</SPAN
355 >? How does
356 <SPAN
357 CLASS="APPLICATION"
358 >Privoxy</SPAN
359 > work?</A
360 ></H3
361 ><P
362 >  When you connect to a web site with <SPAN
363 CLASS="APPLICATION"
364 >Privoxy</SPAN
365 >, 
366   you are really connecting to your locally running version of 
367   <SPAN
368 CLASS="APPLICATION"
369 >Privoxy</SPAN
370 >. <SPAN
371 CLASS="APPLICATION"
372 >Privoxy</SPAN
373 >
374   intercepts your requests for the web page, and relays that to the 
375   <SPAN
376 CLASS="QUOTE"
377 >"real"</SPAN
378 > web site. The web site sends the HTTP data stream 
379   back to <SPAN
380 CLASS="APPLICATION"
381 >Privoxy</SPAN
382 >, where
383   <SPAN
384 CLASS="APPLICATION"
385 >Privoxy</SPAN
386 > can work its magic before it 
387   relays this data back to your web browser.
388  </P
389 ><P
390 >  Since <SPAN
391 CLASS="APPLICATION"
392 >Privoxy</SPAN
393 > sits between you and the 
394   WWW, it is in a position to intercept and completely manage all web traffic and 
395   HTTP content before it gets to your browser.
396   <SPAN
397 CLASS="APPLICATION"
398 >Privoxy</SPAN
399 > uses various programming methods to do
400   this, all of which is under your control via the various configuration
401   files and options.
402  </P
403 ><P
404 >  There are many kinds of proxies. <SPAN
405 CLASS="APPLICATION"
406 >Privoxy</SPAN
407 > best 
408   fits the <SPAN
409 CLASS="QUOTE"
410 >"filtering proxy"</SPAN
411 > category.
412  </P
413 ></DIV
414 ><DIV
415 CLASS="SECT2"
416 ><H3
417 CLASS="SECT2"
418 ><A
419 NAME="AEN117"
420 >1.6. How does <SPAN
421 CLASS="APPLICATION"
422 >Privoxy</SPAN
423 > know what is
424 an ad, and what is not?</A
425 ></H3
426 ><P
427 > <SPAN
428 CLASS="APPLICATION"
429 >Privoxy</SPAN
430 > processes all the raw content of every 
431  web page. So it reads everything on each page. It then compares this to the
432  rules as set up in the configuration files, and looks for any matches to
433  these rules. <SPAN
434 CLASS="APPLICATION"
435 >Privoxy</SPAN
436 > makes heavy use of
437  <SPAN
438 CLASS="QUOTE"
439 >"regular expressions"</SPAN
440 >. (If you are not familiar with regular
441  expressions, it is explained briefly in <A
442 HREF="../user-manual/appendix.html"
443 TARGET="_top"
444 >the user manual</A
445 >.) Regular
446  expressions facilitate matching of one text string against another, using
447  wildcards to build complex patterns. So <SPAN
448 CLASS="APPLICATION"
449 >Privoxy</SPAN
450 >
451  will typically look for URLs and other content that match certain key words
452  and expressions as defined in the configuration files. For instance a URL
453  that contains <SPAN
454 CLASS="QUOTE"
455 >"/banners"</SPAN
456 >, has a high probability of containing
457  ad banners, and thus would be a prime candidate to have a matching rule.</P
458 ><P
459 > So <SPAN
460 CLASS="APPLICATION"
461 >Privoxy</SPAN
462 > will look for these kinds of obvious 
463  looking culprits. And also, will use lists of known organizations that
464  specialize in ads. Again, using complex patterns to match as many potential 
465  combinations as possible since there tend to be many, many variations used by 
466  advertisers, and new ones are being introduced all the time.</P
467 ></DIV
468 ><DIV
469 CLASS="SECT2"
470 ><H3
471 CLASS="SECT2"
472 ><A
473 NAME="AEN129"
474 >1.7. Can <SPAN
475 CLASS="APPLICATION"
476 >Privoxy</SPAN
477 > make mistakes? 
478 This does not sound very scientific.</A
479 ></H3
480 ><P
481 > Actually, it's a black art ;-) And yes, it is always possible to have a broad rule
482  accidentally block something by mistake. There is a good chance you may run 
483  into such a situation at some point. It is tricky writing rules to cover
484  every conceivable possibility, and not occasionally get false positives.</P
485 ><P
486 > But this should not be a big concern since the
487  <SPAN
488 CLASS="APPLICATION"
489 >Privoxy</SPAN
490 > configuration is very flexible, and
491  includes tools to help identify these types of situations so they can be
492  addressed as needed, allowing you to customize your installation.
493  (<A
494 HREF="trouble.html#AEN576"
495 >See the Troubleshooting section below</A
496 >.)</P
497 ></DIV
498 ><DIV
499 CLASS="SECT2"
500 ><H3
501 CLASS="SECT2"
502 ><A
503 NAME="BROWSERS2"
504 >1.8. My browser does the same things as
505 <SPAN
506 CLASS="APPLICATION"
507 >Privoxy</SPAN
508 >. Why should I use
509 <SPAN
510 CLASS="APPLICATION"
511 >Privoxy</SPAN
512 > at all?</A
513 ></H3
514 ><P
515 >  Modern browsers do indeed have <I
516 CLASS="EMPHASIS"
517 >some</I
518 > of the same
519   functionality as <SPAN
520 CLASS="APPLICATION"
521 >Privoxy</SPAN
522 >. Maybe this is
523   adequate for you. But <SPAN
524 CLASS="APPLICATION"
525 >Privoxy</SPAN
526 > is much more
527   versatile and powerful, and can do a number of things that browsers just can't.
528  </P
529 ><P
530 >  In addition, a proxy is good choice if you use multiple browsers, or 
531   have a LAN with multiple computers. This way all the configuration 
532   is in one place, and you don't have to maintain a similar configuration 
533   for possibly many browsers.
534
535  </P
536 ></DIV
537 ><DIV
538 CLASS="SECT2"
539 ><H3
540 CLASS="SECT2"
541 ><A
542 NAME="LICENSE"
543 >1.9. Is there is a license or fee? What about a 
544 warranty? Registration?</A
545 ></H3
546 ><P
547 >  <SPAN
548 CLASS="APPLICATION"
549 >Privoxy</SPAN
550 > is licensed under the GNU General Public
551   License (GPL). It is free to use, copy, modify or distribute as you wish
552   under the terms of this license.  Please see the Copyright section for more
553   information on the license and copyright.
554
555   </P
556 ><P
557 >  There is no warranty of any kind, expressed, implied or otherwise. That is
558   something that would cost real money ;-) There is no registration either.
559   <SPAN
560 CLASS="APPLICATION"
561 >Privoxy</SPAN
562 > really is <I
563 CLASS="EMPHASIS"
564 >free</I
565 >
566   in every respect!
567
568  </P
569 ></DIV
570 ><DIV
571 CLASS="SECT2"
572 ><H3
573 CLASS="SECT2"
574 ><A
575 NAME="JOINTEAM"
576 >1.10. I would like to help you, what do I do?</A
577 ></H3
578 ><DIV
579 CLASS="SECT3"
580 ><H4
581 CLASS="SECT3"
582 ><A
583 NAME="JOINTEAM-MONEY"
584 >1.10.1. Money Money Money</A
585 ></H4
586 ><P
587 > We, of course, welcome donations and use the money for domain registering,
588  regular world-wide get-togethers (hahaha). Anyway, we'll soon describe the
589  process how to donate money to the team.</P
590 ></DIV
591 ><DIV
592 CLASS="SECT3"
593 ><H4
594 CLASS="SECT3"
595 ><A
596 NAME="JOINTEAM-WORK"
597 >1.10.2. You want to work with us?</A
598 ></H4
599 ><P
600 >   Well, helping the team is always a good idea. We welcome new developers,
601    RPM gurus or documentation makers. Simply get an account on sourceforge.net
602    and mail your id to the developer mailing list. Then read the
603    section Quickstart in the <A
604 HREF="../developer-manual/quickstart.html"
605 TARGET="_top"
606 >   Developer's Manual</A
607 >.</P
608 ><P
609 > Once we have added you to the team, you'll have write access to the CVS
610  repository, and together we'll find a suitable task for you.</P
611 ></DIV
612 ></DIV
613 ></DIV
614 ><DIV
615 CLASS="NAVFOOTER"
616 ><HR
617 ALIGN="LEFT"
618 WIDTH="100%"><TABLE
619 WIDTH="100%"
620 BORDER="0"
621 CELLPADDING="0"
622 CELLSPACING="0"
623 ><TR
624 ><TD
625 WIDTH="33%"
626 ALIGN="left"
627 VALIGN="top"
628 ><A
629 HREF="index.html"
630 >Prev</A
631 ></TD
632 ><TD
633 WIDTH="34%"
634 ALIGN="center"
635 VALIGN="top"
636 ><A
637 HREF="index.html"
638 >Home</A
639 ></TD
640 ><TD
641 WIDTH="33%"
642 ALIGN="right"
643 VALIGN="top"
644 ><A
645 HREF="installation.html"
646 >Next</A
647 ></TD
648 ></TR
649 ><TR
650 ><TD
651 WIDTH="33%"
652 ALIGN="left"
653 VALIGN="top"
654 >Privoxy Frequently Asked Questions</TD
655 ><TD
656 WIDTH="34%"
657 ALIGN="center"
658 VALIGN="top"
659 >&nbsp;</TD
660 ><TD
661 WIDTH="33%"
662 ALIGN="right"
663 VALIGN="top"
664 >Installation</TD
665 ></TR
666 ></TABLE
667 ></DIV
668 ></BODY
669 ></HTML
670 >