Compress doc files. Install README and AUTHORS at last as document.
[privoxy.git] / doc / text / user-manual.txt
index 8210b5b..ae15c9c 100644 (file)
@@ -3,7 +3,7 @@ Junkbuster User Manual
 
    By: Junkbuster Developers
    
-   $Id: user-manual.sgml,v 1.15 2001/10/14 23:46:24 hal9 Exp $
+   $Id: user-manual.sgml,v 1.20 2001/10/24 23:58:25 hal9 Exp $
    
    The user manual gives the users information on how to install and
    configure Internet Junkbuster. Internet Junkbuster is an application
@@ -77,24 +77,26 @@ Junkbuster User Manual
    blocking and cookie management, this is a list of new features
    currently under development:
    
+     * A browser based configuration utility (WIP at [24]http://i.j.b).
      * Modularized configuration that will allow for system wide
-       settings, and individual user settings.
-     * A browser based GUI configuration utility (not finished).
+       settings, and individual user settings. (not implemented yet)
      * Blocking of annoying pop-up browser windows (previously available
        as a patch).
-     * Partial support for HTTP/1.1.
+     * Support for HTTP/1.1 (partially implemented at this point).
      * Support for Perl Compatible Regular Expressions in the
        configuration files, and generally a more sophisticated
        configuration syntax over previous versions.
      * Web page content filtering.
      * Multi-threaded.
+       
+   In addition, the configuration is more versatile overall.
      _________________________________________________________________
    
 2. Installation
 
    Junkbuster is available as raw source code, or pre-compiled binaries.
-   See the [24]Junkbuster Home Page for current release info. Junkbuster
-   is also available via [25]CVS. This is the recommended approach at
+   See the [25]Junkbuster Home Page for current release info. Junkbuster
+   is also available via [26]CVS. This is the recommended approach at
    this time. But please be aware that CVS is constantly changing, and it
    may break in mysterious ways.
      _________________________________________________________________
@@ -119,6 +121,7 @@ rrent
    
    Then, in either case, to build from source:
    
+ autoconf           #recommended for CVS source
  ./configure
  make
  su
@@ -131,6 +134,7 @@ rrent
 
    To build Redhat RPM packages, install source as above. Then:
    
+ autoconf              #recommended for CVS source
  ./configure
  make redhat-dist
 
@@ -153,6 +157,7 @@ rrent
 
    To build SuSE RPM packages, install source as above. Then:
    
+ autoconf             #recommended for CVS source
  ./configure
  make suse-dist
 
@@ -176,7 +181,7 @@ rrent
    The OS/2 version of Junkbuster requires the EMX runtime library to be
    installed. The EMX runtime library is available on the hobbes OS/2
    archive, among many other locations:
-   [26]http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&button=Search&key=emx
+   [27]http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&button=Search&key=emx
    rt.zip&stype=all&sort=type&dir=%2Fpub%2Fos2%2Fdev%2Femx%2Fv0.9d
    
    Junkbuster is packaged in a WarpIN self- installing archive. The
@@ -194,7 +199,7 @@ rrent
    need a working EMX/GCC environment, plus several Unix-like tools. The
    Hobbes OS/2 archive is a good place to start when building such an
    environment. A set of Unix-like tools named gnupack is located here:
-   [27]http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&key=gnupack&stype=all
+   [28]http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&key=gnupack&stype=all
    &sort=type&dir=%2Fpub%2Fos2%2Fapps
    
    Once you have the source code unpacked as above, you can build the
@@ -216,7 +221,7 @@ rrent
    Some quick notes on other Operating Systems.
    
    For FreeBSD (and other *BSDs?), the build will need gmake instead of
-   the included make. gmake is available from [28]http://www.gnu.org. The
+   the included make. gmake is available from [29]http://www.gnu.org. The
    rest should be the same as above for Linux/Unix.
      _________________________________________________________________
    
@@ -235,8 +240,11 @@ rrent
      * The main configuration file is named config on Linux, Unix, BSD,
        and OS/2, and junkbustr.txt on Windows. On Amiga, it is
        AmiTCP:db/junkbuster/config.
-     * The actionsfile file is used to define various actions relating to
-       images, banners, pop-ups, banners and cookies.
+     * The actionsfile file is used to define various "actions" relating
+       to images, banners, pop-ups, access restrictions, banners and
+       cookies. There is a CGI based editor for this file that can be
+       accessed via [30]http://i.j.b./. This is the easiest method of
+       configuring actions. (Still under active development.)
      * The re_filterfile file can be used to rewrite the raw page
        content, including text as well as embedded HTML and JavaScript.
        
@@ -244,6 +252,11 @@ rrent
    for maximum flexibility. All files use the "#" character to denote a
    comment. Such lines are not processed by Junkbuster. After making any
    changes, restart Junkbuster in order for the changes to take effect.
+   
+   While under development, the configuration content is subject to
+   change. The below documentation may not be accurate by the time you
+   read this. Also, what constitutes a "default" setting, may change, so
+   please check all your configuration files on important issues.
      _________________________________________________________________
    
 3.1. The Main Configuration File
@@ -257,7 +270,7 @@ rrent
    
    Indicates that the blockfile is named "blocklist.ini".
    
-   The "#" indicates a comment. Any part of a line following a "#" is
+   A "#" indicates a comment. Any part of a line following a "#" is
    ignored, except if the "#" is preceded by a "\".
    
    Thus, by placing a "#" at the start of an existing configuration line,
@@ -271,7 +284,7 @@ rrent
    Long lines can be continued on the next line by using a "\" as the
    very last character.
    
-   There are various aspects of Junkbuster behavior that can be adjusted.
+   There are various aspects of Junkbuster behavior that can be tuned.
      _________________________________________________________________
    
 3.1.1. Defining Other Configuration Files
@@ -307,7 +320,7 @@ rrent
    are filtered. Popups are disabled for all sites. All sites are
    filtered if re_filterfile specified. No sites are blocked. An empty
    image is displayed for filtered ads and other images (formerly
-   "tinygif"). The syntax of this file is explained in detail [29]below.
+   "tinygif"). The syntax of this file is explained in detail [31]below.
    
      actionsfile actionsfile
    
@@ -396,9 +409,10 @@ rrent
    want to serve requests from other machines (e.g. on your local
    network) as well, you will need to override the default. The syntax is
    "listen-address [<ip-address>]:<port>". If you leave out the IP
-   adress, junkbuster will bind to all interfaces (addresses) on your
-   machine and may become reachable from the internet. In that case,
-   consider using access control lists (acl's) (see "aclfile" above).
+   address, junkbuster will bind to all interfaces (addresses) on your
+   machine and may become reachable from the Internet. In that case,
+   consider using access control lists (acl's) (see "aclfile" above), or
+   a firewall.
    
    For example, suppose you are running Junkbuster on a machine which has
    the address 192.168.0.1 on your local private network (192.168.0.0)
@@ -466,17 +480,57 @@ rrent
    Just set "toggle 0".
    
    The Windows version of Junkbuster puts an icon in the system tray,
-   which allows you to change this option without having to edit this
-   file. If you right-click on that icon (or select the "Options" menu),
-   one choice is "Enable". Clicking on enable toggles Junkbuster on and
-   off. This is useful if you want to temporarily disable Junkbuster,
-   e.g., to access a site that requires cookies which you normally have
-   blocked.
+   which also allows you to change this option. If you right-click on
+   that icon (or select the "Options" menu), one choice is "Enable".
+   Clicking on enable toggles Junkbuster on and off. This is useful if
+   you want to temporarily disable Junkbuster, e.g., to access a site
+   that requires cookies which you normally have blocked. This can also
+   be toggled via a web browser at the Junkbuster internal address of
+   [32]http://i.j.b./ on any platform.
    
    "toggle 1" means Junkbuster runs normally, "toggle 0" means that
-   Junkbuster becomes a non-anonymizing non-blocking proxy. Default: 1.
+   Junkbuster becomes a non-anonymizing non-blocking proxy. Default: 1
+   (on).
    
      toggle 1
+   
+   For content filtering, i.e. the "+filter" and "+deanimate-gif"
+   actions, it is neccessary that Junkbuster buffers the entire document
+   body. This can be potentially dangerous, since a server could just
+   keep sending data indefinitely and wait for your RAM to exhaust. With
+   nasty consequences.
+   
+   The buffer-limit option lets you set the maximum size in Kbytes that
+   each buffer may use. When the documents buffer exceeds this size, it
+   is flushed to the client unfiltered and no further attempt to filter
+   the rest of it is made. Remember that there may multiple threads
+   running, which might require increasing the "buffer-limit" Kbytes
+   each, unless you have enabled "single-threaded" above.
+   
+     buffer-limit 4069
+   
+   To enable the web-based actionsfile editor set enable-edit-actions to
+   1, or 0 to disable. Note that you must have compiled JunkBuster with
+   support for this feature, otherwise this option has no effect. This
+   internal page can be reached at [33]http://i.j.b./.
+   
+   Security note: If this is enabled, anyone who can use the proxy can
+   edit the actions file, and their changes will affect all users. For
+   shared proxies, you probably want to disable this. Default: enabled.
+   
+     enable-edit-actions 1
+   
+   Allow JunkBuster to be toggled on and off remotely, using your web
+   browser. Set "enable-remote-toggle"to 1 to enable, and 0 to disable.
+   Note that you must have compiled JunkBuster with support for this
+   feature, otherwise this option has no effect.
+   
+   Security note: If this is enabled, anyone who can use the proxy can
+   toggle it on or off (see [34]http://i.j.b./), and their changes will
+   affect all users. For shared proxies, you probably want to disable
+   this. Default: enabled.
+   
+     enable-remote-toggle 1
      _________________________________________________________________
    
 3.1.3. Access Control List (ACL)
@@ -582,7 +636,8 @@ rrent
    This feature allows chaining of HTTP requests via multiple proxies. It
    can be used to better protect privacy and confidentiality when
    accessing specific domains by routing requests to those domains to a
-   special purpose filtering proxy such as lpwa.com.
+   special purpose filtering proxy such as lpwa.com. Or to use a caching
+   proxy to speed up browsing.
    
    It can also be used in an environment with multiple networks to route
    requests via multiple gateways allowing transparent access to multiple
@@ -783,11 +838,15 @@ rrent
    To determine which actions apply to a request, the URL of the request
    is compared to all patterns in this file. Every time it matches, the
    list of applicable actions for the URL is incrementally updated. You
-   can trace this process by visiting [30]http://i.j.b/show-url-info.
+   can trace this process by visiting [35]http://i.j.b/show-url-info.
+   
+   The actions file can be edited with a browser by loading
+   [36]http://i.j.b, and then select "Edit Actions".
    
    There are four types of lines in this file: comments (begin with a "#"
    character), actions, aliases and patterns, all of which are explained
-   below.
+   below, as well as the configuration file syntax that Junkbuster
+   understands.
      _________________________________________________________________
    
 3.2.1. URL Domain and Path Syntax
@@ -839,8 +898,8 @@ rrent
    If Junkbuster was compiled with "pcre" support (default), Perl
    compatible regular expressions can be used. See the pcre/docs/
    direcory or "man perlre" (also available on
-   [31]http://www.perldoc.com/perl5.6/pod/perlre.html) for details. A
-   brief discussion of regular expressions is in the [32]Appendix. For
+   [37]http://www.perldoc.com/perl5.6/pod/perlre.html) for details. A
+   brief discussion of regular expressions is in the [38]Appendix. For
    instance:
    
    /.*/advert[0-9]+\.jpe?g - would match a URL from any domain, with any
@@ -1136,7 +1195,7 @@ rrent
    except space, tab, "=", "{" or "}". But please use only "a"- "z",
    "0"-"9", "+", and "-". Alias names are not case sensitive, and must be
    defined before anything else in actionsfile! And there can only be one
-   set of "aliases" of defined.
+   set of "aliases" defined.
    
    Now let's define a few aliases:
    
@@ -1258,6 +1317,17 @@ rrent
    After running Junkbuster for a while, you can start to fine tune the
    configuration to suit your personal, or site, preferences and
    requirements. There are many, many aspects that can be customized.
+   "Actions" (from actionsfile) can be adjusted by pointing your browser
+   to [39]http://i.j.b./, and then follow the link to "edit the actions
+   list". (This is an internal page and does not require Internet
+   access.)
+   
+   In fact, various aspects of Junkbuster configuration can be viewed
+   from this page, including current configuration parameters, source
+   code version numbers, the browser's request headers, and "actions"
+   that apply to a given URL. In addition to the actionsfile editor
+   mentioned above, Junkbuster can also be turned "on" and "off" from
+   this page.
    
    If you encounter problems, please verify it is a Junkbuster bug, by
    disabling Junkbuster, and then trying the same page. Also, try another
@@ -1271,14 +1341,14 @@ rrent
 5. Contact the Developers
 
    Feature requests and other questions should be posted to the
-   [33]Feature request page at SourceForge. There is also an archive
+   [40]Feature request page at SourceForge. There is also an archive
    there.
    
    Anyone interested in actively participating in development and related
-   discussions can join the appropriate mailing list [34]here. Archives
+   discussions can join the appropriate mailing list [41]here. Archives
    are available here too.
    
-   Please report bugs, using the form at [35]Sourceforge. Please try to
+   Please report bugs, using the form at [42]Sourceforge. Please try to
    verify that it is a Junkbuster bug, and not a browser or site bug
    first. Also, check to make sure this is not already a known bug.
      _________________________________________________________________
@@ -1296,35 +1366,35 @@ rrent
    WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    General Public License for more details, which is available from
-   [36]the Free Software Foundation, Inc, 59 Temple Place - Suite 330,
+   [43]the Free Software Foundation, Inc, 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.
      _________________________________________________________________
    
 6.2. History
 
    Junkbuster was originally written by Anonymous Coders and
-   [37]JunkBusters Corporation, and was released as free open-source
-   software under the GNU GPL. [38]Stefan Waldherr made many
-   improvements, and started the [39]SourceForge project to rekindle
+   [44]JunkBusters Corporation, and was released as free open-source
+   software under the GNU GPL. [45]Stefan Waldherr made many
+   improvements, and started the [46]SourceForge project to rekindle
    development. The last stable release was v2.0.2, which has now grown
    whiskers ;-).
      _________________________________________________________________
    
 7. See also
 
-     [40]http://sourceforge.net/projects/ijbswa
+     [47]http://sourceforge.net/projects/ijbswa
    
-     [41]http://ijbswa.sourceforge.net/
+     [48]http://ijbswa.sourceforge.net/
    
-     [42]http://ijbswa.sourceforge.net/config/
+     [49]http://i.j.b./
    
-     [43]http://www.junkbusters.com/ht/en/cookies.html
+     [50]http://www.junkbusters.com/ht/en/cookies.html
    
-     [44]http://www.waldherr.org/junkbuster/
+     [51]http://www.waldherr.org/junkbuster/
    
-     [45]http://privacy.net/analyze/
+     [52]http://privacy.net/analyze/
    
-    [46]http://www.squid-cache.org/
+    [53]http://www.squid-cache.org/
      _________________________________________________________________
    
 8. Appendix
@@ -1473,7 +1543,7 @@ rrent
    you know enough to get started, you can learn more on your own :/
    
    More reading on Perl Compatible Regular expressions:
-   [47]http://www.perldoc.com/perl5.6/pod/perlre.html
+   [54]http://www.perldoc.com/perl5.6/pod/perlre.html
 
 References
 
@@ -1489,38 +1559,45 @@ References
   10. file://localhost/home/swa/sf/current/doc/source/tmp.html#INSTALLATION-WIN
   11. file://localhost/home/swa/sf/current/doc/source/tmp.html#INSTALLATION-OTHER
   12. file://localhost/home/swa/sf/current/doc/source/tmp.html#CONFIGURATION
-  13. file://localhost/home/swa/sf/current/doc/source/tmp.html#AEN152
+  13. file://localhost/home/swa/sf/current/doc/source/tmp.html#AEN158
   14. file://localhost/home/swa/sf/current/doc/source/tmp.html#ACTIONSFILE
   15. file://localhost/home/swa/sf/current/doc/source/tmp.html#FILTERFILE
   16. file://localhost/home/swa/sf/current/doc/source/tmp.html#QUICKSTART
   17. file://localhost/home/swa/sf/current/doc/source/tmp.html#CONTACT
   18. file://localhost/home/swa/sf/current/doc/source/tmp.html#COPYRIGHT
-  19. file://localhost/home/swa/sf/current/doc/source/tmp.html#AEN1103
-  20. file://localhost/home/swa/sf/current/doc/source/tmp.html#AEN1109
+  19. file://localhost/home/swa/sf/current/doc/source/tmp.html#AEN1161
+  20. file://localhost/home/swa/sf/current/doc/source/tmp.html#AEN1167
   21. file://localhost/home/swa/sf/current/doc/source/tmp.html#SEEALSO
   22. file://localhost/home/swa/sf/current/doc/source/tmp.html#APPENDIX
   23. file://localhost/home/swa/sf/current/doc/source/tmp.html#REGEX
-  24. http://sourceforge.net/projects/ijbswa/
-  25. http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/ijbswa/current/
-  26. http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&button=Search&key=emxrt.zip&stype=all&sort=type&dir=%2Fpub%2Fos2%2Fdev%2Femx%2Fv0.9d
-  27. http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&key=gnupack&stype=all&sort=type&dir=%2Fpub%2Fos2%2Fapps
-  28. http://www.gnu.org/
-  29. file://localhost/home/swa/sf/current/doc/source/tmp.html#ACTIONSFILE
-  30. http://i.j.b/show-url-info
-  31. http://www.perldoc.com/perl5.6/pod/perlre.html
-  32. file://localhost/home/swa/sf/current/doc/source/tmp.html#REGEX
-  33. http://sourceforge.net/tracker/?atid=361118&group_id=11118&func=browse
-  34. http://sourceforge.net/mail/?group_id=11118
-  35. http://sourceforge.net/tracker/?group_id=11118&atid=111118
-  36. http://www.gnu.org/copyleft/gpl.html
-  37. http://www.junkbusters.com/ht/en/ijbfaq.html
-  38. http://www.waldherr.org/junkbuster/
-  39. http://sourceforge.net/projects/ijbswa/
-  40. http://sourceforge.net/projects/ijbswa
-  41. http://ijbswa.sourceforge.net/
-  42. http://ijbswa.sourceforge.net/config/
-  43. http://www.junkbusters.com/ht/en/cookies.html
-  44. http://www.waldherr.org/junkbuster/
-  45. http://privacy.net/analyze/
-  46. http://www.squid-cache.org/
-  47. http://www.perldoc.com/perl5.6/pod/perlre.html
+  24. http://i.j.b/
+  25. http://sourceforge.net/projects/ijbswa/
+  26. http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/ijbswa/current/
+  27. http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&button=Search&key=emxrt.zip&stype=all&sort=type&dir=%2Fpub%2Fos2%2Fdev%2Femx%2Fv0.9d
+  28. http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&key=gnupack&stype=all&sort=type&dir=%2Fpub%2Fos2%2Fapps
+  29. http://www.gnu.org/
+  30. http://i.j.b/
+  31. file://localhost/home/swa/sf/current/doc/source/tmp.html#ACTIONSFILE
+  32. http://i.j.b/
+  33. http://i.j.b/
+  34. http://i.j.b/
+  35. http://i.j.b/show-url-info
+  36. http://i.j.b/
+  37. http://www.perldoc.com/perl5.6/pod/perlre.html
+  38. file://localhost/home/swa/sf/current/doc/source/tmp.html#REGEX
+  39. http://i.j.b/
+  40. http://sourceforge.net/tracker/?atid=361118&group_id=11118&func=browse
+  41. http://sourceforge.net/mail/?group_id=11118
+  42. http://sourceforge.net/tracker/?group_id=11118&atid=111118
+  43. http://www.gnu.org/copyleft/gpl.html
+  44. http://www.junkbusters.com/ht/en/ijbfaq.html
+  45. http://www.waldherr.org/junkbuster/
+  46. http://sourceforge.net/projects/ijbswa/
+  47. http://sourceforge.net/projects/ijbswa
+  48. http://ijbswa.sourceforge.net/
+  49. http://i.j.b/
+  50. http://www.junkbusters.com/ht/en/cookies.html
+  51. http://www.waldherr.org/junkbuster/
+  52. http://privacy.net/analyze/
+  53. http://www.squid-cache.org/
+  54. http://www.perldoc.com/perl5.6/pod/perlre.html