name change related issues.
[privoxy.git] / config
diff --git a/config b/config
index b5b3975..d970941 100644 (file)
--- a/config
+++ b/config
@@ -1,7 +1,7 @@
-#  Sample Configuration file for the Internet Junkbuster 2.0
+#  Sample Configuration file for Privoxy
 
 #
-# $Id: config,v 1.2 2001/05/17 22:37:46 oes Exp $
+# $Id: config,v 1.30 2002/03/24 11:37:39 jongfoster Exp $
 #
 
 #  Table of Contents
 #
 #  1. INTRODUCTION
 #
-#  This file holds the Junkbuster configuration.  If you modify this
-#  file, you will need to stop & restart Junkbuster, or use the
-#  "Reload Config" option (Windows) before any changes take effect.
+#  This file holds the Privoxy configuration.  If you modify this
+#  file, you will need to send a couple of requests to the proxy
+#  before any changes take effect.
 #
-#  When starting Junkbuster on Unix systems, give the name of this
-#  file as an argument.  On Windows systems, Junkbuster will look for
-#  this file with the name 'junkbustr.txt' in the same directory where
-#  Junkbuster is installed.
+#  When starting Privoxy on Unix systems, give the name of this
+#  file as an argument.  On Windows systems, Privoxy will look for
+#  this file with the name 'config.txt' in the same directory where
+#  Privoxy is installed.
 #
 #  2. FORMAT OF THE CONFIGURATION FILE
 #
 #  of values, all separated by whitespace (any number of spaces or
 #  tabs).  For example,
 #
-#  blockfile blocklist.ini
+#  actionsfile default.action
 #
-#  Indicates that the blockfile is named 'blocklist.ini'.
+#  Indicates that the actionsfile is named 'default.action'.
 #
-#  The '#' indicates a comment.  Any part of a line following a # is
-#  ignored
+#  The '#' 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,
 #  you can make it a comment and it will be treated as if it weren't there. 
 #  This is called "commenting out" an option and can be useful to turn
-#  off features: If you comment out the "logfile" line, junkbuster will
-#  not log at all. Watch for the "default:" section in each explanation
-#  to see what happens if the option is left unset (or commented out). 
-#  
-
+#  off features: If you comment out the "logfile" line, Privoxy will
+#  not log to a file at all. Watch for the "default:" section in each 
+#  explanation to see what happens if the option is left unset (or 
+#  commented out). 
+#
+#  Long lines can be continued on the next line by using a `\' as
+#  the last character.
 #
 #  3. OTHER CONFIGURATION FILES
 #
-#  Junkbuster uses a number of other files to tell it what ads to
+#  Privoxy uses a number of other files to tell it what ads to
 #  block, what cookies to accept, etc.  This section of the
-#  configuration file tells Junkbuster where to find all those other
+#  configuration file tells Privoxy where to find all those other
 #  files.
 #
-#  On Windows, Junkbuster looks for these files in the same
-#  directory as the executable.  On Unix, Junkbuster looks for these
-#  files in the current working directory.  In either case, an
-#  absolute path name can be used to avoid problems.
-
+#  Privoxy looks for these files in the directory specified with
+#  "confdir" option.
 #
-#  The blockfile contains regular expressions, one per line, of URLs
-#  to be blocked by Junkbuster.
+#  (Note that on Windows, Privoxy usually starts with the current
+#  directory (".") being the same directory as the executable)
 #
-#  Default: Don't block anything.
+#  An absolute path name can be used to avoid problems.
 #
-blockfile   ./blocklist
-
+#  While we go modular and multiuser, the blocker, filter, and 
+#  per-user config will be stored in subdirectories of confdir.
+#  Now, only confdir/templates is used for storing HTML templates
+#  for CGI results.
 #
-#  The imagefile contains regular expressions, one per line, of URLs
-#  to be blocked as images by Junkbuster, regardless of whether they
-#  look like image URLs or not.
+#  No trailing /, please.
+confdir .
+
 #
-#  Default: Block all URLs as HTML requests.
+#  The directory where all logging (i.e. logfile and jarfile) takes place
+#  No trailing /, please.
 #
-imagefile   ./imagelist 
+logdir .
 
-#
-#  The permissions file contains patterns to specify the
-#  cookie and filtering rules to apply to each site.
+#  Note that all file specifications below are relative to 
+#  the above two directories!!!
+
+#  The actions file contains patterns to specify the
+#  actions to apply to requests for each site.
 #
 #  Default: Cookies to and from all destinations are filtered.
 #           Popups are disabled for all sites.
-#           All sites are filtered if re_filterfile specified.
+#           All sites are filtered if filterfile specified.
+#           No sites are blocked.  Nothing is an image.
 #
-permissionsfile ./permissionsfile
+actionsfile default.action
 
-#
-#  The re_filterfile contains content modification rules.  These rules
+#  The filterfile contains content modification rules.  These rules
 #  permit powerful changes on the content of Web pages, e.g., you
 #  could disable your favourite JavaScript annoyances, rewrite the
 #  actual content, or just have some fun replacing "Microsoft"
 #  with "Microsuck" wherever it appears on a Web page.
 #
-#  Default: No content modification.
+#  Default: content modification. (see '+-filter' in actionsfile)
 #
-re_filterfile   ./re_filterfile
+filterfile default.filter
 
 #
 #  The logfile is where all logging and error messages are written.
 #  The logfile can be useful for tracking down a problem with
-#  Junkbuster (e.g., it's not blocking an ad you think it should
+#  Privoxy (e.g., it's not blocking an ad you think it should
 #  block) but in most cases you probably will never look at it.
 #
-#  If you do not use 'log-buffer-size'/'log-max-lines' (see below)
-#  your logfile will grow indefinitely, and you will probably want to
+#  Your logfile will grow indefinitely, and you will probably want to
 #  periodically remove it.  On Unix systems, you can do this with a
 #  cron job (see 'man cron').
 #
 #  On SuSE Linux systems, you can place a line like
-#  "/var/log/junkbuster.* +1024k 644 nobody.nogroup" in /etc/logfiles,
+#  "/var/log/privoxy.* +1024k 644 nobody.nogroup" in /etc/logfiles,
 #  with the effect that cron.daily will automatically archive, gzip,
 #  and empty the log, when it exceeds 1M size.
 #
 #  Default: Log to the standard error channel, not to a file
 #
-logfile      ./junkbuster.log
+logfile logfile
 
 #
-#  The jarfile defines where Junkbuster stores the cookies it
+#  The jarfile defines where Privoxy stores the cookies it
 #  intercepts.  Note that if you use a jarfile, it may grow quite
 #  large. 
 #
 #  Default: Don't store intercepted cookies
 #
-#jarfile     ./jarfile
+jarfile jarfile
 
 #
-#  The forwardfile defines domain-specific forwarding of HTTP
-#  requests.  In some cases, you may want Junkbuster to forward your
-#  request to another proxy instead of trying to fetch the request
-#  itself.  In those cases, you can use the forwardfile to indicate
-#  which requests should be forwarded and to where.
+#  If you specify a trustfile, Privoxy will only allow access
+#  to sites that are named in the trustfile. You can also mark
+#  sites as trusted referrers, with the effect that access to
+#  untrusted sites will be granted, if a link from a trusted
+#  referrer was used. The link target will then be added to the
+#  trustfile.
+#  Note that this is a very restrictive feature that typical users
+#  most propably want to leave disabled.
 #
-#  Default: Make all connections directly.
+#  Default: Don't use the trust mechanism
 #
-forwardfile   ./forward
+#trustfile trust
 
 #
-#  Generally, Junkbuster is used as a personal proxy.  The default
-#  behaviour of Junkbuster is to listen on port 8000 on the "loopback"
-#  interface, so that it will only listen to local requests from the
-#  same machine.  Using 'listen-address' (see below) you can serve
-#  requests from other machines as well.
+#  If you use the trust mechanism, it is a good idea to write up
+#  some online documentation about your blocking policy and to
+#  specify the URL(s) here. They will appear on the page that
+#  your users receive when they try to access untrusted content.
+#  Use multiple times for multiple URLs.
 #
-#  In that case, it is a wise thing to define access control lists
-#  (acls), which state who can connect to your proxy and what service
-#  they will be given. Note that setting the listen-address to an IP
-#  address that is only internally reachable from your local network
-#  might already do the trick.
+#  Default: Don't display links on the "untrusted" info page.
 #
-#  Default: No access control. Everybody that can reach junkbuster
-#           will be served.
-#
-#aclfile   ./aclfile
+trust-info-url http://www.your-site.com/why_we_block.html
+trust-info-url http://www.your-site.com/what_we_allow.html
 
-#
 #  4. OPTIONS
 #
 #  This part of the configuration file contains options that control
-#  how Junkbuster operates.
+#  how Privoxy operates.
 #
 
+#  Admin-address should be set to the email address of the proxy
+#  administrator. It is used in many of the proxy-generated pages.
 #
-#  If 'add-forwarded-header' is set, an "X-Forwarded-For:"
-#  specification will be added to each request header.  Generally,
-#  this is not needed and will reduce your privacy, as the server
-#  will not only see which proxy the request came through, but also
-#  which machine behind that proxy the request originally came from.
+#  Default: Do not display an e-mail address
 #
-#  Default: Don't add the "X-Forwarded-For:" header.
-#
-#add-forwarded-header
+admin-address fill@me.in.please
 
 #
-#  Junkbuster can add "wafers", i.e. fake cookies, to each request
-#  header it sends out.
-#  These wafers can be seen by Web site operators in their log files,
-#  so it's a way for you to communicate (very indirectly!) with
-#  them. Junkbuster will add as many wafers as you like to each
-#  request, just list them all here.  Here's an example:
-#
-#     wafer    NOTE=Like most people, I want my browsing to be anonymous.
-#     wafer    WARNING=Please do not attempt to track me.
-#
-#  Wafers make each request larger and will have a (small) impact on
-#  your browsing speed, so you probably don't want to do this unless
-#  you have a particular need.
+#  Proxy-info-url can be set to a URL that contains more info about
+#  this Privoxy installation, it's configuration and policies.
+#  It is used in many of the proxy-generated pages and its use is
+#  highly recommended, since your users will want to know why certain
+#  content is blocked or modified.
 #
-#  Default: Don't add a wafer
+#  Default: Don't show a link to online documentation
 #
-#wafer NOTE=Add your wafer here...
+proxy-info-url http://www.your-site.com/proxy.html
 
 #
-# There's also a pre-defined wafer containing a privacy message,
-# called the vanilla wafer, which is sent by default. Setting
-# suppress-vanilla-wafer suppresses this. You guessed that, didn't you?
-#
-# Default: Send the vanilla wafer
-#
-suppress-vanilla-wafer
-
-#
-#  In fact, Junkbuster can add anything at all to the request headers.
-#  You can specify the headers to add with the add-header option.  For
-#  example: 
-#
-#     add-header  Forwarded: by http://stay-out-of-my-backyard.net
-#
-#  Generally, random headers will simply be ignored by the Web site,
-#  so there's little use in adding them.  However, there are some
-#  cases where you might want to add a header, e.g., if you're
-#  forwarding Junkbuster requests to another proxy you might want to
-#  add:
-#
-#     add-header    Proxy-Connection: Keep-Alive
-# 
-#  to every request.
-#
-#add-header My-Header: Whatever you'd like...
-
-#
-#  Listen-address specifies the address and port where Junkbuster will
+#  Listen-address specifies the address and port where Privoxy will
 #  listen for connections from your Web browser.  The default is to
-#  listen on the local host on port 8000, and this is suitable for
+#  listen on the local host on port 8118, and this is suitable for
 #  most users.  (In your web browser, under proxy configuration, list
-#  the proxy server as 'localhost' and the port as '8000').
+#  the proxy server as 'localhost' and the port as '8118').
 # 
-#  If you already have another service running on port 8000, or if you
+#  If you already have another service running on port 8118, or if you
 #  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
+#  adress, Privoxy 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).
 #
-#  For example, suppose you are running Junkbuster on a machine which
+#  For example, suppose you are running Privoxy on a machine which
 #  has the address 192.168.0.1 on your local private network
 #  (192.168.0.0) and has another outside connection with a different
 #  address. You want it to serve requests from inside only:
 #
-#     listen-address 192.168.0.1:8000
+#     listen-address 192.168.0.1:8118
 #
 #  If you want it to listen on all addresses (including the outside
 #  connection):
 #
-#     listen-address :8000
+#     listen-address :8118
 #
 #  If you do this, consider using acls (see "aclfile" above).
 #
 #  Note: you will need to point your browser(s) to the address
 #  and port that you have configured here.
 #
-#  Default:  listen-address    localhost:8000 
-#            listen-address    127.0.0.1:8000
+#  Default:  listen-address    localhost:8118 
+#            listen-address    127.0.0.1:8118
 #
+listen-address 127.0.0.1:8118
 
 #
-#  When your Web browser makes a request from a Web site, it informs
-#  the Web site what sort of browser it is, e.g., "Internet Explorer
-#  V2.0" or some such.  In theory, Web sites can use this information
-#  to tailor themselves for your browser.
+#  The debug option sets the level of debugging information to log in
+#  the logfile (and to the console in the Windows version).  A debug
+#  level of 1 is informative because it will show you each request as
+#  it happens.  Higher levels of debug are probably only of interest
+#  to developers.
+#
+#   debug         1 # GPC  = show each GET/POST/CONNECT request
+#   debug         2 # CONN = show each connection status
+#   debug         4 # IO   = show I/O status
+#   debug         8 # HDR  = show header parsing
+#   debug        16 # LOG  = log all data into the logfile
+#   debug        32 # FRC  = debug force feature
+#   debug        64 # REF  = debug regular expression filter 
+#   debug       128 #      = debug fast redirects
+#   debug       256 #      = debug GIF deanimation
+#   debug       512 # CLF  = Common Log Format
+#   debug     1024 #        = debug kill popups
+#   debug      4096 # INFO = Startup banner and warnings.
+#   debug      8192 # ERROR = Non-fatal errors
 #
-#  The 'user-agent' option controls whether Junkbuster will conceal
-#  your browser type or not.  If user-agent is set to . (period) the
-#  User-Agent header is passed to the server unchanged, along with any
-#  UA headers produced by MS-IE (which would otherwise be deleted). If
-#  user-agent is set to @ (at) these headers are sent unchanged in
-#  cases where the cookiefile specifies that a cookie would be sent,
-#  otherwise only a default User-Agent header is sent. That default is
-#  Mozilla/3.0 (Netscape) with an unremarkable Linux configuration. 
-#  If left unset, the default header is always sent.
+#  It is *highly recommended* that you enable ERROR
+#  reporting.  (debug 8192).
 #
-#  Note that if you choose to mislead Web sites about your browser
-#  type, you may get Web pages that confuse your browser or display
-#  incorrectly.  In most cases, it's probably fine to send your real
-#  browser type.
+#  The reporting of FATAL errors (i.e. ones which crash 
+#  Privoxy) is always on and cannot be disabled.
 #
-#  Default: Always send the (forged) default user agent header
+#  If you want to use CLF, you should set "debug 512" ONLY,
+#  do not enable anything else.
 #
-user-agent    .
+#  Multiple "debug" directives, are OK - they're logical-OR'd
+#  together. 
+#
+#   debug         15 # same as setting the first 4 listed above
+#
+#  Default: 0, i.e. log nothing but fatal errors
+#
+debug   1    # URLs
+debug   4096 # Info
+debug   8192 # Errors - *we highly recommended enabling this*
 
 #
-#  When your Web browser requests a page from a Web site, it also
-#  informs the Web site where it came from, i.e., when you click
-#  through to a new web page, your browser tells the new web site the
-#  URL of the old web page.  This is called the "Referer" header.
+#  Privoxy normally uses "multi-threading", a software technique
+#  that permits it to handle many different requests simultaneously.
+#  In some cases you may wish to disable this -- particularly if
+#  you're trying to debug a problem.  The 'single-threaded' option
+#  forces Privoxy to handle requests sequentially.
+#
+#  Default: Multithreaded mode
 #
-#  Junkbuster has the ability to mask the Referer header.  Referer
-#  headers can be used to track users as they browse around the web,
-#  and many consider them invasive.  Junkbuster provides several
-#  options for dealing with referer headers:
+#single-threaded
+
 #
-#       VALUE       EFFECT
-#       =====       ======
-#       default     Kill the referrer-header from the client.
-#       .           Pass the referrer unchanged.
-#       @           Pass the referrer if the server is in the cookie file,
-#                   kill the referrer otherwise.
-#       L           Pass the referrer if the server is in the cookie file,
-#                   send a forged referrer that points to the
-#                   root-directory URL of the current request otherwise.
-#       'text'      Always send <text> as the referrer.
+#    'toggle' allows you to temporarily disable all Privoxy's 
+#    filtering.  Just set "toggle 0".
+#    
+#    This can now be toggled remotely, through the web-based config
+#    interface.  There is no reason to edit this file any more.
 #
-#  L is probably preferable to @, because it will break fewer Web
-#  sites while still concealing your browsing path.
+#    The Windows version of Privoxy 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 Privoxy on and off.  This is useful if you want to
+#    temporarily disable Privoxy, e.g., to access a site that
+#    requires cookies which you normally have blocked.
 #
-#  Default: see above
+#    'toggle 1' means Privoxy runs normally, 'toggle 0' means
+#    that Privoxy becomes a non-anonymizing non-blocking
+#    proxy.
 #
-referer     L
+#  Default: 1
+#
+toggle 1
 
 #
-#  Some browsers provide a "From:" header that gives Web sites your
-#  email address.  The only real effect of this is to make you a
-#  target for unsolicited email (spam).  There are three options
-#  what to do with the "From:" header if it is present:
-# 
-#       VALUE       EFFECT
-#       =====       ======
-#       default     Kill every "From:" header
-#       .           Pass the "From:" header unchanged
-#       'text'      replace the email address in the "From:" header with 'text'
+#  For content filtering, i.e. the +filter and +deanimate-gif
+#  actions, it is neccessary that Privoxy buffers up the
+#  whole document body. This can be potentially dangerous, since
+#  a server could just keep sending data indefinitely and wait
+#  for your RAM to exhaust.
+#  The buffer-limit option lets you set the size in Kbytes that
+#  each buffer may use at maximum. When the documents buffer
+#  exceeds that size, it is flushed to the client unfiltered and 
+#  no further attempt to filter the rest of it is taken.
+#  Remember that there may multiple threads running, which might
+#  require up to buffer-limit Kbytes *each*, unless you have set
+#  single-threaded below.
 #
-#  Default: see above
+#  Default: 4069, i.e. 4 MB
 #
-#from   spam-me-senseless@sittingduck.xqq
+buffer-limit 4069
+
 
 #
-#  The 'tinygif' option lets you change how Junkbuster treats blocked
-#  images.  The default behavior is to send an HTML answer to requests
-#  for images, resulting in a "broken image icon" in place of the blocked
-#  image.  That's a little ugly, so several other options are available:
+#  Enable the web-based actionsfile editor.  Set to 1 to enable,
+#  0 to disable.  Note that you must have compiled Privoxy
+#  with support for this feature, otherwise this option has no
+#  effect.
 #
-#     VALUE       EFFECT
-#     =====       ======
-#     0           Send HTML
-#     1           Send a GIF of one transparent pixel
-#     2           Send a GIF with the word "JUNKBUSTER"
-#     3 <url>     Send a redirect to the image indicated by the <url>
+#  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.
 #
-#  As an example of the last option:
+#  Default: Disabled
 #
-#    tinygif 3 http://www.junkbusters.com/images/fb.gif
+enable-edit-actions 1
+
+
 #
-#  Will replace every blocked image with the "fb.gif" image.
+#  Allow Privoxy to be toggled on and off remotely, using your
+#  web browser.  Set to 1 to enable, 0 to disable.  Note that you
+#  must have compiled Privoxy with support for this feature,
+#  otherwise this option has no effect.
 #
-#  There is one non-obvious benefit to using option "3".  If you use
-#  option 3, your Web browser will likely cache the image you specify
-#  on your local machine.  That means that after the first use, that
-#  image will load very quickly (and won't require a request to the
-#  junkbuster proxy)
+#  Security note:  If this is enabled, anyone who can use the proxy
+#  can toggle it on or off, and their changes will affect all users.
+#  For shared proxies, you probably want to disable this.
 #
-#  Default: 0, i.e. send HTML
+#  Default: Disabled
 #
-tinygif   2
+enable-remote-toggle 1
 
+#############################################################################
+# Access Control List
+#############################################################################
 #
-#  The debug option sets the level of debugging information to log in
-#  the logfile (and to the console in the Windows version).  A debug
-#  level of 1 is informative because it will show you each request as
-#  it happens.  Higher levels of debug are probably only of interest
-#  to developers.
+# Access controls are included at the request of some ISPs and systems
+# administrators, and are not usually needed by individual users.
+# Please note the warnings in the FAQ that this proxy is not
+# intended to be a substitute for a firewall or to encourage anyone
+# to defer addressing basic security weaknesses.
+# For details see the documentation
 #
-#   debug         1 # GPC  = show each GET/POST/CONNECT request
-#   debug         2 # CONN = show each connection status
-#   debug         4 # IO   = show I/O status
-#   debug         8 # HDR  = show header parsing
-#   debug        16 # LOG  = log all data into the logfile
-#   debug        32 # FRC  = debug force feature
-#   debug        64 # REF  = debug regular expression filter 
+# If no access settings are specified, the proxy talks to anyone that
+# connects.  If any access settings file are specified, then the proxy
+# talks only to IP addresses permitted somewhere in this file and not
+# denied later in this file.
 #
-#  Multiple "debug" directives, are OK - they're logical-OR'd
-#  together. 
+# Summary -- if using an ACL:
 #
-#   debug         15 # same as setting the first 4 listed above
+#  Client must have permission to receive service
+#  LAST match in ACL wins
+#  Default behavior is to deny service
 #
-#  Default: 0, i.e. log nothing but errors and infos
+# Syntax for an entry in the Access Control List is:
 #
-debug   1
-
+# ACTION    SRC_ADDR[/SRC_MASKLEN]    [ DST_ADDR[/DST_MASKLEN] ]
 #
-#  Junkbuster normally uses "multi-threading", a software technique
-#  that permits it to handle many different requests simultaneously.
-#  In some cases you may wish to disable this -- particularly if
-#  you're trying to debug a problem.  The 'single-threaded' option
-#  forces Junkbuster to handle requests sequentially.
+# where the fields are
 #
-#  Default: Multithreaded mode
+# ACTION      = "permit-access" | "deny-access"
 #
-#single-threaded
-
+# SRC_ADDR    = client hostname or dotted IP address
+# SRC_MASKLEN = number of bits in the subnet mask for the source
 #
-#    'toggle' controls whether Junkbuster can temporarily be toggled on
-#    and off.
-#    
-#    The Windows version of Junkbuster puts an icon in the system
-#    tray.  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.
+# DST_ADDR    = server or forwarder hostname or dotted IP address
+# DST_MASKLEN = number of bits in the subnet mask for the target
 #
-#    Unix versions of Junkbuster are toggled on and off by sending a
-#    SIGHUP to Junkbuster.
+# field separator (FS) is whitespace (space or tab)
 #
-#    'toggle 1' means permit toggling of Junkbuster, 'toggle 0' means
-#    don't.
+# IMPORTANT NOTE
+# ==============
+# If Privoxy is using a forwarder or a gateway for a particular 
+# destination URL, the DST_ADDRR that is examined is the address of
+# the forwarder or the gateway and NOT the address of the ultimate target.
+# This is necessary because it may be impossible for the local
+# Privoxy to determine the address of the ultimate target
+# (that's often what gateways are used for).
 #
-#  Default: 1
+# Here are a few examples to show how the ACL works:
 #
-toggle 1
+# localhost is OK --  no DST_ADDR implies that ALL destination addresses are OK
+# permit-access localhost
+#
+# a silly example to illustrate:
+#
+# permit any host on the class-C subnet with our web server to go
+# anywhere
+#
+# permit-access www.example.com/24
+#
+# except deny one particular IP address from using it at all
+#
+# deny-access      hacker.example.com
+#
+# another example
+#
+# You can specify an explicit network address and subnet mask.
+# Explicit addresses do not have to be resolved to be used.
+#
+# permit-access 207.153.200.0/24
+#
+# a subnet mask of 0 matches anything, so the next line permits everyone.
+#
+# permit-access 0.0.0.0/0
+#
+# Note:  you cannot say
+#
+# permit-access .org
+#
+# to allow all .org domains; every IP-address listed must resolve fully.
+#
+# An ISP may want to provide a Privoxy that is accessible by "the world"
+# and yet restrict use of some of their private content to hosts on its
+# internal network (i.e. its own subscribers).  Say, for instance the
+# ISP owns the Class-B IP address block 123.124.0.0 (a 16 bit netmask).
+# This is how they could do it:
+#
+# permit-access 0.0.0.0/0   0.0.0.0/0   # other clients can go anywhere 
+#                                       # with the following exceptions:
+#
+# deny-access   0.0.0.0/0   123.124.0.0/16 # block all external requests for
+#                                          # sites on the ISP's network
+#
+# permit 0.0.0.0/0   www.my_isp.com # except for the ISP's main web site
+#
+# permit 123.124.0.0/16 0.0.0.0/0   # the ISP's clients can go anywhere
+#
+# Note that some hostnames may be listed with multiple IP addresses;
+# the primary value returned by gethostbyname() is used.
+#
+# Default: Anyone can access the proxy.
 
+
+#############################################################################
+# Forwarding
+#############################################################################
+#
+#
+# This feature allows routing 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
+#
+# It can also be used in an environment with multiple networks to route
+# requests via multiple gateways allowing transparent access to multiple
+# networks without having to modify browser configurations.
+#
+# Also specified here are SOCKS proxies.  We support SOCKS 4 and SOCKS 4A.
+# The difference is that SOCKS 4A will resolve the target hostname using
+# DNS on the SOCKS server, not our local DNS client.
+#
+# The syntax of each line is
 #
-#  5. WINDOWS GUI OTPIONS
+# forward target_domain[:port] http_proxy_host[:port]
+# forward-socks4  target_domain[:port] socks_proxy_host[:port] http_proxy_host[:port]
+# forward-socks4a target_domain[:port] socks_proxy_host[:port] http_proxy_host[:port]
 #
-#  Junkbuster has a number of options specific to the Windows GUI
+# If http_proxy_host is ".", then requests are not forwarded to
+# a HTTP proxy but are made directly to the web servers.
+#
+# Lines are checked in turn, and the last match wins.
+#
+# There is an implicit line equivalent to the following, which specifies that
+# anything not finding a match on the list is to go out without forwarding
+# or gateway protocol; like so:
+#    forward .*   .  # implicit
+#
+# In the following common configuration, everything goes to Lucent's LPWA,
+# except SSL on port 443 (which it doesn't handle)
+#    forward .*    lpwa.com:8118
+#    forward :443 .
+#
+# See the FAQ for instructions on how to automate the login procedure for LPWA.
+# Some users have reported difficulties related to LPWA's use of . as the
+# last element of the domain, and have said that this can be fixed with this:
+#    forward lpwa.  lpwa.com:8118
+# (NOTE: the syntax for specifiying target_domain has changed since the
+# previous paragraph weas written - it will not work now.  More information
+# is welcome.)
+#
+# In this fictitious example, everything goes via an ISP's caching proxy,
+# except requests to that ISP:
+#
+# forward .* caching.myisp.net:8118
+# forward myisp.net .
+#
+# For the @home network, we're told the forwarding configuration is this:
+# forward .* proxy:8080
+# Also, we're told they insist on getting cookies and Javascript, so you need
+# to add home.com to the cookie file. We consider Javascript a security risk;
+# see our page on cookies. Java need not be enabled.
+#
+# In this example direct connections are made to all "internal" domains,
+# but everything else goes through Lucent's LPWA by way of the company's
+# SOCKS gateway to the Internet.
+#
+# forward-socks4 .* lpwa.com:8118 firewall.my_company.com:1080
+# forward my_company.com .
+#
+# This is how you could set up a site that always uses SOCKS but no forwarders
+#
+# forward-socks4a .* . firewall.my_company.com:1080
+#
+# An advanced example for network administrators:
+#
+# If you have links to multiple ISPs that provide various special content to
+# their subscribers, you can configure forwarding to pass requests to the
+# specific host that's connected to that ISP so that everybody can see all
+# of the content on all of the ISPs.
+#
+# This is tricky, but here's a sample:
+# 
+# host-a has a PPP connection to isp-a.com
+# host-b has a PPP connection to isp-b.com
+#
+# host-a can run Privoxy with forwarding like this:
+#   forward .* .
+#   forward isp-b.com host-b:8118
+#
+# host-b can run Privoxy with forwarding like this:
+#   forward .* .
+#   forward isp-a.com host-a:8118
+#
+# Now, *anyone* on the Internet (including users on host-a and host-b)
+# can set their browser's proxy to *either* host-a or host-b and
+# be able to browse the content on isp-a or isp-b.
+#
+#
+# Here's another practical example, for University of Kent at
+# Canterbury students with a network connection in their room, who
+# need to use the University's Squid web cache.
+#
+#   forward *. ssbcache.ukc.ac.uk:3128 # Use the proxy, except for:
+#   forward .ukc.ac.uk            . # Anything on the same domain as us
+#   forward *                     . # Host with no domain specified
+#   forward 129.12.*.*            . # A dotted IP on our /16 network.
+#   forward 127.*.*.*             . # Loopback address
+#   forward localhost.localdomain . # Loopback address
+#   forward www.ukc.mirror.ac.uk  . # Specific host
+#
+#
+# Note: If you intend to chain Privoxy and squid locally, the chain
+#       broswer -> squid -> Privoxy is the recommended way.
+#
+#       Your squid configuration could then look like this:
+#
+#       # Define Privoxy as parent cache 
+#       cache_peer 127.0.0.1 8118 parent 0 no-query 
+#
+#       # Define ACL for protocol FTP 
+#       acl FTP proto FTP 
+#
+#       # Do not forward ACL FTP to Privoxy 
+#       always_direct allow FTP 
+#
+#       # Do not forward ACL CONNECT (https) to Privoxy 
+#       always_direct allow CONNECT 
+#
+#       # Forward the rest to Privoxy 
+#       never_direct allow all 
+#
+
+#############################################################################
+#  5. WINDOWS GUI OPTIONS
+#############################################################################
+#
+#  Privoxy has a number of options specific to the Windows GUI
 #  interface:
 #
 #    activity-animation      {1 or 0}
 #
-#    If set to 1, the Junkbuster icon will animate when Junkbuster is
+#    If set to 1, the Privoxy icon will animate when Privoxy is
 #    active.
 #
 #Win32-only: activity-animation      1
 
 #    log-messages            {1 or 0}
 #
-#    If set to 1, Junkbuster will log messages to the console window.
+#    If set to 1, Privoxy will log messages to the console window.
 #
 #Win32-only: log-messages            1
 
@@ -447,7 +607,7 @@ toggle 1
 
 #    log-highlight-messages  {1 or 0}
 #
-#    If set to 1, Junkbuster will highlight portions of the log
+#    If set to 1, Privoxy will highlight portions of the log
 #    messages with a bold-faced font.
 #
 #Win32-only: log-highlight-messages  1
@@ -466,26 +626,31 @@ toggle 1
 
 #    show-on-task-bar        {1 or 0}
 #
-#    Controls whether or not Junkbuster will appear on the Task bar
-#    when minimized.
+#    Controls whether or not Privoxy will appear as a button on the Task
+#    bar when minimized.
 #
 #Win32-only: show-on-task-bar        0
 
 
 #    close-button-minimizes  1
 #
-#    If set, the Windows close button will minimize Junkbuster instead
+#    If set, the Windows close button will minimize Privoxy instead
 #    of closing the program (close with the exit option on the File
 #    menu).
 #
 #Win32-only: close-button-minimizes  1
 
+
+#
+#  This option is specific to the Win32 console version of Privoxy:
+#
 #    hide-console
 #
-#    If this option is used, Junkbuster will disconnect from and hide 
+#    If this option is used, Privoxy will disconnect from and hide 
 #    the command console.
 #
 #Win32-only: #hide-console
 
-# Note: Junkbuster is distributed under the GNU General Public License (GPL)
+
+# Note: Privoxy is distributed under the GNU General Public License (GPL)
 #       For details, see http://www.gnu.org/copyleft/gpl.html