Man Linux: Main Page and Category List

NAME

       wwwoffle.conf  -  The  configuration  file for the proxy server for the
       World Wide Web Offline Explorer.

Introduction

       The  configuration  file  (  wwwoffle.conf  )  specifies  all  of   the
       parameters that control the operation of the proxy server.  The file is
       split into sections each containing a series of parameters as described
       below.  The file CHANGES.CONF explains the changes in the configuration
       file between this version of the program and previous ones.

       The file is split into sections, each of which can be empty or  contain
       one or more lines of configuration information.  The sections are named
       and the order that they appear in the file is not important.

       The general format of each of the sections is the same.   The  name  of
       the  section is on a line by itself to mark the start.  The contents of
       the section are enclosed between a pair of lines  containing  only  the
       ´{´ and ´}´ characters or the ´[´ and ´]´ characters.  When the ´{´ and
       ´}´  characters  are  used  the  lines  between  contain  configuration
       information.   When the ´[´ and ´]´ characters are used then there must
       only be a single non-empty line between them that contains the name  of
       a file (in the same directory) containing the configuration information
       for the section.

       Comments are marked by a ´#´ character at the start  of  the  line  and
       they are ignored.  Blank lines are also allowed and ignored.

       The phrases URL-SPECIFICATION (or URL-SPEC for short) and WILDCARD have
       specific meanings in the configuration file and are  described  at  the
       end.   Any  item enclosed in ´(´ and ´)´ in the descriptions means that
       it is a parameter supplied by the user, anything enclosed  in  ´[´  and
       ´]´  is  optional,  the ´|´ symbol is used to denote alternate choices.
       Some options apply to specific URLs only, this is indicated by having a
       URL-SPECIFICATION  enclosed  between ´<´ & ´>´ in the option, the first
       URL-SPECIFICATION to match is used.  If no URL-SPECIFICATION  is  given
       then it matches all URLs.

StartUp

       This  contains  the  parameters  that are used when the program starts,
       changes to these are ignored if the configuration file is re-read while
       the program is running.

       bind-ipv4 = (hostname) | (ip-address) | none
              Specify  the  hostname  or IP address to bind the HTTP proxy and
              WWWOFFLE control port sockets to using IPv4 (default=´0.0.0.0´).
              If ´none´ is specified then no IPv4 socket is bound.  If this is
              changed from the default value  then  the  first  entry  in  the
              LocalHost section may need to be changed to match.

       bind-ipv6 = (hostname) | (ip-address) | none
              Specify  the  hostname  or IP address to bind the HTTP proxy and
              WWWOFFLE control port sockets to  using  IPv6  (default=´none´).
              If  ´none´  is  specified  then  no  IPv6 socket is bound.  This
              requires the IPv6 compilation option.  If this is  changed  from
              the  default value then the first entry in the LocalHost section
              may need to be changed to match.

       http-port = (port)
              An integer specifying the port number for connections to  access
              the  internal  WWWOFFLE  pages  and  for HTTP/HTTPS/FTP proxying
              (default=8080).  This is the port number that must be  specified
              in   the   client   to   connect   to  the  WWWOFFLE  proxy  for
              HTTP/HTTPS/FTP proxying.

       https-port = (port)
              An integer specifying the port number for encrypted  connections
              to  access the internal WWWOFFLE pages and for HTTP/FTP proxying
              (default=8443).  Requires gnutls compilation option.

       wwwoffle-port = (port)
              An integer specifying the port number for the  WWWOFFLE  control
              connections to use (default=8081).

       spool-dir = (dir)
              The  full  pathname  of  the  top  level  cache directory (spool
              directory) (default=/var/cache/wwwoffle  or  whatever  was  used
              when the program was compiled).

       run-uid = (user) | (uid)
              The  username  or  numeric  uid  to  change to when the WWWOFFLE
              server is started (default=none).  This option only works if the
              server is started by the root user on UNIX-like systems.

       run-gid = (group) | (gid)
              The  group  name  or  numeric gid to change to when the WWWOFFLE
              server is started (default=none).  This option only works if the
              server is started by the root user on UNIX-like systems.

       use-syslog = yes | no
              Whether   to  use  the  syslog  facility  for  messages  or  not
              (default=yes).

       password = (word)
              The password used for authentication of the control  pages,  for
              deleting  cached  pages etc (default=none).  For the password to
              be secure the configuration  file  must  be  set  so  that  only
              authorised users can read it.

       max-servers = (integer)
              The  maximum  number  of  server  processes that are started for
              online and automatic fetching (default=8).

       max-fetch-servers = (integer)
              The maximum number of server processes that are started to fetch
              pages  that were marked in offline mode (default=4).  This value
              must be less than max-servers or you will not  be  able  to  use
              WWWOFFLE interactively online while fetching.

Options

       Options that control how the program works.

       log-level = debug | info | important | warning | fatal
              The   minimum  log  level  for  messages  in  syslog  or  stderr
              (default=important).

       socket-timeout = (time)
              The time in seconds that WWWOFFLE will wait for data on a socket
              connection before giving up (default=120).

       dns-timeout = (time)
              The  time  in  seconds that WWWOFFLE will wait for a DNS (Domain
              Name Service) lookup before giving up (default=60).

       connect-timeout = (time)
              The time in seconds that  WWWOFFLE  will  wait  for  the  socket
              connection to be made before giving up (default=30).

       connect-retry = yes | no
              If  a connection cannot be made to a remote server then WWWOFFLE
              should try again after a short delay (default=no).

       dir-perm = (octal int)
              The directory permissions to use when creating spool directories
              (default=0755).  This option overrides the umask of the user and
              must be in octal starting with a ´0´.

       file-perm = (octal int)
              The  file  permissions  to  use  when   creating   spool   files
              (default=0644).  This option overrides the umask of the user and
              must be in octal starting with a ´0´.

       run-online = (filename)
              The full pathname of a program to run when WWWOFFLE is  switched
              to  online  mode  (default=none).  The program is started in the
              background with a single parameter set to the current mode  name
              "online".

       run-offline = (filename)
              The  full pathname of a program to run when WWWOFFLE is switched
              to offline mode (default=none).  The program is started  in  the
              background  with a single parameter set to the current mode name
              "offline".

       run-autodial = (filename)
              The full pathname of a program to run when WWWOFFLE is  switched
              to  autodial  (default=none).   The  program  is  started in the
              background with a single parameter set to the current mode  name
              "fetch".

       run-fetch = (filename)
              The  full  pathname  of  a  program to run when a WWWOFFLE fetch
              starts or stops (default=none).  The program is started  in  the
              background  with  two  parameters, the first is the word "fetch"
              and the second is "start" or "stop".

       lock-files = yes | no
              Enable the use of lock files to  stop  more  than  one  WWWOFFLE
              process   from  downloading  the  same  URL  at  the  same  time
              (default=no).  Disabling the lock-files may result in incomplete
              pages  being  displayed  or  many  copies  being  downloaded  if
              multiple requests are made for the same URL at the same time.

       reply-compressed-data = yes | no
              If the replies that are  made  to  the  client  are  to  contain
              compressed  data  when  requested  (default=no).   Requires zlib
              compilation option.

       reply-chunked-data = yes | no
              If the replies that are made to the client are  to  use  chunked
              encoding when possible (default=yes).

       exec-cgi = (pathname)
              Enable  the  use  of  CGI  scripts  for  the  local pages on the
              WWWOFFLE server that match the wildcard pathname (default=none).

OnlineOptions

       Options that control how WWWOFFLE behaves when it is online.

       [<URL-SPEC>] pragma-no-cache = yes | no
              Whether  to request a new copy of a page if the request from the
              client has ´Pragma: no-cache´ (default=yes).  This option  takes
              precedence  over  the  request-changed  and request-changed-once
              options.

       [<URL-SPEC>] cache-control-no-cache = yes | no
              Whether to request a new copy of a page if the request from  the
              client has ´Cache-Control: no-cache´ (default=yes).  This option
              takes    precedence     over     the     request-changed     and
              request-changed-once options.

       [<URL-SPEC>] cache-control-max-age-0 = yes | no
              Whether  to request a new copy of a page if the request from the
              client  has  ´Cache-Control:  max-age=0´  (default=yes).    This
              option   takes   precedence   over   the   request-changed   and
              request-changed-once options.

       [<URL-SPEC>] cookies-force-refresh = yes | no
              Whether to force the refresh of a page if the request  from  the
              client  contains  a  cookie  (default=no).   This  option  takes
              precedence over  the  request-changed  and  request-changed-once
              options.

       [<URL-SPEC>] request-changed = (time)
              While online pages will only be fetched if the cached version is
              older  than  this  specified  time  in  seconds   (default=600).
              Setting  this value negative will indicate that cached pages are
              always used while online.  Longer times can be specified with  a
              ´m´,  ´h´,  ´d´  or ´w´ suffix for minutes, hours, days or weeks
              (e.g. 10m=600).

       [<URL-SPEC>] request-changed-once = yes | no
              While online pages will only be fetched if  the  cached  version
              has   not   already   been  fetched  once  this  session  online
              (default=yes).   This   option   takes   precedence   over   the
              request-changed option.

       [<URL-SPEC>] request-expired = yes | no
              While  online  pages  that have expired will always be requested
              again (default=no).   This  option  takes  precedence  over  the
              request-changed and request-changed-once options.

       [<URL-SPEC>] request-no-cache = yes | no
              While  online  pages  that  ask  not to be cached will always be
              requested again (default=no).  This option takes precedence over
              the request-changed and request-changed-once options.

       [<URL-SPEC>] request-redirection = yes | no
              While  online  pages  that  redirect  the  client to another URL
              temporarily will be requested again. (default=no).  This  option
              takes     precedence     over     the     request-changed    and
              request-changed-once options.

       [<URL-SPEC>] request-conditional = yes | no
              While online pages that are requested from the  server  will  be
              conditional  requests  so that the server only sends data if the
              page has changed (default=yes).

       [<URL-SPEC>] validate-with-etag = yes | no
              When making a conditional request to a server enable the use  of
              the HTTP/1.1 cache validator ´Etag´ as well as modification time
              ´If-Modified-Since´  (default=yes).    The   request-conditional
              option must also be selected for this option to take effect.

       [<URL-SPEC>] try-without-password = yes | no
              If  a  request  is  made  for a URL that contains a username and
              password then a request is made  for  the  same  URL  without  a
              username  and password specified (default=yes).  This allows for
              requests for the URL without a password to re-direct the  client
              to the passworded version.

       [<URL-SPEC>] intr-download-keep = yes | no
              If  the  client closes the connection while online the currently
              downloaded incomplete page should be kept (default=no).

       [<URL-SPEC>] intr-download-size = (integer)
              If the client closes the connection while online the page should
              continue  to  download  if  it  is  smaller than this size in kB
              (default=1).

       [<URL-SPEC>] intr-download-percent = (integer)
              If the client closes the connection while online the page should
              continue to download if it is more than this percentage complete
              (default=80).

       [<URL-SPEC>] timeout-download-keep = yes | no
              If the server  connection  times  out  while  reading  then  the
              currently    downloaded   incomplete   page   should   be   kept
              (default=no).

       [<URL-SPEC>] keep-cache-if-not-found = yes | no
              If the  remote  server  replies  with  an  error  message  or  a
              redirection  while there is a cached version with status 200 the
              previously cached version should be kept (default=no).

       [<URL-SPEC>] request-compressed-data = yes | no
              If the requests that are made  to  the  server  are  to  request
              compressed   data   (default=yes).   Requires  zlib  compilation
              option.

       [<URL-SPEC>] request-chunked-data = yes | no
              If the requests that are made  to  the  server  are  to  request
              chunked encoding (default=yes).

OfflineOptions

       Options that control how WWWOFFLE behaves when it is offline.

       [<URL-SPEC>] pragma-no-cache = yes | no
              Whether  to request a new copy of a page if the request from the
              client has ´Pragma: no-cache´ (default=yes).  This option should
              be   set  to  ´no´  if  when  browsing  offline  all  pages  are
              re-requested by a ´broken´ browser.

       [<URL-SPEC>] cache-control-no-cache = yes | no
              Whether to request a new copy of a page if the request from  the
              client has ´Cache-Control: no-cache´ (default=yes).  This option
              should be set to ´no´ if when browsing  offline  all  pages  are
              re-requested by a ´broken´ browser.

       [<URL-SPEC>] cache-control-max-age-0 = yes | no
              Whether  to request a new copy of a page if the request from the
              client  has  ´Cache-Control:  max-age=0´  (default=yes).    This
              option  should be set to ´no´ if when browsing offline all pages
              are re-requested by a ´broken´ browser.

       [<URL-SPEC>] confirm-requests = yes | no
              Whether to return a page requiring user confirmation instead  of
              automatically    recording    requests    made   while   offline
              (default=no).

       [<URL-SPEC>] dont-request = yes | no
              Do  not  request  any  URLs  that  match   this   when   offline
              (default=no).

SSLOptions

       Options  that control how WWWOFFLE behaves when a connection is made to
       it for an https or Secure Sockets Layer (SSL)  server.   Normally  only
       tunnelling  (with  no  decryption  or caching of the data) is possible.
       When WWWOFFLE is compiled  with  the  gnutls  library  it  is  possible
       configure WWWOFFLE to decrypt, cache and re-encrypt the connections.

       quick-key-gen = yes | no
              Normally  generation  of secret keys for the SSL/https functions
              uses the default GnuTLS option for random number  source.   This
              can  be  slow  on some machines so this option selects a quicker
              but less secure random number source (default =  no).   Requires
              GnuTLS compilation option.

       expiration-time = (age)
              The  length  of  time  after creation that each certificate will
              expire (default = 1y).  Requires GnuTLS compilation option.

       enable-caching = yes | no
              If caching (involving decryption and re-encryption) of SSL/https
              server  connections  is allowed (default = no).  Requires GnuTLS
              compilation option.

       allow-tunnel = (host[:port])
              A hostname and port number (a WILDCARD match) for  an  https/SSL
              server  that  can be connected to using WWWOFFLE as a tunnelling
              proxy (no caching or decryption of  the  data)  (default  is  no
              hosts  or ports allowed).  This option should be set to *:443 to
              allow https to the default port number.  There can be more  than
              one  option  for  other ports or hosts as required.  This option
              takes precedence over the allow-cache option.  The host value is
              matched against the URL as presented, no hostname to IP or IP to
              hostname lookups are performed to  find  alternative  equivalent
              names.

       disallow-tunnel = (host[:port])
              A  hostname  and port number (a WILDCARD match) for an https/SSL
              server that  can  not  be  connected  to  using  WWWOFFLE  as  a
              tunnelling  proxy.   There can be more than one option for other
              ports or hosts as required.  This option takes  precedence  over
              the  allow-tunnel option.  The host value is matched against the
              URL as presented, no hostname to IP or IP  to  hostname  lookups
              are performed to find alternative equivalent names.

       allow-cache = (host[:port])
              A  hostname  and port number (a WILDCARD match) for an https/SSL
              server that can be connected to  using  WWWOFFLE  as  a  caching
              proxy  (decryption  of  the  data) (default is no hosts or ports
              allowed).  This option should be set to *:443 to allow https  to
              the  default port number.  There can be more than one option for
              other ports or hosts as required.  The  host  value  is  matched
              against  the  URL  as  presented,  no  hostname  to  IP or IP to
              hostname lookups are performed to  find  alternative  equivalent
              names.  Requires GnuTLS compilation option.

       disallow-cache = (host[:port])
              A  hostname  and port number (a WILDCARD match) for an https/SSL
              server that can not be connected to using WWWOFFLE as a  caching
              proxy.   This  option  takes  precedence  over  the  allow-cache
              option.  The host value is matched against the URL as presented,
              no  hostname  to  IP  or IP to hostname lookups are performed to
              find alternative equivalent names.  Requires GnuTLS  compilation
              option.

FetchOptions

       Options  that control what linked elements are downloaded when fetching
       pages that were requested while offline.

       [<URL-SPEC>] stylesheets = yes | no
              If style sheets are to be fetched (default=no).

       [<URL-SPEC>] images = yes | no
              If images are to be fetched (default=no).

       [<URL-SPEC>] webbug-images = yes | no
              If images that are declared in the HTML to be 1 pixel square are
              also  to  be  fetched,  requires  the  images  option to also be
              selected (default=yes).  If these images are  not  fetched  then
              the  replace-webbug-images  option in the ModifyHTML section can
              be used to stop browsers requesting them.

       [<URL-SPEC>] icon-images = yes | no
              If icons (also called favourite icons or shortcut icons) as used
              by browsers for bookmarks are to be fetched (default=no).

       [<URL-SPEC>] only-same-host-images = yes | no
              If the only images that are fetched are the ones that are on the
              same host as the page that references them, requires the  images
              option to also be selected (default=no).

       [<URL-SPEC>] frames = yes | no
              If frames are to be fetched (default=no).

       [<URL-SPEC>] iframes = yes | no
              If inline frames (iframes) are to be fetched (default=no).

       [<URL-SPEC>] scripts = yes | no
              If scripts (e.g. Javascript) are to be fetched (default=no).

       [<URL-SPEC>] objects = yes | no
              If   objects   (e.g.   Java  class  files)  are  to  be  fetched
              (default=no).

IndexOptions

       Options that control what is displayed in the indexes.

       create-history-indexes = yes | no
              Enables creation of the  lasttime/prevtime  and  lastout/prevout
              indexes  (default=yes).   The  cycling  of the indexes is always
              performed and they will flush even if this option is disabled.

       cycle-indexes-daily = yes | no
              Cycles the lasttime/prevtime and lastout/prevout  indexes  daily
              instead of each time online or fetching (default = no).

       <URL-SPEC> list-outgoing = yes | no
              Choose  if  the  URL  is  to  be  listed  in  the outgoing index
              (default=yes).

       <URL-SPEC> list-latest = yes | no
              Choose if the URL is to be listed in the  lasttime/prevtime  and
              lastout/prevout indexes (default=yes).

       <URL-SPEC> list-monitor = yes | no
              Choose  if  the  URL  is  to  be  listed  in  the  monitor index
              (default=yes).

       <URL-SPEC> list-host = yes | no
              Choose  if  the  URL  is  to  be  listed  in  the  host  indexes
              (default=yes).

       <URL-SPEC> list-any = yes | no
              Choose  if  the  URL  is  to  be  listed  in  any of the indexes
              (default=yes).

ModifyHTML

       Options that control how the HTML that is provided from  the  cache  is
       modified.

       [<URL-SPEC>] enable-modify-html = yes | no
              Enable  the  HTML  modifications  in  this section (default=no).
              With this option disabled the following HTML  options  will  not
              have  any  effect.   With  this  option enabled there is a small
              speed penalty.

       [<URL-SPEC>] add-cache-info = yes | no
              At the bottom of all of the spooled pages the date that the page
              was   cached  and  some  navigation  buttons  are  to  be  added
              (default=no).

       [<URL-SPEC>] anchor-cached-begin = (HTML code) |
              Anchors (links) in the spooled page that are in the cache are to
              have  the specified HTML inserted at the beginning (default="").

       [<URL-SPEC>] anchor-cached-end = (HTML code) |
              Anchors (links) in the spooled page that are in the cache are to
              have the specified HTML inserted at the end (default="").

       [<URL-SPEC>] anchor-requested-begin = (HTML code) |
              Anchors  (links)  in  the spooled page that are not in the cache
              but have been requested for download are to have  the  specified
              HTML inserted at the beginning (default="").

       [<URL-SPEC>] anchor-requested-end = (HTML code) |
              Anchors  (links)  in  the spooled page that are not in the cache
              but have been requested for download are to have  the  specified
              HTML inserted at the end (default="").

       [<URL-SPEC>] anchor-not-cached-begin = (HTML code) |
              Anchors (links) in the spooled page that are not in the cache or
              requested are  to  have  the  specified  HTML  inserted  at  the
              beginning (default="").

       [<URL-SPEC>] anchor-not-cached-end = (HTML code) |
              Anchors (links) in the spooled page that are not in the cache or
              requested are to have the specified HTML  inserted  at  the  end
              (default="").

       [<URL-SPEC>] disable-script = yes | no
              Removes all scripts and scripted events (default=no).

       [<URL-SPEC>] disable-applet = yes | no
              Removes all Java applets (default=no).

       [<URL-SPEC>] disable-style = yes | no
              Removes all stylesheets and style references (default=no).

       [<URL-SPEC>] disable-blink = yes | no
              Removes  the <blink> tag from HTML but does not disable blink in
              stylesheets (default=no).

       [<URL-SPEC>] disable-marquee = yes | no
              Removes the <marquee> tag  from  HTML  to  stop  scrolling  text
              (default=no).

       [<URL-SPEC>] disable-flash = yes | no
              Removes any Shockwave Flash animations (default=no).

       [<URL-SPEC>] disable-iframe = yes | no
              Removes   any   inline  frames  (the  <iframe>  tag)  from  HTML
              (default=no).

       [<URL-SPEC>] disable-meta-refresh = yes | no
              Removes any meta tags in the  HTML  header  that  re-direct  the
              client  to  change  to  another  page  after  an  optional delay
              (default=no).

       [<URL-SPEC>] disable-meta-refresh-self = yes | no
              Removes any meta tags in the  HTML  header  that  re-direct  the
              client to reload the same page after a delay (default=no).

       [<URL-SPEC>] disable-meta-set-cookie = yes | no
              Removes  any  meta tags in the HTML header that cause cookies to
              be set (default=no).

       [<URL-SPEC>] disable-dontget-links = yes | no
              Disables any links to URLs that are in the  DontGet  section  of
              the configuration file (default=no).

       [<URL-SPEC>] disable-dontget-iframes = yes | no
              Disables  inline  frame  (iframe)  URLs  that are in the DontGet
              section of the configuration file (default=no).

       [<URL-SPEC>] replace-dontget-images = yes | no
              Replaces image URLs that are  in  the  DontGet  section  of  the
              configuration file with a static URL (default=no).

       [<URL-SPEC>] replacement-dontget-image = (URL)
              The  replacement  image  to use for URLs that are in the DontGet
              section        of         the         configuration         file
              (default=/local/dontget/replacement.gif).

       [<URL-SPEC>] replace-webbug-images = yes | no
              Replaces  image  URLs  that are 1 pixel square with a static URL
              (default=no).  The  webbug-images  option  in  the  FetchOptions
              section   can   be   used   to  stop  these  images  from  being
              automatically downloaded.

       [<URL-SPEC>] replacement-webbug-image = (URL)
              The replacement image to use for images that are 1 pixel  square
              (default=/local/dontget/replacement.gif).

       [<URL-SPEC>] demoronise-ms-chars = yes | no
              Replaces strange characters that some Microsoft applications put
              into HTML with character  equivalents  that  most  browsers  can
              display  (default=no).   The idea for this comes from the public
              domain Demoroniser perl script.

       [<URL-SPEC>] fix-mixed-cyrillic = yes | no
              Replaces punctuation characters in  cp-1251  encoding  that  are
              combined  with  text  in  koi-8  encoding  that  appears in some
              cyrillic web pages.

       [<URL-SPEC>] disable-animated-gif = yes | no
              Disables the animation in animated GIF files (default=no).

LocalHost

       A list of hostnames that the host running the WWWOFFLE  server  may  be
       known by.  This is so that the proxy does not need to contact itself if
       the request has a different name for the same server.

       (host) A hostname or IP address that in connection with the port number
              (in  the  StartUp  section)  specifies  the  WWWOFFLE proxy HTTP
              server.  The hostnames must match exactly, it is not a  WILDCARD
              match.   The  first  named  host  is used as the server name for
              several features so must be a  name  that  will  work  from  any
              client  host on the network.  The entries can be hostnames, IPv4
              addresses or IPv6 addresses enclosed within  ´[...]´.   None  of
              the hosts named here are cached or fetched via a proxy.

LocalNet

       A  list  of hostnames whose web servers are always accessible even when
       offline and are not to be cached by WWWOFFLE  because  they  are  on  a
       local network.

       (host) A  hostname or IP address that is always available and is not to
              be cached by WWWOFFLE.  The host name matching uses WILDCARD  s.
              A  host  can  be excluded by appending a ´!´ to the start of the
              name.  The host value is matched against the URL  as  presented,
              no  hostname  to  IP  or IP to hostname lookups are performed to
              find  alternative  equivalent  names.   The   entries   can   be
              hostnames,  IPv4  addresses  or  IPv6  addresses enclosed within
              ´[...]´.  All entries here are assumed to be reachable even when
              offline.  None of the hosts named here are cached or fetched via
              a proxy.

AllowedConnectHosts

       A list of client hostnames that are allowed to connect to the server.

       (host) A hostname or IP address that  is  allowed  to  connect  to  the
              server.   The host name matching uses WILDCARD s.  A host can be
              excluded by appending a ´!´ to the start of the name.  If the IP
              address  or  hostname  (if  available) of the machine connecting
              matches then it is allowed.  The entries can be hostnames,  IPv4
              addresses or IPv6 addresses enclosed within ´[...]´.  All of the
              hosts named in LocalHost are also allowed to connect.

AllowedConnectUsers

       A list of the users that are allowed to connect to the server and their
       passwords.

       (username):(password)
              The  username  and  password  of  the  users that are allowed to
              connect to the server.  If this section is left  empty  then  no
              user authentication is done.  The username and password are both
              stored in plaintext format.  This requires the  use  of  clients
              that handle the HTTP/1.1 proxy authentication standard.

DontCache

       A list of URLs that are not to be cached by WWWOFFLE.

       [!]URL-SPECIFICATION
              Do  not  cache  any URLs that match this.  The URL-SPECIFICATION
              can be negated to allow matches to be cached.  The URLs that are
              not cached will not have requests recorded if offline or fetched
              automatically.

DontGet

       A list of URLs that are not to be got by WWWOFFLE when it  is  fetching
       and not to be served from the WWWOFFLE cache even if they exist.

       [!]URL-SPECIFICATION
              Do  not get any URLs that match this.  The URL-SPECIFICATION can
              be negated to allow matches to be got.

       [<URL-SPEC>] replacement = (URL)
              The  URL  to  use  to  replace   any   URLs   that   match   the
              URL-SPECIFICATION  s instead of using the standard error message
              (default=none).   The  URLs  in  /local/dontget/  are  suggested
              replacements  (e.g. replacement.gif or replacement.png which are
              1x1 pixel transparent images or replacement.js which is an empty
              javascript file).

       <URL-SPEC> get-recursive = yes | no
              Choose  whether  to  get  URLs  that  match  this  when  doing a
              recursive fetch (default=yes).

       <URL-SPEC> location-error = yes | no
              When a URL reply contains a ´Location´ header that redirects  to
              a URL that is not got (specified in this section) then the reply
              is modified to be an error message instead  (default=no).   This
              will  stop  ISP proxies from redirecting users to adverts if the
              advert URLs are in this section.

DontCompress

       A list of MIME types and file extensions that are not to be  compressed
       by   WWWOFFLE  (because  they  are  already  compressed  or  not  worth
       compressing).  Requires zlib compilation option.

       mime-type = (mime-type)/(subtype)
              The MIME type of a URL that is not to be compressed in the cache
              (when purging) or when providing pages to clients.

       file-ext = .(file-ext)
              The  file  extension  of  a  URL  that  is  not  to be requested
              compressed from a server.

CensorHeader

       A list of HTTP header lines that are to be removed  from  the  requests
       sent to web servers and the replies that come back from them.

       [<URL-SPEC>] (header) = yes | no | (string)
              A  header field name (e.g. From, Cookie, Set-Cookie, User-Agent)
              and the string to replace the header  value  with  (default=no).
              The  header  is  case  sensitive, and does not have a ´:´ at the
              end.  The value of "no" means that  the  header  is  unmodified,
              "yes"  or no string can be used to remove the header or a string
              can be used to replace the header.  This only  replaces  headers
              it  finds,  it does not add any new ones.  An option for Referer
              here  will   take   precedence   over   the   referer-self   and
              referer-self-dir options.

       [<URL-SPEC>] referer-self = yes | no
              Sets  the  Referer header to the same as the URL being requested
              (default=no).  This will add  the  Referer  header  if  none  is
              contained in the original request.

       [<URL-SPEC>] referer-self-dir = yes | no
              Sets  the  Referer header to the directory name of the URL being
              requested (default=no).  This will add  the  Referer  header  if
              none  is  contained  in the original request.  This option takes
              precedence over referer-self.

       [<URL-SPEC>] referer-from = yes | no
              Removes the Referer header based on a match of the referring URL
              (default=no).

       [<URL-SPEC>] force-user-agent = yes | no
              Forces a User-Agent header to be inserted into all requests that
              are made by WWWOFFLE (default=no).   This  User-Agent  is  added
              only if there is not an existing User-Agent header and is set to
              the value WWWOFFLE/<version-number>.  This  header  is  inserted
              before  censoring  and  may  be  changed  by  the  normal header
              censoring method.

FTPOptions

       Options to use when fetching files using the ftp protocol.

       anon-username = (string)
              The username to use for anonymous ftp (default=anonymous).

       anon-password = (string)
              The password to use for anonymous ftp (default determined at run
              time).   If  using a firewall then this may contain a value that
              is not valid to the FTP server and may  need  to  be  set  to  a
              different value.

       <URL-SPEC> auth-username = (string)
              The  username  to use on a host instead of the default anonymous
              username.

       <URL-SPEC> auth-password = (string)
              The password to use on a host instead of the  default  anonymous
              password.

MIMETypes

       MIME  Types  to use when serving files that were not fetched using HTTP
       or for files on the built-in web-server.

       default = (mime-type)/(subtype)
              The default MIME type (default=text/plain).

       .(file-ext) = (mime-type)/(subtype)
              The MIME type to associate with a file extension.  The ´.´  must
              be  included  in the file extension.  If more than one extension
              matches then the longest one is used.

Proxy

       This contains the names of the HTTP (or other) proxies to use  external
       to the WWWOFFLE server machine.

       [<URL-SPEC>] proxy = (host[:port])
              The hostname and port on it to use as the proxy.

       <URL-SPEC> auth-username = (string)
              The  username to use on a proxy host to authenticate WWWOFFLE to
              it.  The URL-SPEC in this case refers to the proxy and  not  the
              URL being retrieved.

       <URL-SPEC> auth-password = (string)
              The  password to use on a proxy host to authenticate WWWOFFLE to
              it.  The URL-SPEC in this case refers to the proxy and  not  the
              URL being retrieved.

       [<URL-SPEC>] ssl = (host[:port])
              A  proxy  server  that should be used for https or Secure Socket
              Layer (SSL) connections.  Note that for the <URL-SPEC> that only
              the  host  is  checked  and  that  the  other  parts must be ´*´
              WILDCARD s.

Alias

       A list of aliases that are used to replace the  server  name  and  path
       with another server name and path.

       URL-SPECIFICATION = URL-SPECIFICATION
              Any requests that match the first URL-SPECIFICATION are replaced
              by the second URL-SPECIFICATION.  The first URL-SPECIFICATION is
              a  wildcard  match for the protocol and host/port, the path must
              match the start of the requested URL exactly  and  includes  all
              subdirectories.

Purge

       The  method to determine which pages to purge, the default age the host
       specific maximum age of the pages in days, and the maximum cache  size.

       use-mtime = yes | no
              The  method  to  use to decide which files to purge, last access
              time (atime) or last modification time (mtime) (default=no).

       max-size = (size)
              The maximum size for the cache in MB after purging (default=-1).
              A  maximum  cache  size of -1 (or 0 for backwards compatibility)
              means there is no limit to the size.  If this and  the  min-free
              options  are  both  used the smaller cache size is chosen.  This
              option take into account the URLs that  are  never  purged  when
              measuring the cache size but will not purge them.

       min-free = (size)
              The  minimum  amount  of  free  disk  space  in MB after purging
              (default=-1).  A minimum disk free of -1 (or 0) means  there  is
              no  limit  to  the free space.  If this and the max-size options
              are both used the smaller cache size  is  chosen.   This  option
              take  into account the URLs that are never purged when measuring
              the cache size but will not purge them.

       use-url = yes | no
              If true then use the URL to decide on the purge  age,  otherwise
              use the protocol and host only (default=no).

       del-dontget = yes | no
              If  true  then  delete  the  URLs  that match the entries in the
              DontGet section (default=no).

       del-dontcache = yes | no
              If true then delete the URLs  that  match  the  entries  in  the
              DontCache section (default=no).

       [<URL-SPEC>] age = (age)
              The   maximum  age  in  the  cache  for  URLs  that  match  this
              (default=14).  An age of zero means always to  delete,  negative
              means  not  to  delete.   The URL-SPECIFICATION matches only the
              protocol and host unless use-url is set to  true.  Longer  times
              can be specified with a ´w´, ´m´ or ´y´ suffix for weeks, months
              or years (e.g. 2w=14).

       [<URL-SPEC>] compress-age = (age)
              The maximum age in the cache for URLs  that  match  this  to  be
              stored  uncompressed  (default=-1).   Requires  zlib compilation
              option.  An age of zero means always to compress, negative means
              never  to  compress.   The  URL-SPECIFICATION  matches  only the
              protocol and host unless use-url is set to  true.  Longer  times
              can be specified with a ´w´, ´m´ or ´y´ suffix for weeks, months
              or years (e.g. 2w=14).

WILDCARD

       A WILDCARD match is one that uses the ´*´ character  to  represent  any
       group of characters.

       This   is  basically  the  same  as  the  command  line  file  matching
       expressions in DOS or the UNIX shell, except that the ´*´ can match the
       ´/´ character.

       For example

       *.gif  matches  foo.gif and bar.gif

       *.foo.com
              matches  www.foo.com and ftp.foo.com

       /foo/* matches  /foo/bar.html and /foo/bar/foobar.html

URL-SPECIFICATION

       When  specifying  a  host  and  protocol  and  pathname  in many of the
       sections a URL-SPECIFICATION can be used, this is a way of  recognising
       a URL.

       For  the purposes of this explanation a URL is considered to be made up
       of five parts.

       proto  The protocol that is used (e.g. ’http’, ’ftp’)

       host   The server hostname (e.g. ’www.gedanken.demon.co.uk’).

       port   The port number on the host (e.g. default of 80 for HTTP).

       path   The pathname on the host (e.g. ’/bar.html’) or a directory  name
              (e.g. ´/foo/´).

       args   Optional arguments with the URL used for CGI scripts etc.  (e.g.
              ´search=foo´).

       For          example          the          WWWOFFLE           homepage:
       http://www.gedanken.demon.co.uk/wwwoffle/  The  protocol is ´http´, the
       host is ´www.gedanken.demon.co.uk´, the port is the  default  (in  this
       case 80), and the pathname is ´/wwwoffle/´.

       In          general          this         is         written         as
       (proto)://(host)[:(port)]/[(path)][?(args)]

       Where [] indicates an optional feature, and () indicate a user supplied
       name or number.

       Some example URL-SPECIFICATION options are the following:

       *://*/*
              Any  protocol,  Any  host, Any port, Any path, Any args (This is
              the default for options that can have a <URL-SPEC>

              prefix when none is specified).

       *://*/(path)
              Any protocol, Any host, Any port, Named path, Any args

       *://*/*?
              Any protocol, Any host, Any port, Any path, No args

       *://*/(path)?*
              Any protocol, Any host, Any port, Named path, Any args

       *://(host)
              Any protocol, Named host, Any port, Any path, Any args

       (proto)://*/*
              Named proto, Any host, Any port, Any path, Any args

       (proto)://(host)/*  Named proto, Named host, Any port,  Any  path,  Any
       args

       (proto)://(host):/*  Named  proto,  Named host, Default port, Any path,
       Any args

       *://(host):(port)/* Any protocol, Named host, Named port, Any path, Any
       args

       The  matching  of  the  host,  the  path  and the args use the WILDCARD
       matching that is described above.  The matching of  the  path  has  the
       special  condition  that  a  WILDCARD of ´/*/foo´ will match ´/foo´ and
       ´/any/path/foo´, in other words it matches any path prefix.

       In some sections that accept URL-SPECIFICATION s they can be negated by
       inserting  the  ´!´  character  before  it.   This  will  mean that the
       comparison  of  a  URL  with  the  URL-SPECIFICATION  will  return  the
       logically opposite value to what would be returned without the ´!´.  If
       all of the URL-SPECIFICATION s in a section are negated  and  ´*://*/*´
       is added to the end then the sense of the whole section is negated.

       In  all  sections that accept URL-SPECIFICATION s the comparison can be
       made case insensitive for the path and arguments part by inserting  the
       ´~´  character  before  it.  (The host and the protocol comparisons are
       always case insensitive).

EXAMPLE

        StartUp
        {
         bind-ipv4         = 0.0.0.0
         bind-ipv6         = ::

         http-port         = 8080
         https-port        = 8443
         wwwoffle-port     = 8081

         spool-dir     = /var/cache/wwwoffle

         use-syslog    = yes

         password      =
        }

        Options
        {
         add-info-refresh  = no

         request-changed   = 3600
        }

        SSLOptions
        {
         enable-caching = no

         allow-tunnel   = *:443
        }

        FetchOptions
        {
         images = yes
         frames = yes
         iframes = yes
        }

        LocalHost
        {
         wwwoffle.foo.com

         localhost
         127.0.0.1

         ::ffff:127.0.0.1

         ip6-localhost
         ::1
        }

        DontGet
        [
         wwwoffle.DontGet.conf
        ]

        LocalNet
        {
         *.foo.com
        }

        AllowedConnectHosts
        {
         *.foo.com
        }

        Proxy
        {
         <http://foo.com/*> proxy = www-cache.foo.com:8080
        }

        Purge
        {
         max-size = 10
         age = 28
         <http://*.bar.com/*> age  = 7
        }

FILES

       /etc/wwwoffle/wwwoffle.conf The wwwoffled(8) configuration file.

       /var/cache/wwwoffle The WWWOFFLE spool directory.

SEE ALSO

       wwwoffle(1), wwwoffled(8).

AUTHOR

       Andrew M. Bishop 1996-2007 (amb@gedanken.demon.co.uk)

                                August 26, 2008               wwwoffle.conf(5)