Provided by: pavuk_0.9.35-4_amd64 bug

NAME

       pavuk  -  HTTP,  HTTP  over SSL, FTP, FTP over SSL and Gopher recursive document retrieval
       program

SYNOPSIS

       pavuk [-mode {normal | resumeregets | singlepage | singlereget | sync | dontstore | ftpdir
       |  mirror}]  [-X]  [-runX]  [-bg/-nobg] [prefs/-noprefs] [-h] [-v] [-progress/-noprogress]
       [-stime/-nostime] [-xmaxlog $nr] [-logfile $file]  [-slogfile  $file]  [-auth_file  $file]
       [-msgcat $dir] [-language $str] [-gui_font $font] [-quiet/-verbose [-read_css/-noread_css]
       [-cdir $dir] [-scndir $dir] [-scenario $str] [-dumpscn $filename] [-lmax $nr] [-dmax  $nr]
       [-leave_level  $nr]  [-maxsize $nr] [-minsize $nr] [-asite $list] [-dsite $list] [-adomain
       $list] [-ddomain $list] [-asfx $list] [-dsfx  $list]  [-aprefix  $list]  [-dprefix  $list]
       [-amimt  $list]  [-dmimet  $list]  [-pattern  $pattern] [-url_pattern $pattern] [-rpattern
       $regexp] [-url_rpattern $regexp]  [-skip_pattern  $pattern]  [-skip_url_pattern  $pattern]
       [-skip_rpattern  $regexp]  [-skip_url_rpattern  $regexp]  [-newer_than $time] [-older_than
       $time]    [-schedule    $time]    [-reschedule     $nr]     [-dont_leave_site/-leave_site]
       [-dont_leave_dir/-leave_dir]   [-http_proxy   $site[:$port]]   [-ftp_proxy  $site[:$port]]
       [-ssl_proxy  $site[:$port]]  [-gopher_proxy   $site[:$port]]   [-ftp_httpgw/-noftp_httpgw]
       [-ftp_dirtyproxy/-noftp_dirtyproxy]     [-gopher_httpgw/-nogopher_httpgw]    [-noFTP/-FTP]
       [-noHTTP/-HTTP]  [-noSSL/-SSL]   [-noGopher/-Gopher]   [-FTPdir/-noFTPdir]   [-noCGI/-CGI]
       [-FTPlist/-noFTPlist]             [-FTPhtml/-noFTPhtml]            [-noRelocate/-Relocate]
       [-force_reget/-noforce_reget]        [-nocache/-cache]         [-check_size/-nocheck_size]
       [-noRobots/-Robots]  [-noEnc/-Enc]  [-auth_name  $user] [-auth_passwd $pass] [-auth_scheme
       1/2/3/4/user/Basic/Digest/NTLM] [-auth_reuse_nonce/-no_auth_reuse_nonce] [-http_proxy_user
       $user]    [-http_proxy_pass   $pass]   [-http_proxy_auth   1/2/3/4/user/Basic/Digest/NTLM]
       [-auth_reuse_proxy_nonce/-no_auth_reuse_proxy_nonce] [-ssl_key_file $file] [-ssl_cert_file
       $file]  [-ssl_cert_passwd $pass] [-from $email] [-send_from/-nosend_from] [-identity $str]
       [-auto_referer/-noauto_referer] [-referer/-noreferer]  [-alang  $list]  [-acharset  $list]
       [-retry  $nr]  [-nregets  $nr]  [-nredirs $nr] [-rollback $nr] [-sleep $nr] [-timeout $nr]
       [-preserve_time/-nopreserve_time]                        [-preserve_perm/-nopreserve_perm]
       [-preserve_slinks/-nopreserve_slinks]   [-bufsize   $nr]  [-maxrate  $nr]  [-minrate  $nr]
       [-user_condition     $str]     [-cookie_file     $file]      [-cookie_send/-nocookie_send]
       [-cookie_recv/-nocookie_recv]    [-cookie_update/-nocookie_update]    [-cookies_max   $nr]
       [-disabled_cookie_domains      $list]       [-disable_html_tag       $TAG,[$ATTRIB][;...]]
       [-enable_html_tag  $TAG,[$ATTRIB][;...]]   [-tr_del_chr  $str]  [-tr_str_str  $str1 $str2]
       [-tr_chr_chr   $chrset1   $chrset2]   [-index_name   $str]   [-store_index/-nostore_index]
       [-store_name  $str]  [-debug/-nodebug]  [-debug_level  $level] [-browser $str] [-urls_file
       $file] [-file_quota  $nr]  [-trans_quota  $nr]  [-fs_quota  $nr]  [-enable_js/-disable_js]
       [-fnrules    $t   $m   $r]   [-store_info/-nostore_info]   [-all_to_local/-noall_to_local]
       [-sel_to_local/-nosel_to_local]     [-all_to_remote/-noall_to_remote]      [-url_strategie
       $strategie]     [-remove_adv/-noremove_adv]    [-adv_re    $RE]    [-check_bg/-nocheck_bg]
       [-send_if_range/-nosend_if_range] [-sched_cmd $str] [-unique_log/-nounique_log] [-post_cmd
       $str]  [-ssl_version  $v] [-unique_sslid/-nounique_sslid] [-aip_pattern $re] [-dip_pattern
       $re]  [-use_http11/-nouse_http11]  [-local_ip  $addr]  [-request  $req]  [-formdata  $req]
       [-httpad  $str]  [-nthreads  $nr]  [-immesg/-noimmesg]  [-dumpfd  $nr]  [-dump_urlfd  $nr]
       [-unique_name/-nounique_name]           [-leave_site_enter_dir/-dont_leave_site_enter_dir]
       [-max_time        $nr]        [-del_after/-nodel_after]        [-singlepage/-nosinglepage]
       [-dump_after/-nodump_after]  [-dump_response/-nodump_response]  [-auth_ntlm_domain   $str]
       [-auth_proxy_ntlm_domain      $str]      [-js_pattern      $re]     [-follow_cmd     $str]
       [-retrieve_symlink/-noretrieve_symlink] [-js_transform $p $t $h $a] [-js_transform2 $p  $t
       $h  $a] [-ftp_proxy_user $str] [-ftp_proxy_pass $str] [-limit_inlines/-dont_limit_inlines]
       [-ftp_list_options               $str]               [-fix_wuftpd_list/-nofix_wuftpd_list]
       [-post_update/-nopost_update] [-info_dir $dir] [-mozcache_dir $dir] [-aport $list] [-dport
       $list]  [-hack_add_index/-nohack_add_index]  [-default_prefix  $str]   [-rsleep/-norsleep]
       [-ftp_login_handshake  $host  $handshake] [-js_script_file $file] [-dont_touch_url_pattern
       $pat] [-dont_touch_url_rpattern $pat] [-dont_touch_tag_rpattern $pat]  [-tag_pattern  $tag
       $attrib     $url]    [-tag_rpattern    $tag    $attrib    $url]    [-nss_cert_dir    $dir]
       [-nss_accept_unknown_cert/-nonss_accept_unknown_cert]
       [-nss_domestic_policy/-nss_export_policy]   [-[no]verify]  [-tlogfile  $file]  [-trelative
       {object | program}] [-transparent_proxy FQDN[:port]] [-transparent_ssl_proxy  FQDN[:port]]
       [-sdemo] [-noencode] [URLs]

       pavuk -mode {normal | singlepage | singlereget} [-base_level $nr]

       pavuk -mode sync [-ddays $nr] [-subdir $dir] [-remove_old/-noremove_old]

       pavuk -mode resumeregets [-subdir $dir]

       pavuk  -mode  linkupdate  [-X]  [-h]  [-v]  [-cdir  $dir]  [-subdir  $dir]  [-scndir $dir]
       [-scenario $str]

       pavuk -mode reminder [-remind_cmd $str]

       pavuk      -mode       mirror       [-subdir       $dir]       [-remove_old/-noremove_old]
       [-remove_before_store/-noremove_before_store] [-always_mdtm/-noalways_mdtm]

DESCRIPTION

       This  manual  page  describes  how  to  use pavuk. Pavuk can be used to mirror contents of
       internet/intranet servers and to maintain copies in a  local  tree  of  documents.   Pavuk
       stores  retrieved  documents in locally mapped disk space. The structure of the local tree
       is the same as the one on the remote server. Each supported service (protocol) has its own
       subdirectory  in the local tree.  Each referenced server has its own subdirectory in these
       protocols subdirectories; followed by the  port  number  on  which  the  service  resides,
       delimited  by  character  can  be  be changed. With the option -fnrules you can change the
       default layout of the local document tree, without losing link consistency.
       With pavuk it is possible to have up-to-date copies of remote documents in the local  disk
       space.
       As  of  version  0.3pl2,  pavuk  can  automatically  restart broken connections, and reget
       partial content from an FTP server (which must support the REST command), from a  properly
       configured HTTP/1.1 server, or from a HTTP/1.0 server which supports Ranges.
       As  of  version  0.6 it is possible to handle configurations via so called scenarios.  The
       best way to create such a configuration file is to use the X Window interface  and  simply
       save the created configuration. The other way is to use the -dumpscn switch.
       As of version 0.7pl1 it is possible to store authentification information into an authinfo
       file, which pavuk can then parse and use.
       As of version 0.8pl4 pavuk can fetch documents for  use  in  a  local  proxy/cache  server
       without storing them to local documents tree.
       As  of  version  0.9pl4  pavuk  supports  SOCKS  (4/5)  proxies  if  you have the required
       libraries.
       As of version 0.9pl12 pavuk can preserve permissions of remote files and  symbolic  links,
       so it can be used for powerful FTP mirroring.
       Pavuk  supports  SSL  connections  to  FTP  servers, if you specify ftps:// URL instead of
       ftp://.
       Pavuk can automatically handle file names with unsafe characters for filesystem.  This  is
       yet implemented only for Win32 platform and it is hard coded.
       Pavuk  can  now  use  HTTP/1.1  protocol  for communication with HTTP servers.  It can use
       persistent connections, so one TCP connection should be used to transfer several documents
       without  closing  it.  This  feature  saves  network  bandwidth  and  also speedup network
       communication.
       Pavuk can do configurable POST requests to HTTP servers and support  also  file  uploading
       via HTTP POST request.
       Pavuk  can  automatically  fill  found HTML forms, if user will supply data for its fields
       before with option -formdata.
       Pavuk can run  configurable  number  of  concurrently  running  downloading  threads  when
       compiled with multithreading support.

Format of supported URLs

       HTTP
       http://[[user][:password]@]host[:port][/document]
       [[user][:password]@]host[:port][/document]

       HTTPS
       https://[[user][:password]@]host[:port][/document]
       ssl[.domain][:port][/document]

       FTP
       ftp://[[user][:password]@]host[:port][/relative_path][;type=x]
       ftp://[[user][:password]@]host[:port][//absolute_path][;type=x]
       ftp[.domain][:port][/document][;type=x]

       FTPS
       ftps://[[user][:password]@]host[:port][/relative_path][;type=x]
       ftps://[[user][:password]@]host[:port][//absolute_path][;type=x]
       ftps[.domain][:port][/document][;type=x]

       Gopher
       gopher://host[:port][/type[document]]
       gopher[.domain][:port][/type[document]]

Default mapping of URLs to local filenames

       HTTP
       http://[[user][:password]@]host[:port][/document][?query]
       to
       http/host_port/[document][?query]

       HTTPS
       https://[[user][:password]@]host[:port][/document][?query]
       to
       https/host_port/[document][?query]

       FTP
       ftp://[[user][:password]@]host[:port][/path]
       to
       ftp/host_port/[path]

       FTPS
       ftps://[[user][:password]@]host[:port][/path]
       to
       ftps/host_port/[path]

       Gopher
       gopher://host[:port][/type[document]]
       to
       gopher/host_port/[type[document]]

       NOTE: Pavuk will use the string with which it queries the target server as the name of the
       results file. This file name may, in some cases, contain punctuations such as $,?,=,& etc.
       Such  punctuation  can  cause problems when you are trying to browse downloaded files with
       your browser or you are trying to process downloaded files  with  shell  scripts  or  view
       files with file management utilities which reference the name of the results file.  If you
       believe that this maybe causing problems for you, then you can remove all punctuation from
       the  result  file  name  with  the option: -tr_del_chr [:punct:] or with other options for
       adjusting filenames.

OPTIONS

        All options are case insensitive.

List of options chapters

       Mode
       Help
       Indicate/Logging/Interface options
       Netli options
       Special start
       Scenario/Task options
       Directory options
       Preserve options
       Proxy options
       Proxy Authentification
       Protocol/Download Option
       Authentification
       Site/Domain/Port Limitation Options
       Limitation Document properties
       Limitation Document name
       Limitation Protocol Option
       Other Limitation Options
       Javascript support
       Cookie
       HTML rewriting engine tuning options
       Filename/URL Conversion Option
       Other Options

Mode

       -mode {normal, linkupdate, sync, singlepage, singlereget, resumeregets}
              Set operation mode.
              normal - retrieves recursive documents
              linkupdate - update remote URLs in local HTML documents to local URLs if these URLs
              exist in the local tree
              sync  - synchronize remote documents with local tree (if a local copy of a document
              is older than remote, the document is retrieved again, otherwise nothing happens)
              singlepage - URL is retrieved as one page with all inline objects  (picture,  sound
              ...)  this mode is now obsoleted by -singlepage option.
              resumeregets  -  pavuk scans the local tree for files that were not retrieved fully
              and retrieves them again (uses partial get if possible)
              singlereget - get URL until it is retrieved in full
              dontstore - transfer page from server, but don't store it to the local tree.   This
              mode is suitable for fetching pages that are held in a local proxy/cache server.
              reminder - used to inform the user about changed documents
              ftpdir - used to list of contents of FTP directories

              default operation mode is normal mode.

Help

       -h     Print long verbose help message

       -v     Show version informations and configuration at compilation time.

Indicate/Logging/Interface options

       -quiet Don't show any messages on the screen.

       -verbose
              Force to show output messages on the screen (default)

       -progress/-noprogress
              Show retrieving progress while running in the terminal (default is progress off)

       -stime/-nostime
              Show start and end time of transfer. (default isn't this information shown)

       -xmaxlog $nr
              Maximum  number  of log lines in the Log widget. 0 means unlimited.  This option is
              available only when compiled with the GTK+ GUI. (default value is 0)

       -logfile $file
              File where all produced messages are stored.

       -unique_log/-nounique_log
              When logfile as specified with the option  -logfile  is  already  used  by  another
              process,  try to generate new unique name for the log file. (default is this option
              turned off)

       -slogfile $file
              File to store short logs in. This  file  contains  one  line  of  informations  per
              processed document.  This is meant to be used in connection with any sort of script
              to produce some statistics, for validating links on your website, or for generating
              simple  sitemaps.  Multiple pavuk processes can use this file concurrently, without
              overwriting each others entries.  Record structure:

              - PID of pavuk process
              - TIME current time
              - COUNTER in the format current/total number of URLs
              - STATUS contains the type of the error: FATAL, ERR,
                WARN or OK
              - ERRCODE is the number code of the error
                (see errcode.h in pavuk sources)
              - URL of the document
              - PARENTURL first parent document of this URL
                (when it doesn't have parent - [none])
              - FILENAME is the name of the local file the
                document is saved under
              - SIZE size of requested document if known
              - DOWNLOAD_TIME time which takes downloading of this
                document in format seconds.mili_seconds
              - HTTPRESP contains the first line of the HTTP server
                response

       -language $str
              Native language that pavuk should use for communication with its user  (works  only
              when there is a message catalog for that language) GNU gettext support (for message
              internationalization) must also be compiled in. Default language is taken from your
              NLS environment variables.

       -gui_font $font
              Font used in the GUI interface. To list available X fonts use the xlsfonts command.
              This option is available only when compiled with GTK+ GUI support.

Netli options

       -[no]read_css
              Enable or disable fetching objects mentioned in style sheets.

       -[no]verify
              Enable or disable verifying server CERTS in SSL mode.

       -tlogfile $file
              Turn on Netli logging with output to specified file.

       -trelative {object | program}
              Make Netli timings relative to the start of the first object or the program.

       -transparent_proxy FQDN[:port]
              When processing URL, send the original, but send it to the IP address at FQDN

       -transparent_ssl_proxy FQDN[:port]
              When processing HTTPS URL, send the original, but send it to the IP address at FQDN

       -sdemo Output in sdemo compatible format. This is only used by sdemo. (For now  it  simply
              means output '-1' rather than '*'  when measurements are invalid.)

       -noencode
              Do not escape characters that are "unsafe" in URLS.

Special start

       -X     Start  program  with X Window interface (if compiled with support for GTK+).  Pavuk
              as default starts without GUI, and behaves as regular commandline tool.

       -runX  When used together with the -X option, pavuk starts processing of URLs  immediately
              after  the  GUI  window is launched. Without the -X given, this option doesn't have
              any effect.  Only available when compiled with GTK+ support .

       -bg/-nobg
              This option allows pavuk to detach from its terminal and run  in  background  mode.
              Pavuk  will  not  output  any  messages  to  the  terminal than. If you want to see
              messages, you have to use the -log_file option to specify  a  file  where  messages
              will be written.  Default pavuk executes at foreground.

       -check_bg/-nocheck_bg
              Normally,  programs sent into the background after being run in foreground continue
              to output messages to the terminal.  If this option is activated, pavuk  checks  if
              it  is running as background job and will not write any messages to the terminal in
              this case. After it becomes a foreground job again, it will start writing  messages
              to  terminal  in  the  normal  way.  This option is available only when your system
              supports retrieving of terminal info via tc*() functions.

       -prefs/-noprefs
              When you turn this option on, pavuk will preserve all settings  when  exiting,  and
              when  you  run  pavuk with GUI interface again, all settings will be restored.  The
              settings will be stored in the ~./pavuk_prefs file. Default pavuk want restore  its
              option when started.  This option is available only when compiled with GTK+.

       -schedule $time
              Execute pavuk at the time specified as parameter. The Format of the $time parameter
              is YYYY.MM.DD.hh.mm.  You need a properly configured scheduling with the at command
              on  your  system  for  using  this  option.   If default configuration (at -f %f %t
              %d.%m.%Y) of scheduling command won't work on your system, try to  adjust  it  with
              -sched_cmd option.

       -reschedule $nr
              Execute  pavuk  periodically  with  $nr hours period.  You need properly configured
              scheduling with the at command on your system for using this option.

       -sched_cmd $str
              Command to use for scheduling. Pavuk explicitly supports scheduling  with  at  $str
              should  contain  regular  characters and macros, escaped by % character.  Supported
              macros are:
                 %f
                  - for script filename
                 %t
                  - for time (in format HH:MM)
                  - all macros as supported by the strftime() function

       -urls_file $file
              If you use  this  option,  pavuk  will  read  URLs  from  $file  before  it  starts
              processing.   In this file, each URL needs to be on a separate line. After the last
              URL, a single dot . followed by a LF (line-feed) character denotes the end.   Pavuk
              will  start  processing  right after all URLs have been read.  If $file is given as
              the - character, standard input will be read.

       -store_info/-nostore_info
              This option causes pavuk to store information about each document into  a  separate
              file in the .pavuk_info directory. This file is used to store the original URL from
              which the document was downloaded. For files that are downloaded via HTTP or  HTTPS
              protocols,  the whole HTTP response header is stored there. I recommend to use this
              option when you are using options that change  the  default  layout  of  the  local
              document  tree, because this info file helps pavuk to map the local filename to the
              URL. This option is also very useful when different URLs have the same filename  in
              the  local tree. When this occurs, pavuk detects this using info files, and it will
              prefix the local name with numbers. At default is disabled storing  of  this  extra
              informations.

       -info_dir $dir
              You  can set with this option location of separate directory for storing info files
              created when -store_info option is used. This is useful when you don't want to  mix
              in  destination directory the info files with regular document files. The structure
              of the info files is preserved, just are stored in different directory.

       -request $req
              With this option you can specify extended informations  for  starting  URLs.   With
              this  option  you  can specify query data for POST or GET .  Current syntax of this
              option  is  :   URL:["]$url["]   [METHOD:["]{GET|POST}["]]   [ENCODING:["]{u|m}["]]
              [FIELD:["]variable=value["]]                          [FILE:["]variable=filename["]
              [LNAME:["]local_filename["]]

              - URL: specifies request URL
              - METHOD: specifies request method for URL and is
                one of GET or POST.
              - ENCODING: specifies encoding for request body data.
                  m is for multipart/form-data encoding
                  u is for application/x-www-form-urlencoded
                  encoding
              - FIELD: specifies field of request data in format
                  variable=value. For encoding of special characters
                  in variable and value you can use same encoding
                  as is used in application/x-www-form-urlencoded
                  encoding.
              - FILE: specifies special field of query, which is
                  used to specify file for POST based file upload.
              - LNAME: specifies localname for this request
       When you need to use inside the FIELD: and FILE: fields of request  specification  special
       characters,  you  should use the application/x-www-form-urlencoded encoding of characters.
       It means all nonASCII characters, quote character ("),  space  character  (  ),  ampersand
       character (&), percent character (%) and equal character (=) should be encoded in form %xx
       where xx is hexadecimal representation of ASCII value  of  character.  So  for  example  %
       character should be encoded like %25.

       -formdata $req
              This  option  gives  you  chance  to  specify  contents for HTML forms found during
              traversing document tree.
               Current syntax of this option is same as for -request option,  but  ENCODING:  and
              METHOD: are meaningless in this option semantics.
               In  URL:  you  have to specify HTML form action URL, which will be matched against
              action URLs found in processed HTML documents. If  pavuk  finds  action  URL  which
              matches that supplied in -formdata option, pavuk will construct GET or POST request
              from data supplied in this option and from default form field  values  supplied  in
              HTML  document. Values supplied on commandline have precedence before that supplied
              in HTML file.

       -nthreads $nr
              By means of this option you can specify how many concurrent threads  will  download
              documents. Default pavuk executes 3 concurrent downloading threads.  This option is
              available only when pavuk is compiled to support multithreading.

       -immesg/-noimmesg
              Default pavuks behavior when running multiple downloading threads is to buffer  all
              output  messages  in  memory  buffer  and flush that buffered data just when thread
              finishes processing of one document. With this option you can change this  behavior
              to  see  the  messages  immediately when it is produced. It is only usable when you
              want to  debug  some  specials  in  multithreading  environment.   This  option  is
              available only when pavuk is compiled to support multithreading.

       -dumpfd $nr
              For  scripting is sometimes usable to be able to download document directly to pipe
              or variable instead of storing it to regular file. In such case you  can  use  this
              option to dump data for example to stdout ($nr = 1).

       -dump_after/-nodump_after
              While  using -dumpfd option in multithreaded pavuk, it is required to dump document
              in one moment because documents downloaded in multiple threads  can  overlap.  This
              option  is  also  useful  when  you want to dump document after pavuk adjusts links
              inside HTML documents.

       -dump_response/-nodump_response
              This option have effect only when used with -dumpfd option. It is used to dump HTTP
              response headers.

       -dump_urlfd $nr
              When  you  will use this option, pavuk will output all URLs found in HTML documents
              to file descriptor $nr. You can use this option to extract and convert all URLs  to
              absolute.

Scenario/Task options

       -scenario $str
              Name  of  scenario to load and/or run. Scenarios are files with a structure similar
              to the .pavukrc file.  Scenarios contain saved configurations. You can use  it  for
              periodical  mirroring.  Parameters from scenarios specified at the command line can
              be overwritten by command line parameters.  To be able to use this option, you need
              to specify scenario base directory with option -scndir.

       -dumpscn $filename
              Store  actual configuration into scenario file with name $filename.  This is useful
              to quickly create pre-configured scenarios for manual editing.

Directory options

       -msgcat $dir
              Directory which contains the message  catalog  for  pavuk.   If  you  do  not  have
              permission  to  store  a  pavuk message catalog in the system directory, you should
              simply create similar structure of directories in your home directory as it  is  on
              your system.

              For example:

              Your native language is German, and your home directory is /home/jano.

              You  should  at first create the directory /home/jano/locales/de/LC_MESSAGES/, then
              put the German pavuk.mo there and set -msgcat to /home/jano/locales/.  If you  have
              properly  set  locale environment values, you will see pavuk speaking German.  This
              option is available only when you compiled in  support  for  GNU  gettext  messages
              internationalization.

       -cdir $dir
              Directory  where  are  all  retrieved  documents  are stored. If not specified, the
              current directory is used. If the specified directory doesn't  exist,  it  will  be
              created.

       -scndir $dir
              Directory  in  which  your scenarios are stored.  You must use this option when you
              are loading or storing scenario files.

Preserve options

       -preserve_time/-nopreserve_time
              Store downloaded document with same  modification  time  as  on  the  remote  site.
              Modification  time  will  be  set only when such information is available (some FTP
              servers do not support the MDTM command, and some documents  on  HTTP  servers  are
              created online so pavuk can't retrieve the modification time of this document).  At
              default modification time of documents isn't preserved.

       -preserve_perm/-nopreserve_perm
              Store downloaded document with the same permissions as on the  remote  site.   This
              option  has  effect  only  when downloading a file through FTP protocol and assumes
              that the -ftplist option is used. At default permissions are not preserved.

       -preserve_slinks/-nopreserve_slinks
              Set symbolic links to point exactly to same location as on the remote server; don't
              do  any relocations.  This option has effect only when downloading file through FTP
              protocol and assumes that the -ftplist option is used.  Default symbolic links  are
              not  preserved, and are retrieved as regular documents with full contents of linked
              file.

              For example, assume that on the FTP server ftp.xx.org  there  is  a  symbolic  link
              /pub/pavuk/pavuk-current.tgz,  which  points  to /tmp/pub/pavuk-0.9pl11.tgz.  Pavuk
              will create symbolic link ftp/ftp.xx.org_21/pub/pavuk/pavuk-current.tgz
              if  option  -preserve_slinks  will  be  used  this  symbolic  link  will  point  to
              /tmp/pub/pavuk-0.9pl11.tgz
              if option -preserve_slinks want be used, this symbolic link will point to
               ../../tmp/pub/pavuk-0.9pl11.tgz

       -retrieve_symlink/-noretrieve_symlink
              Retrieve files behind symbolic links instead of replicating symlinks in local tree.

Proxy options

       -http_proxy $site[:$port]
              If  this  parameter  is  used,  then all HTTP requests are going through this proxy
              server. This is useful if your site resides behind a firewall, or if  you  want  to
              use  a  HTTP proxy cache server. The default port number is 8080.  Pavuk allows you
              to specify multiple HTTP proxies (using multiple -http_proxy options) and  it  will
              rotate proxies with roundrobin priority disabling proxies with errors.

       -nocache/-cache
              Use  this  option  whenever you want to get the document directly from the site and
              not from your HTTP proxy cache server. Default pavuk allows  transfer  of  document
              copies from cache.

       -ftp_proxy $site[:$port]
              If  this  parameter  is  used,  then  all FTP requests are going through this proxy
              server.  This is useful when your site resides behind a firewall, or if you want to
              use  FTP  proxy cache server.  The default port number is 22.  Pavuk supports three
              different types of proxies for FTP, see the options  -ftp_httpgw,  -ftp_dirtyproxy.
              If  none  of  the mentioned options is used, then pavuk assumes a regular FTP proxy
              with USER user@host connecting to remote FTP server.

       -ftp_httpgw/-noftp_httpgw
              The specified FTP proxy is a HTTP gateway for the FTP protocol. Default  FTP  proxy
              is regular FTP proxy.

       -ftp_dirtyproxy/-noftp_dirtyproxy
              The  specified  FTP  proxy  is a HTTP proxy which supports a CONNECT request (pavuk
              should use full FTP protocol, except of  active  data  connections).   Default  FTP
              proxy is regular FTP proxy.  If both -ftp_dirtyproxy and -ftp_httpgw are specified,
              -ftp_dirtyproxy is preferred.

       -gopher_proxy $site[:$port]
              Gopher gateway or proxy/cache server.

       -gopher_httpgw/-nogopher_httpgw
              The specified Gopher proxy server is a HTTP  gateway  for  Gopher  protocol.   When
              -gopher_proxy  is  set  and  this  -gopher_httpgw option isn't used, pavuk is using
              proxy as HTTP tunnel with CONNECT request to open connections to Gopher servers.

       -ssl_proxy $site[:$port]
              SSL proxy (tunneling) server [as that in CERN httpd  +  patch  or  in  Squid]  with
              enabled  CONNECT request (at least on port 443). This option is available only when
              compiled  with  SSL  support  (you  need  the  SSleay  or  OpenSSL  libraries  with
              development headers)

Proxy Authentification

       -http_proxy_user $user
              Username for HTTP proxy authentification.

       -http_proxy_pass $pass
              Password for HTTP proxy authentification.

       -http_proxy_auth {1/2/3/4/user/Basic/Digest/NTLM}
              Authentification  scheme  for  proxy  access.  Similar  meaning as the -auth_scheme
              option (see help for this option for more details).  Default is 2 (Basic scheme).

       -auth_proxy_ntlm_domain $str
              NT or  LM  domain  used  for  authorization  again  HTTP  proxy  server  when  NTLM
              authentification  scheme  is  required. This option is available only when compiled
              with OpenSSL or libdes libraries.

       -auth_reuse_proxy_nonce/-noauth_reuse_proxy_nonce
              When using HTTP Proxy Digest access  authentification  scheme  use  first  received
              nonce value in multiple following requests.

       -ftp_proxy_user $user
              Username for FTP proxy authentification.

       -ftp_proxy_pass $pass
              Password for FTP proxy authentification.

Protocol/Download Options

       -ftp_passive
              Uses passive ftp when downloading via ftp.

       -ftp_active
              Uses active ftp when downloading via ftp.

       -active_ftp_port_range $min:$max
              This  option  permits to specify the ports used for active ftp. This permits easier
              firewall configuration since the range of ports can be restricted.

              Pavuk will randomly choose a number from within the specified range until  an  open
              port  is  found.  Should  no open ports be found within the given range, pavuk will
              default to a normal kernel-assigned port,  and  a  message  (debug  level  net)  is
              output.

              The  port  range  selected must be in the non-privileged range (eg. greater than or
              equal to 1024); it is STRONGLY RECOMMENDED that the chosen range be large enough to
              handle  many  simultaneous  active connections (for example, 49152-65534, the IANA-
              registered ephemeral port range).

       -always_mdtm/-noalways_mdtm
              Force pavuk to always use "MDTM" to determine the file modification time and  never
              uses cached times determined when listing the remote files.

       -remove_before_store/-noremove_before_store
              Force  unlink'ing  of files before new content is stored to a file. This is helpful
              if the local files are hardlinked to some other directory and after  mirroring  the
              hardlinks are checked. All "broken" hardlinks indicate a file update.

       -retry $nr
              Set  the number of attempts to transfer processed document.  Default set to 1, this
              mean pavuk will retry once to get documents which failed on first attempt.

       -nregets $nr
              Set the number of allowed regets on a single document,  after  a  broken  transfer.
              Default value for this option is 2.

       -nredirs $nr
              Set  number  of  allowed HTTP redirects. (use this for prevention of loops) Default
              value for this option is 5, and conform to HTTP specification.

       -force_reget/-noforce_reget
              Force reget'ing of the whole document after  a  broken  transfer  when  the  server
              doesn't  support  retrieving of partial content.  Pavuk default behavior is to stop
              getting documents which don't allow restarting of transfer from specified position.

       -timeout $nr
              Timeout for stalled connections in minutes. This value is also used for  connection
              timeouts.  For  sub-minute  timeouts  you  can use floating point numbers.  Default
              timeout is 0, an that means timeout checking is disabled.

       -noRobots/-Robots
              This switch suppresses the use  of  the  robots.txt  standard,  which  is  used  to
              restrict  access  of  Web  robots  to  some locations on the web server. Default is
              allowed checking of robots.txt files on HTTP servers.  Enable  this  option  always
              when  you  are  downloading  huge  sets  of  pages with unpredictable layout.  This
              prevents you from upsetting server administrators :-).

       -noEnc/-Enc
              This switch suppresses using of gzip or compress or deflate encoding in transfer. I
              don't  know  if some servers are broken or what, but they are propagating that MIME
              type application/gzip or application/compress as encoded.  Turn  this  option  off,
              when  you doesn't have libz support compiled in and also gzip program which is used
              to decode document encoded this way.  At default is decoding of downloaded document
              disabled.

       -check_size/-nocheck_size
              The  option -nocheck_size should be used if you are trying to download pages from a
              HTTP server which sends a  wrong  Content-Length:  field  in  the  MIME  header  of
              response.   Default  pavuk  behavior  is  to  check  this  field  and complain when
              something is wrong.

       -maxrate $nr
              If you don't want to give all your transfer bandwidth to pavuk, use this option  to
              set  pavuk's  maximum transfer rate. This option accepts a floating point number to
              specify the transfer rate in kB/s. If you want get optimal settings, you also  have
              to  play  with the size of the read buffer (option -bufsize) because pavuk is doing
              flow control only at application level.  At default pavuk use full bandwidth.

       -minrate $nr
              If you hate slow transfer rates, this option allows you  to  break  transfers  with
              slow  speed.  You  can  set  the  minimum transfer rate, and if the connection gets
              slower than the given rate, the transfer will be stopped. The minimum transfer rate
              is given in kB/s.  At default pavuk doesn't check this limit.

       -bufsize $nr
              This  option  is  used to specify the size of the read buffer (default size: 32kB).
              If you have a very fast connection, you may increase the size of the buffer to  get
              a  better read performance. If you need to decrease the transfer rate, you may need
              to decrease the size of the buffer and set  the  maximum  transfer  rate  with  the
              -maxrate option. This option accepts the size of the buffer in kB.

       -fs_quota $nr
              If  you  are  running pavuk on a multiuser system, you may need to avoid filling up
              your file system. This option lets you specify how many space must remain free.  If
              pavuk  detects  an  underrun  of  the  free  space, it will stop downloading files.
              Specify this quota in kB. Default value is 0, and that mean  no  checking  of  this
              quota.

       -file_quota $nr
              This  option is useful when you want to limit downloading of big files, but want to
              download at least $nr kilobytes from big files.  A big file  will  be  transferred,
              and  when it reaches the specified size, transfer will break. Such document will be
              processed as properly downloaded, so be careful when using this option.  At default
              pavuk is transferring full size of documents.

       -trans_quota $nr
              If  you  are aware that your selection should address a big amount of data, you can
              use this option to limit the amount  of  transferred  data.   Default  is  by  size
              unlimited transfer.

       -max_time $nr
              Set maximum amount of time for program run. After time is exceeded, pavuk will stop
              downloading. Time is specified in  minutes.  Default  value  is  0,  and  it  means
              downloading time is not limited.

       -url_strategy $strategy
              This  option  allows  you to specify a downloading order for URLs in document tree.
              This option accepts the following strings as parameters :

              level - will order URLs as it loads it from HTML files (default)
              leveli - as previous, but inline objects URLs come first
              pre - will insert URLs from actual HTML document at start, before other
              prei - as previous, but inline objects URLs come first

       -send_if_range/-nosend_if_range
              Send If-Range: header in  HTTP  request.  I  found  out,  that  some  HTTP  servers
              (greetings,  MS  :-)) are sending different ETag: fields in different responses for
              the same, unchanged document. This causes problems when pavuk attempts to  reget  a
              document  from such a server: pavuk will remember the old ETag value and uses it it
              following requests for this document.  If the server checks it with  the  new  ETag
              value  and  it differs, it will refuse to send only part of the document, and start
              the download from scratch.

       -ssl_version $v
              Set required SSL protocol version for SSL communication.  $v is one of ssl2, ssl23,
              ssl3  or  tls1.   This  option  is  available  only when compiled with SSL support.
              Default is ssl23.

       -unique_sslid/-nounique_sslid
              This option can be used if you want to use a unique SSL ID for  all  SSL  sessions.
              Default  pavuk  behavior  is  to  negotiate  each  time  new  session  ID  for each
              connection.  This option is available only when compiled with SSL support.

       -use_http11/-nouse_http11
              This option is used to switch between HTTP/1.0 and HTTP/1.1 protocol used with HTTP
              servers.  Now  is using of HTTP/1.1 protocol not default because its implementation
              is very fresh  and  not  100%  tested.  Even  though  using  of  HTTP/1.1  is  very
              recommended, because it is faster than HTTP/1.0 and uses less network bandwidth for
              initiating connections. In any further version I will activate using of HTTP/1.1 as
              default.

       -local_ip $addr
              You  can  use  this  option  when  you  want to use specified network interface for
              communication with other hosts. This option is suitable for multihomed  hosts  with
              several  network  interfaces. Address should be entered as regular IP address or as
              host name.

       -identity $str
              This option allows you to specify content of User-Agent:  field  of  HTTP  request.
              This  is  usable,  when scripts on remote server returns different document on same
              URL for different browsers, or if some HTTP server refuse to serve document for Web
              robots like pavuk. Default pavuk sends in User-Agent: field pavuk/$VERSION string.

       -auto_referer/-noauto_referer
              This  option  forces  pavuk  to send HTTP Referer: header field with starting URLs.
              Content of this field will be self URL. Using this option is required, when  remote
              server  checks  the Referer: field.  At default pavuk wont send Referer: field with
              starting URLs.

       -referer/-noreferer
              This option allows to enable and disable the transmission of HTTP  Referer:  header
              field. At default pavuk sends Referer: field.

       -httpad $str
              In some cases you may want to add user defined fields to HTTP/HTTPS requests.  This
              option is exactly for this purpose. In $str you can  directly  specify  content  of
              additional  header.  If  you  specify  only  raw  header,  it will be used only for
              starting requests. When you want  to  use  this  header  with  each  request  while
              crawling, prefix the header with + character.

       -del_after/-nodel_after
              This  option  allows  you  to  delete  FILES  from  REMOTE server, when download is
              properly finished. At default is this option off.

       -FTPlist/-noFTPlist
              When option -FTPlist will be used, pavuk will retrieve content of  FTP  directories
              with  FTP  command  LIST  instead of NLST. So the same listing will be retrieved as
              with "ls -l" UNIX command.  This  option  is  required  if  you  need  to  preserve
              permissions of remote files or you need to preserve symbolic links.  Pavuk supports
              wide listing on FTP servers with regular  BSD  or  SYSV  style  "ls  -l"  directory
              listing,  on  FTP  servers with EPFL listing format, VMS style listing, DOS/Windows
              style listing and Novel listing format.  Default pavuk behavior is to use NLST  fro
              FTP directory listings.

       -ftp_list_options $str
              Some  FTP  servers  require to supply extra options to LIST or NLST FTP commands to
              show all files and directories properly. But be sure not to use any  extra  options
              which  can  reformat  output  of  the listing. Useful is especially -a option which
              force FTP server to show also dot files  and  directories  and  with  broken  WuFTP
              servers it also helps to produce full directory listings not just files.

       -fix_wuftpd/-nofix_wuftpd
              This  option  is  result  of  several  attempts  to  to  get  working  properly the
              -remove_old option with WuFTPd server when -ftplist option is used. The problem  is
              that  FTP  command  LIST  on  WuFTPd  don't  mind  when  trying to list nonexisting
              directory, and indicates success in FTP response  code.   When  you  activate  this
              option,  pavuk  uses extra FTP command (STAT -d dir) to check whether the directory
              really exists. Don't use this option until you are sure that you really need it!

Authentification

       -auth_file $file
              File where you have stored authentification information for access to some service.
              For file structure see below in FILES section.

       -auth_name $user
              If  you  are using this parameter, program is doing authentification with each HTTP
              access to document. Use this only if you know that only one HTTP  server  could  be
              accessed  or  use  -asite option to specify site to which you use authentification.
              Else your auth parameters will be sent to each accessed HTTP server.

       -auth_passwd $passwd
              Value of this parameter is used as password for authentification

       -auth_scheme {1/2/3/4/user/Basic/Digest/NTLM}
              This parameter specifies used authentification scheme.
              1 or user means user authentification scheme is used  as  defined  in  HTTP/1.0  or
              HTTP/1.1.  Password and user name are sent unencoded.
              2  or  Basic  means  Basic  authentification scheme is used as defined in HTTP/1.0.
              Password and user name are sent BASE64 encoded.
              3 or Digest means Digest access authentification scheme based on MD5  checksums  as
              defined in RFC2069.
              4  or  NTLM means NTLM proprietary access authentification scheme used by Microsoft
              IIS or Proxy servers.  When you use this scheme, you must also  specify  NT  or  LM
              domain  with  option -auth_ntlm_domain. This scheme is supported only when compiled
              with OpenSSL or libdes libraries.

       -auth_ntlm_domain $str
              NT or LM domain used for authorization again HTTP server when NTLM authentification
              scheme  is  required.  This  option is available only when compiled with OpenSSL or
              libdes libraries.

       -auth_reuse_nonce/-noauth_reuse_nonce
              While using HTTP Digest access authentification scheme  use  first  received  nonce
              value in more following requests.  Default pavuk negotiates nonce for each request.

       -ssl_key_file $file
              File  with  public  key  for  SSL  certificate  (learn  more from SSLeay or OpenSSL
              documentation) This option is available only when compiled with  SSL  support  (you
              need SSleay or OpenSSL libraries and development headers)

       -ssl_cert_file $file
              Certificate  file  in  PEM format (learn more from SSLeay or OpenSSL documentation)
              This option is available only when compiled with SSL support (you  need  SSleay  or
              OpenSSL libraries and development headers)

       -ssl_cer_passwd $str
              Password   used  to  generate  certificate  (learn  more  from  SSLeay  or  OpenSSL
              documentation) This option is available only when compiled with  SSL  support  (you
              need SSLeay or OpenSSL libraries and development headers)

       -nss_cert_dir $dir
              Config  directory  for  NSS  (Netscape  SSL  implementation)  certificates. Usually
              ~/.netscape (created by Netscape communicator/navigator) or profile directory below
              ~/.mozilla  (created by Mozilla browser). The directory should contain cert7.db and
              key3.db files. If you don't use Mozilla nor Netscape, you must create this files by
              utilities  distributed  with  NSS  libraries. Pavuk opens certificate database only
              readonly.  This option is available only when pavuk is compiled  with  SSL  support
              provided by Netscape NSS SSL implementation.

       [-nss_accept_unknown_cert/-nonss_accept_unknown_cert]
              By  default  will  pavuk  reject  connection to SSL server which certificate is not
              stored in local certificate database  (set  by  -nss_cert_dir  option).   You  must
              explicitly  force  pavuk  to allow connection to servers with unknown certificates.
              This option is available only when pavuk is compiled with SSL support  provided  by
              Netscape NSS SSL implementation.

       [-nss_domestic_policy/-nss_export_policy]
              Selects  sets  of  ciphers  allowed/disabled  by  USA export rules.  This option is
              available only when pavuk is compiled with SSL support provided by Netscape NSS SSL
              implementation.

       -from $email
              This  parameter  is  used  when  accessing  anonymous  FTP server as password or is
              optionally inserted into From  field  in  HTTP  request.  If  not  specified  pavuk
              discovers this from USER environment variable and from site hostname.

       -send_from/-nosend_from
              This  option  is  used  for  enabling  or disabling sending of user identification,
              entered in -from option, as FTP anonymous user password and  From:  field  of  HTTP
              request.  As default is this option off.

       -ftp_login_handshake $host $handshake
              When  you  need to use nonstandard login procedure for some of FTP servers, you can
              use this option to change default pavuk login procedure. To allow more flexibility,
              you  can  assign  the  login  procedure  to  some  server  or to all. When $host is
              specified as empty string (""), than attached login procedure is  assigned  to  all
              FTP  servers  besides those having assigned own login procedures. In the $handshake
              parameter you can specify exact login procedure specified by FTP commands  followed
              by expected FTP response codes delimited with backslash (\) characters.
              For  example  this  is  default  login procedure when logging in regular ftp server
              without going through proxy  server  :  USER  %u\331\PASS  %p\230.  There  are  two
              commands  followed  by  two  response  codes.  After USER command pavuk expects FTP
              response code 331 and after PASS command pavuk expects  from  server  FTP  response
              code  230.  In  ftp commands you can use following macros which will be replaced by
              respective values:

               %u - user name used to access FTP server
               %p - password used to access FTP server
               %U - user name used to access FTP proxy server
               %P - password used to access FTP proxy server
               %h - hostname of FTP server
               %s - port number on which FTP server listens

Site/Domain/Port Limitation Options

       -asite $list
              Specify comma separated list of allowed sites on  which  referenced  documents  are
              stored.

       -dsite $list
              Specify  comma  separated list of disallowed sites.  Previous parameter is opposite
              to this one. If both are used the last occurrence of them is used to be valid.

       -adomain $list
              Specify comma separated list of allowed domains on which referenced  documents  are
              stored.

       -ddomain $list
              Specify  comma separated list of disallowed domains. Previous parameter is opposite
              to this one. If both are used the last occurrence of them is used to be valid.

       -aport $list
              In $list, you can write comma separated list of  ports  from  which  you  allow  to
              download documents.

       -dport $list
              This  option  is  opposite  option to previous option. It is used to specify denied
              ports. If both -aport and -dport options are used the last occurrence  of  them  is
              used to be valid and all other occurrences will be omitted.

Limitation Document properties

       -amimet $list
              List  of  comma  separated  allowed  MIME  types. You can use with this option also
              wildcard patterns.

       -dmimet $list
              List of comma separated disallowed MIME types. You can use with  this  option  also
              wildcard  patterns.   Previous  parameter is opposite to this one. If both are used
              the last occurrence of them is used to be valid.

       -maxsize $nr
              Maximum allowed size of document.  This option is applied only when pavuk  is  able
              to  detect  the  document before starting the transfer.  Default value is 0, and it
              means this limit isn't applied.

       -minsize $nr
              minimal allowed size of document.  This option is applied only when pavuk  is  able
              to  detect  the  document before starting the transfer.  Default value is 0, and it
              means this limit isn't applied.

       -newer_than $time
              Allow only transfer of documents with modification time  newer  than  specified  in
              parameter  $time. Format of $time is: YYYY.MM.DD.hh:mm.  To apply this option pavuk
              must be able to detect modification time of document.

       -older_than $time
              Allow only transfer of documents with modification time  older  than  specified  in
              parameter  $time. Format of $time is: YYYY.MM.DD.hh:mm.  To apply this option pavuk
              must be able to detect modification time of document.

       -noCGI/-CGI
              this switch prevents to transfer dynamically generated parametric documents through
              CGI interface. This is detected with occurrence of ? character inside URL.  Default
              pavuk behavior is to allow transfer of URLs with query strings.

       -alang $list
              this allows you to specify  ordered  comma  separated  list  of  preferred  natural
              languages.  This  option  work  only  with  HTTP  and  HTTPS protocol using Accept-
              Language: MIME field.

       -acharset $list
              This options allows you to enter comma separated  list  of  preferred  encoding  of
              transfered  documents.  This  works  only with HTTP and HTTPS urls and only if such
              document encodings are located on destination server.
              example: -acharset iso-8859-2,windows-1250,utf8

Limitation Document name

       -asfx $list
              This parameter allows you to specify set of suffixes used to restrict selection  of
              documents which will be processed.

       -dsfx $list
              Set  of  suffixes  that  are used to specify restriction on selection of documents.
              This one is inverse to previous option. They are segregating each other.

       -aprefix $list, -dprefix $list
              This two options allow you to specify set of  allowed  or  disallowed  prefixes  of
              documents. They are segregating each other.

       -pattern $pattern
              This option allows you to specify wildcard pattern for documents. All documents are
              tested if they match this pattern.

       -rpattern $reg_exp
              This is equal option as previous, but this  uses  regular  expressions.   Available
              only on platforms which have any supported RE implementation.

       -skip_pattern $pattern
              This  option  allows  you  to specify wildcard pattern for documents that should be
              skipped.  All documents are tested if they match this pattern.

       -skip_rpattern $reg_exp
              This is equal option as previous, but this  uses  regular  expressions.   Available
              only on platforms which have any supported RE implementation.

       -url_pattern $pattern
              This option allows you to specify wildcard pattern for URLs. All URLs are tested if
              they match this pattern.
              Example:
              -url_pattern http://\*.idata.sk:\*/~ondrej/\* . this option enables all  HTTP  URLs
              from domain .idata.sk on all ports which are located under /~ondrej/.

       -url_rpattern $reg_exp
              This  is  equal  option  as previous, but this uses regular expressions.  Available
              only on platforms which have any supported RE implementation.

       -skip_url_pattern $pattern
              This option allows you to specify wildcard pattern for URLs that should be skipped.
              All URLs are tested if they match this pattern.

       -skip_url_rpattern $reg_exp
              This  is  equal  option  as previous, but this uses regular expressions.  Available
              only on platforms which have any supported RE implementation.

       -aip_pattern $re
              This option allows you to limit set of transferred documents by server IP  address.
              IP  address  can  be specified as regular expressions, so it is possible to specify
              set of IP addresses by one expression.  Available only on platforms which have  any
              supported RE implementation.

       -dip_pattern $re
              This option similar to previous option, but is used to specify set of disallowed IP
              addresses.  Available only on platforms which have any supported RE implementation.

       -tag_pattern $tag $attrib $url
              More powerful version of -url_pattern option for more precise matching  of  allowed
              URLs  based  on  HTML  tag name pattern, HTML tag attribute name pattern and on URL
              pattern. You can use in all three parameters of this option wildcard patterns, thus
              something   like   -tag_pattern  '*'  '*'  url_pattern  is  equal  to  -url_pattern
              url_pattern. The $tag and $attrib parameters are  always  matched  again  uppercase
              strings.  For example if you want just let pavuk follow only regular links ignoring
              any stylesheets, images, etc., use option -tag_pattern A HREF '*'.

       -tag_rpattern $tag $attrib $url
              This is variation on the -tag_pattern.  It  uses  regular  expression  patterns  in
              parameters instead of wildcard patterns used in the previous option.

Limitation Protocol Option

       -noHTTP/-HTTP
              This  switch  suppresses  all transfers through HTTP protocol.  Default is transfer
              trough HTTP enabled.

       -noSSL/-SSL
              This switch suppresses all transfers through HTTPS  protocol  (HTTP  protocol  over
              SSL)  .   Default  is transfer trough HTTPS enabled.  This option is available only
              when  compiled  with  SSL  support  (you  need  SSleay  or  OpenSSL  libraries  and
              development headers)

       -noGopher/-Gopher
              Suppress  all  transfers  through  Gopher  Internet  protocol.  Default is transfer
              trough Gopher enabled.

       -noFTP/-FTP
              This switch prevents processing documents allocated on all FTP servers.  Default is
              transfer trough FTP enabled.

       -noFTPS/-FTPS
              This  switch  prevents  processing  documents allocated on all FTP servers accessed
              through SSL.  Default is transfer trough FTPS enabled.  This  option  is  available
              only  when  compiled  with  SSL  support  (you need SSleay or OpenSSL libraries and
              development headers)

       -FTPhtml/-noFTPhtml
              By using of option -FTPhtml you can force pavuk to process  HTML  files  downloaded
              with FTP protocol.  At default pavuk won't parse HTML files from FTP servers.

       -FTPdir/-noFTPdir
              Force  recursive  processing  of  FTP  directories  too.   At  default is recursive
              downloading from FTP servers denied.

       -disable_html_tag $TAG,[$ATTRIB][;...]
              -enable_html_tag $TAG,[$ATTRIB][;...]  Enable or disable processing  of  particular
              HTML tags or attributes.  At default all supported HTML tags are enabled.

              For  example  if  you  don't  want  to  process  all  images  you should use option
              -disable_html_tag 'IMG,SRC;INPUT,SRC;BODY,BACKGROUND' .

Other Limitation Options

       -subdir $dir
              Subdirectory  of  local  tree  directory,  to  limit  some  of  the  modes   {sync,
              resumeregets, linkupdate} in its tree scan.

       -dont_leave_site/-leave_site
              (Don't)  leave starting site. At default pavuk can span host when recursing through
              WWW tree.

       -dont_leave_dir/-leave_dir
              (Don't) leave starting directory. If -dont_leave_dir option is used pavuk will stay
              only  in  starting  directory (including its own subdirectories).  At default pavuk
              can leave starting directories.

       -leave_site_enter_dir/-dont_leave_site_enter_dir
              If you are downloading WWW tree which spans multiple hosts with huge trees, you may
              want  to  allow  downloading  of  document  which  are in directory hierarchy below
              directory which we visited as first on  each  site.  To  obtain  this,  use  option
              -dont_leave_site_enter_dir.  As  default  pavuk  will  go  also to higher directory
              levels on that site.

       -lmax $nr
              Set maximum allowed level of tree traverse. Default is set to 0,  what  means  that
              pavuk can traverse at infinitum.  As of version 0.8pl1 inline objects of HTML pages
              are placed at same level as parent HTML page.

       -leave_level $nr
              Maximum level of documents outside from site of starting URL.  Default is set to 0,
              and 0 means that checking is not applied.

       -site_level $nr
              Maximum level of sites outside from site of starting URL.  Default is set to 0, and
              0 means that checking is not applied.

       -dmax $nr
              Set maximum allowed number of documents that are processed.  Default  value  is  0.
              That means no restrictions are used in number of processed documents.

       -singlepage/-nosinglepage
              Using  option  -singlepage  allows  you  to  transfer  just HTML pages with all its
              inlined objects (pictures, sounds, frame documents, ...).  As default  is  disabled
              single page transfer. This option makes -mode singlepage option obsolete.

       -limit_inlines/-dont_limit_inlines
              With  this  option  you  can  control whether limiting options apply also to inline
              objects (pictures, sounds, ...). This is useful when you want to download specified
              set of HTML pages with all inline options without any restrictions.

       -user_condition $str
              Script  or  program  name for users own conditions.  You can write any script which
              should with exit value decide if download URL or not.  Script gets from  pavuk  any
              number of options, with this meaning :

                 -url $url - processed URL
                 -parent $url - any number of parent URLs
                 -level $nr - level of this URL from starting URL
                 -size $nr - size of requested URL
                 -date $datenr - modification time of requested URL in format YYYYMMDDhhmmss

              The  exit  status  0 of script or program means that current URL should be rejected
              and nonzero exit status means that URL should be accepted.
              Warning : use user conditions only if required because of big slowdowns  caused  by
              forking scripts for each checked URL.

       -follow_cmd $str
              This  option  allows  you to specify script or program which can by its exit status
              decide whether to follow URLs from current  HTML  document.  This  script  will  be
              called after download of each HTML document.  The script will get following options
              as it's parameters:

                 -url $url - URL of current HTML document
                 -infile $file - local file where is stored HTML document

              The exit status 0 of script or program means that URLs from current  document  will
              be  disallowed,  other  exit status means, that pavuk can follow links from current
              HTML document.

Javascript support

       Support for scripting languages like JavaScript or VBScript in pavuk  is  done  bit  hacky
       way.  There  is  no  interpreter  for  this  languages, so not all things will work. Whole
       support which pavuk have for this scripting  languages  is  based  on  regular  expression
       patterns specified by user. Pavuk search for this patterns in DOM event attributes of HTML
       tags, in javascript:... URLs,  in  inline  scripts  in  HTML  documents  enclosed  between
       <script></script>  tags and in separate javascript files.  Support for scripting languages
       is  only  available  when  pavuk  is  compiled  with  proper  regular  expression  library
       (POSIX/GNU/PCRE).

       -enable_js/-disable_js
              This  options  are used to enable or disable processing of Javascript parts of HTML
              documents. You must enable this option to be able to use processing  of  javascript
              patterns.

       -js_pattern $re
              With  this  option  you  are  specifying  what  patterns  match interested parts of
              Javascript for extracting URLs. The parameter must be RE pattern with  exactly  one
              subpattern  which match exactly the URL part. For example to match URL in following
              type of javascript expressions :
                document.b1.src='pics/button1_pre.jpg'
              you can use this pattern
                "^document.[a-zA-Z0-9_]*.src[ ]*=[ ]*'(.*)'$"

       -js_transform $p $t $h $a
              This option is similar to previous, but you can use custom transform rules for  the
              URL  parts  of  patterns and also specify the exact HTML tag and attribute where to
              look for this pattern. The $p is the  pattern  to  match  the  interested  part  of
              script.  The  $t is transform rule for the URL, in this parameter the $x parts will
              be replaced by x-th subpattern of the $p pattern. The $h parameter  is  exact  HTML
              tag  or  "*"  when this apply to javascript: URLs or DOM event attribs or "" (empty
              string) when this apply to javascript body of HTML document or  separate  JS  file.
              The  $a  parameter  is exact HTML attrib of tag or "" (empty string) when this rule
              apply to javascript body.

       -js_transform2 $p $t $h $a
              This option is very similar to previous. The meaning of  all  parameters  is  same,
              just the pattern $p can have only one substring which will be used in the transform
              rule $t. This is required to allow rewriting of URL parts of the tags and  scripts.
              This  option can also be used to force pavuk to recognize HTML targ/attribute pairs
              which pavuk does not support.

Cookie

       -cookie_file $file
              File where are stored cookie infos. This file  must  be  in  Netscape  cookie  file
              format (generated with Netscape Navigator or Communicator ...).

       -cookie_send/-nocookie_send
              Use  collected  cookies  in  HTTP/HTTPS  requests.   Pavuk will not send at default
              cookies.

       -cookie_recv/-nocookie_recv
              Store received cookies from HTTP/HTTPS responses  into  memory  cookie  cache.   At
              default pavuk will not remember received cookies.

       -cookie_update/-nocookie_update
              Update  cookie  file on disk and synchronize it with changes made by any concurrent
              processes.  At default pavuk will not update cookie file on disk.

       -cookies_max $nr
              Maximum number of cookies in memory cookie cache.  Default value  is  0,  and  that
              means no restrictions for cookies number.

       -disabled_cookie_domains $list
              Comma-separated  list  of cookie domains which are permitted to send cookies stored
              into cookie cache

       -cookie_check/-nocookie_check
              Check when receiving cookie, if cookie domain is equal to domain  of  server  which
              sends  this  cookie.  At  default  pavuk check is server is setting cookies for its
              domain, and if it tries to set cookie for foreign domain pavuk will complain  about
              that and will reject such cookie.

HTML rewriting engine tuning options

       -noRelocate/-Relocate
              This  switch  prevents the program to rewrite relative URLs to absolute, after HTML
              document is transfered. Default pavuk behavior is to maintain link  consistence  of
              HTML  documents.  So always when HTML document is downloaded pavuk will rewrite all
              URLs to point to local document if it is available and if it is  not  available  it
              will  point  to  remote document. After document is properly downloaded, pavuk will
              update links in HTML documents, which point to this one.

       -all_to_local/-noall_to_local
              This option forces pavuk to change all URLs inside  HTML  document  to  local  URLs
              immediately after download of document. Default is this option disabled.

       -sel_to_local/-nosel_to_local
              This  option  forces  pavuk  to  change  all  URLs, which accomplish conditions for
              download, to local inside HTML document immediately after download of document.   I
              recommend  to use this option, when you are sure, that transfer will be without any
              problems. This option can save a lot of processor time.   Default  is  this  option
              disabled.

       -all_to_remote/-noall_to_remote
              This  option  forces  pavuk  to change all URLs inside HTML document to remote URLs
              immediately after download of document.  Default is this option disabled.

       -post_update/-nopost_update
              This option is especially designed to allow in -fnrules option doing rules based on
              MIME  type  of  document.  This  option  forces  pavuk  to generate local names for
              documents just after pavuk knows what is the MIME type of document. This  have  big
              impact  on  the rewriting engine of links inside HTML documents. This option causes
              disfunction of other options for controlling the link rewriting  engine.  Use  this
              option only when you know what you are doing :-)

       -dont_touch_url_pattern $pat
              This  options  serves  to  deny rewriting and processing of particular URLs in HTML
              documents by pavuk HTML rewriting engine. This option accepts wildcard patterns  to
              specify  such  URLs.  Matching  is  done  against  untouched URLs so when he URL is
              relative, you must use pattern which matches the relative URL, when it is absolute,
              you must use absolute URL.

       -dont_touch_url_rpattern $pat
              This  option  is  variation  on previous option. This one uses regular patterns for
              matching of URLs instead  of  wildcard  patterns  used  by  -dont_touch_url_pattern
              option.  This  option  is  available  only  when pavuk is compiled with support for
              regular expression patterns.

       -dont_touch_tag_rpattern $pat
              This option is variation on previous option, just matching is made on full HTML tag
              with  included <>. This option accepts regular expression patterns. It is available
              only when pavuk is compiled with support for regular expression patterns.

Filename/URL Conversion Option

       -tr_del_chr $str
              All characters found in $str will be deleted from local  name  of  document.   $str
              should contain escape sequences similar like in tr command:
              \n - newline
              \r - carriage return
              \t - horizontal tab space
              \0xXX - hexadecimal  ASCII value
              [:upper:] - all uppercase letters
              [:lower:] - all lowercase letters
              [:alpha:] - all letters
              [:alnum:] - all letters and digits
              [:digit:] - all digits
              [:xdigit:] - all hexadecimal digits
              [:space:] - all horizontal and vertical whitespace
              [:blank:] - all horizontal whitespace
              [:cntrl:] - all control characters
              [:print:] - all printable characters including space
              [:nprint:] - all non printable characters
              [:punct:] - all punctation characters
              [:graph:] - all printable characters excluding space

       -tr_str_str $str1 $str2
              String $str1 from local name of document will be replaced with $str2.

       -tr_chr_chr $chrset1 $chrset2
              Characters  from  $chrset1  from  local  name  of  document  will  be replaced with
              corresponding character from $chrset2. $charset1 and  $charset2  should  have  same
              syntax as $str in -tr_del_chr option.

       -store_name $str
              When  you  want  to  change local filename of first file downloaded with singlepage
              mode, you should use this option.

       -index_name $str
              With this option you can change directory index name. As default is used _._.html .

       -store_index/-nostore_index
              With option -nostore_index you should deny storing of directory indexes  into  HTML
              files.

       -fnrules $t $m $r
              This  is  a  very powerful option! This option is used to flexible change layout of
              local document tree. It accepts three parameters. First parameter $t is used to say
              what  type  is  following pattern.  F is used for wildcard pattern (uses fnmatch())
              and  R  is  used  for  regular  expression  pattern   (using   any   supported   RE
              implementation).  Second parameter is matching pattern used to select URLs for this
              rule.  If URL match this  pattern,  then  local  name  for  this  URL  is  computed
              following  rules  of  third  parameter.  And third parameter is local name building
              rule. Pavuk now supports two kinds of local name  building  rules.  One  is  simple
              based  only  on  simple macros and other more complicated extended rule, which also
              enables to perform several functions.  Recognition between those two kinds of rules
              is  done  by  looking  at first character of rule.  In case when first character is
              '(', rule is extended and in all other cases it is the simple kind of rule.

              Simple rule should contain literals or escaped macros.  Macros  are  escaped  by  %
              character or by $ character.

              Here is list of recognized macros:

              $x  -  where  x  is any positive number. This macro is replaced with x-th substring
              matched by RE pattern. (If you use this you need to understand RE !)
              %i - is replaced with protocol id (http, https, ftp, gopher)
              %p - is replaced with password. (use this only when usable)
              %u - is replaced with username.
              %h - is replaced with host name.
              %m - is replaced with domain name.
              %r - is replaced with port number.
              %d - is replaced with path to document.
              %n - is replaced with document name.
              %b - is replaced with basename of document (without extension).
              %e - is replaced with extension.
              %s - is replaced with searchstring.
              %M - is replaced with MIME type of document. When you are  using  this  macro,  you
              *must* use also -post_update option else it won't work.
              %E - is replaced with default extension assigned to MIME type of document. When you
              are using this macro, you *must* use also -post_update option else it won't work.
              %x - where x is positive number. This macro is replaced with  x-th  directory  from
              path to document from beginning.
              %-x  -  where x is positive number. This macro is replaced with x-th directory from
              path to document from end.

              Here is example. If you want place document into single directories  by  extension,
              you should use following fnrules option:
              -fnrules F '*' '/%e/%n'

              Extended  rule  ever  begins  with  character  ยด('.  It uses some kind of LISP like
              syntax.

              Here are base rules for writing extended rules : - the local filename  of  of  this
              kind is return value function
              - each function is enclosed inside round braces ()
              - first token right after opening brace is function name
              - each function have nonzero fixed number of parameters
              - each function returns numeric or string value
              - function parameters are separated by any number of space characters
              - parameter of function should be string, number, macro or other function
              - string is ever quoted with "
              -  each  numeric  parameter  can  be in any encoding supported by strtod() function
              (octal, decimal, hexadecimal, ...)
              - there is no implicit conversion from number to string
              - each macro is prefixed by % character and is one character long
              - each macro is replaced by its string representation from current URL
              - function parameters are typed strictly
              - toplevel function must return string value

              Extended rule supports full set of % escaped macros supported  with  simple  rules,
              plus two following addition macros :
              %U - URL string
              %o - default localname for URL

              Here is description of all supported functions

              sc - concat two string parameters
                 - accepts two string parameters
                 - returns string value
              ss - substring form string
                 - accepts three parameters.
                   - first is string from which we want to cut subpart
                   - second is number which represents starting position in string
                   - third is number which represents ending position in string
                 - returns string value
              hsh - compute modulo hash value from string with specified base
                 - accepts two parameters
                   - first is string for which we are computing the hash value
                   - second is numeric value for base of modulo hash
                 - returns numeric value
              md5 - compute MD5 checksum for string
                 - accepts one string value
                 - returns string which represents MD5 checksum
              lo - convert all characters inside string to lower case
                 - accepts ane string value
                 - returns string value
              up - convert all characters inside string to upper case
                 - accepts one string value
                 - returns string value
              ue  -  encode  unsafe  characters  in  string  with same encoding which is used for
              encoding unsafe characters inside URL (%xx) As default  are  encoded  all  nonascii
              values when this function is used.
                 - accepts two string values
                   - first is string which we want to encode
                   - second is string which contains unsafe characters
                 - return string value
              dc  -  delete  unwanted  characters  from  string  (have  similar  functionality as
              -tr_del_chr option)
                 - accepts two string values
                   - first is string from which we want delete
                   - second is string which contains characters we want to delete.
                 - returns string value
              tc - replace character with other character in string (have  similar  functionality
              as -tr_chr_chr option)
                 - accepts three string values
                   - first is string inside which we want to replace characters
                   - second is set of characters which we want to replace
                   - third is set of characters with which we are replacing
                 - returns string value
              ts  -  replace  some  string  inside  string  with  any  other string (have similar
              functionality as -tr_str_str option)
                 - accepts three string values
                   - first is string inside which we want to replace string
                   - second is the from string
                   - third is to string
                 - returns string value
              spn - calculate initial length of string  which  contains  only  specified  set  of
              characters.  (have same functionality as strspn() libc function)
                 - accepts two string values
                   - first is input string
                   - second is set of acceptable characters
                 - returns numeric value
              cspn  -  calculate  initial length of string which doesn't contain specified set of
              characters.  (have same functionality as strcspn() libc function)
                 - accepts two string values
                   - first is input string
                   - second is set of unacceptable characters
                 - returns numeric value
              sl - calculate length of string
                 - accepts one string value
                 - returns numeric value
              ns - convert number to string by format
                 - accepts two parameters
                   - first parameter is format string same as for printf() function
                   - second is number which we want to convert
                 - returns string value
              lc - return position of last occurrence of specified character inside string
                 - accepts two string parameters
                   - first string which we are searching in
                   - second string contains character for which we are looking for
                 - returns numeric value
              + - add two numeric values
                 - accepts two numeric values
                 - returns numeric value
              - - subtract two numeric values
                 - accepts two numeric values
                 - returns numeric value
              % - modulo addition
                 - accepts two numeric values
                 - returns numeric value
              * - multiple two numeric values
                 - accepts two numeric values
                 - returns numeric value
              / - divide two numeric values
                 - accepts two numeric values
                 - returns numeric value
              rmpar - remove parameter from query string
                - accepts two string
                  - first string is string which we are adjusting
                  - second parameter is name of parameter which should be removed
                - returns adjusted string
              getval - get query string parameter value
                - accepts two string
                  - first string is query string from which to get the parameter
                    value (usually %s)
                  - second string is name of parameter for which we want to get
                    the value
                - returns value of the parameter or empty string when the parameter
                  doesn't exists
              sif - logical decision
                - accepts three parameters
                  - first is numeric and when is zero than result of this decision
                    is result of second parameter, else result is result of third
                    parameter
                  - second parameter is string
                  - third parameter is string
                - returns string result of decision
              ! - logical not
                - accepts one numeric parameter
                - returns negation of parameter
              & - logical and
                - accept two numeric parameters
                - returns logical and of parameters
              | - logical or
                - accept two numeric parameters
                - returns logical or of parameters
              getext - get file extension
                - accept one sting (filename or path)
                - return string containing extension of parameter
              seq - compare two strings
                - accepts two strings for comparison
                - returns numeric value 0 - if different 1 - if equal
              jsf - execute JavaScript function
                - accepts one string parameter which holds name of
                  JavaScript function specified in script loaded with
                  -js_script_file option.
                - returns string value equal to return value of
                  JavaScript function
                - this function is available only when pavuk is compiled
                  with support for JavaScript bindings

              For example, if you are mirroring very huge number  of  internet  sites  into  same
              local  directory,  too  much  entries  in  one  directory, should cause performance
              problems. You may use for example hsh or md5 functions to generate  one  additional
              level of hash directories based on hostname whit one of following options :

              -fnrules F '*' '(sc (nc "%02d/" (hsh %h 100)) %o)'
              -fnrules F '*' '(sc (ss (md5 %h) 0 2) %o)'

       -base_level $nr
              Number of directory levels to omit in local tree.

              For  example  when downloading URL ftp://ftp.idata.sk/pub/unix/www/pavuk-0.7pl1.tgz
              you  enter  at  command  line  -base_level  4  in  local  tree  will   be   created
              www/pavuk-0.7pl1.tgz   not   ftp/ftp.idata.sk_21/pub/unix/www/pavuk-0.7pl1.tgz   as
              normally.

       -default_prefix $str
              Default prefix of mirrored directory. This option is used only when you are  trying
              to  synchronize  content of remote directory which was downloaded using -base_level
              option. Also you must use directory based synchronization  method,  not  URL  based
              synchronization  method.  This  is especially useful, when used in conjunction with
              -remove_old option.

       -remove_adv/-noremove_adv
              This option  is  used  for  turn  on/off  of  removing  HTML  tags  which  contains
              advertisement  banners.   The  banners  are  not  removed  from  HTML file, but are
              commented out.  Such URLs also will not be downloaded.   This  option  have  effect
              only  when  used  with  option  -adv_re.   Default  is  turned off.  This option is
              available only  when  your  system  have  support  for  one  of  supported  regular
              expressions implementation.

       -adv_re $RE
              This   option  is  used  to  specify  regular  expressions  for  matching  URLs  of
              advertisement banners.  For example : -adv_re http://ad.doubleclick.net/.*  is used
              to  match  all files from server ad.doubleclick.net.  This option is available only
              when your system have any supported regular expressions implementation.

       -unique_name/-nounique_name
              Pavuk as default always attempts to assign to unique URL unique local filename.  If
              this behavior is not wanted, you can use option -nounique_name to disable this.

Other Options

       -sleep $nr
              This option allows you to specify number of seconds during that the program will be
              suspended between two transfers. Useful to deny server overload.  Default value for
              this option is 0.

       -rsleep/-norsleep
              When  this  option is active, pavuk randomizes the the sleep time between transfers
              in interval between zero and value specified with -sleep option.  Default  is  this
              option inactive.

       -ddays $nr
              If  document  has  modification  time  later  as  $nr days, then in sync mode pavuk
              attempts to retrieve newer copy of document from remote server. Default value is 0.

       -remove_old/-noremove_old
              Remove improper documents (that, which doesn't exist on remote site).  This  option
              have  effect only when used in directory based sync mode.  When used with URL based
              sync mode, pavuk will not remove any old files which were  excluded  from  document
              tree  and  are  not  referenced  in  any  HTML  document.  You must also use option
              -subdir, to let pavuk find files which belongs to current mirror.  As default pavuk
              won't remove any old files.

       -browser $str
              is  used to set your browser command (in URL tree dialog you can use right click to
              raise menu, from which you can start  browser  on  actually  selected  URL).   This
              option  is  available only when compiled with GTK GUI and with support for URL tree
              preview.

       -debug/-nodebug
              turns on displaying of debug messages. This option is available only when  compiled
              with -DDEBUG.  If -debug option is used pavuk will output verbose information about
              documents, whole protocol level information, locking informations and more (depends
              on  -debug_level setup). This options is used just like trigger to enable output of
              debug messages selected by -debug_level option.  Default is debug mode turned off.

       -debug_level $level
              Set level of required  debug  informations.  $level  can  be  numeric  value  which
              represent  binary  mask  for  requested  debug  levels,  or comma separated list of
              supported debug levels.  Currently pavuk supports following debug levels :
              html - for HTML parser debugging
              protos - to see server side protocol messages
              protoc - to see client side protocol messages
              procs - to see some special procedure calls
              locks - for debugging of documents locking
              net - for debugging some low level network stuff
              misc - for miscellaneous unsorted debug messages
              user - for verbose user level messages
              all - request all currently supported debug levels
              mtlock - locking of resources in multithreading environment
              mtthr - launching/weaking/sleeping/stoping of threads in multithreaded environment
              protod - for DEBUGGING of POST requests
              limits - for debugging limiting options, you will see  the  reason  why  particular
              URLs are rejected by pavuk and which option caused this.
              ssl - to enable verbose reporting about SSL related things.

       -remind_cmd $str
              This  option  have  effect  only  when  running  pavuk in reminder mode. To command
              specified with this option pavuk sends result of running reminder mode.  There  are
              listed  URLs  which  are  changed  and  URLs which have any errors.  Default remind
              command is "mailx user@server -s \"pavuk reminder result\"" .

       -nscache_dir $dir
              Path to Netscape browser cache directory. If you specify this path, pavuk  attempts
              to find out if you have URL in this cache.  If URL is there it will be fetched else
              pavuk will download it from net. The cache  directory  index  file  must  be  named
              index.db  and  must  be  located  in the cache directory.  To support this feature,
              pavuk have to be linked with BerkeleyDB 1.8x .

       -mozcache_dir $dir
              Path to Mozilla browser  cache  directory.  Same  functionality  as  with  previous
              option,  just  for  different browser with different cache formats.  Pavuk supports
              both formats of Mozilla browser disk cache (old for versions <0.9 and new  used  in
              0.9=<).  The old format cache directory must contain cache directory index database
              with name  cache.db.  Then  new  format  cache  directory  must  contain  map  file
              _CACHE_MAP_,  and  three  block  files  _CACHE_001_,  _CACHE_002_, _CACHE_003_.  To
              support old Mozilla cache format, pavuk have to be linked with BerkeleyDB 1.8x. New
              Mozilla cache format doesn't require any external library.

       -post_cmd $str
              Post-processing  command,  which  will  be  executed  after  successful download of
              document.  This command may somehow handle with document. During  time  of  running
              this  command, pavuk leaves actual document locked, so there isn't chance that some
              other pavuk process will modify document.  This  postprocessing  command  will  get
              three additional parameters from pavuk.
                 - local name of document
                 - 1/0 1 if document is HTML document, 0 if not
                 - original URL of this document

       -hack_add_index/-nohack_add_index
              This  is  bit  hacky  option.  It  forces  pavuk to add to URL queue also directory
              indexes of all queued documents. This allow pavuk to download more  documents  from
              site,  than  it  is able achieve in normal traversing of HTML documents.  Bit dirty
              but useful in some cases.

       -js_script_file $file
              Pavuk  have  optionally  builtin  JavaScript  interpreter  to  allow   high   level
              customization  of  some internal procedures. Currently you are allowed to customize
              with your own JavaScript functions two things.  You  can  use  it  to  set  precise
              limiting  options, or you can write own functions which can be used inside rules of
              -fnrules option.  With this option you can load JavaScript  script  with  functions
              into  pavuks internal JavaScript interpreter. To learn more about this capabilities
              read separate document jsbind.txt  which  comes  with  pavuk  sources  in  toplevel
              directory.  This option is available only when you have compiled pavuk with support
              for JavaScript bindings.

EXIT STATUS

       As of version 0.9pl29 pavuk have changed indication of status by exit codes.   In  earlier
       versions  exit  status 0 was for no error and nonzero exit status was something like count
       of failed documents.  In all version after 0.0pl29 there are defined following exit codes:

           0 - no error, everything is OK
           1 - error in configuration of pavuk options or
               error in config files
           2 - some error occurred while downloading documents

ENVIRONMENTAL VARIABLES

       USER   variable is used to construct email address from user and hostname

       LC_* or LANG
              used to set internationalized environment

       PAVUKRC_FILE
              with  this  variable  you  can  specify  alternative  location  for  your   pavukrc
              configuration file.

REQUIRED EXTERNAL PROGRAMS

       at     is used for scheduling.

       gunzip is used to decode gzip or compress encoded documents.

Bugs

       If you find any, please let me know.

FILES

       @SYSCONFDIR@/pavukrc

       ~/.pavukrc

       ~/.pavuk_prefs

              These  files  are  used as default configuration files.  You may specify there some
              constant values like your proxy server or your preferred WWW browser. Configuration
              options  reflect  command line options.  Not all parameters are suitable for use in
              default configuration file.  You should select only some of them, which you  really
              need.

              File   ~/.pavuk_prefs   is   special   file  which  contains  automatically  stored
              configuration.  This file is used only when running  GUI  interface  of  pavuk  and
              option -prefs is active.

              First  (if  present)  parsed  file  is  @SYSCONFDIR@/pavukrc  then  ~/.pavukrc  (if
              present), then ~/.pavuk_prefs (if present).  Last the command line is  parsed.  The
              precedence is as follows :

              - highest -
              Entered in user interface
              Entered in command line
              ~/.pavuk_prefs
              ~/.pavukrc
              @SYSCONFDIR@/pavukrc
              - lowest -

              Here is table of config file - command line options pairs.

              MaxLevel:                  --->  -lmax
              MaxDocs:                   --->  -dmax
              MaxSize:                   --->  -maxsize
              MinSize:                   --->  -minsize
              SleepBetween:              --->  -sleep
              MaxRetry:                  --->  -retry
              MaxRegets:                 --->  -nregets
              MaxRedirections:           --->  -nredirs
              CommTimeout:               --->  -timeout
              RegetRollbackAmount:       --->  -rollback
              DocExpiration:             --->  -ddays
              UseCache:                  --->  -nocache
              UseRobots:                 --->  -noRobots
              AllowFTP:                  --->  -noFTP
              AllowHTTP:                 --->  -noHTTP
              AllowSSL:                  --->  -noSSL
              AllowGopher:               --->  -noGopher
              AllowCGI:                  --->  -noCGI
              AllowGZEncoding:           --->  -noEnc
              AllowFTPRecursion:         --->  -FTPdir
              ForceReget:                --->  -force_reget
              Debug:                     --->  -debug
              AllowedSites:              --->  -asite
              DisallowedSites:           --->  -dsite
              AllowedDomains:            --->  -adomain
              DisallowedDomains:         --->  -ddomain
              AllowedPrefixes:           --->  -aprefix
              DisallowedPrefixes:        --->  -dprefix
              AllowedSuffixes:           --->  -asfx
              DisallowedSuffixes:        --->  -dsfx
              AllowedMIMETypes:          --->  -amimet
              DisallowedMIMETypes:       --->  -dmimet
              PreferredLanguages:        --->  -alang
              PreferredCharset:          --->  -acharset
              WorkingDir:                --->  -cdir
              WorkingSubDir:             --->  -subdir
              HTTPAuthorizationScheme:   --->  -auth_scheme
              HTTPAuthorizationName:     --->  -auth_name
              HTTPAuthorizationPassword: --->  -auth_passwd
              AuthReuseDigestNonce:      --->  -auth_reuse_nonce
              SSLCertPassword:           --->  -ssl_cert_passwd
              SSLCertFile:               --->  -ssl_cert_file
              SSLKeyFile:                --->  -ssl_key_file
              EmailAddress:              --->  -from
              MatchPattern:              --->  -pattern
              REMatchPattern:            --->  -rpattern
              SkipMatchPattern:          --->  -skip_pattern
              SkipREMatchPattern:        --->  -skip_rpattern
              URLMatchPattern:           --->  -url_pattern
              URLREMatchPattern:         --->  -url_rpattern
              SkipURLMatchPattern:       --->  -skip_url_pattern
              SkipURLREMatchPattern:     --->  -skip_url_rpattern
              DefaultMode:               --->  -mode
              FTPProxy:                  --->  -ftp_proxy
              HTTPProxy:                 --->  -http_proxy
              SSLProxy:                  --->  -ssl_proxy
              GopherProxy:               --->  -gopher_proxy
              FTPViaHTTPProxy:           --->  -ftp_httpgw
              GopherViaHTTPProxy:        --->  -gopher_httpgw
              HTTPProxyUser:             --->  -http_proxy_user
              HTTPProxyPass:             --->  -http_proxy_pass
              HTTPProxyAuth:             --->  -http_proxy_auth
              AuthReuseProxyDigestNonce: --->  -auth_reuse_proxy_nonce
              Browser:                   --->  -browser
              ScenarioDir:               --->  -scndir
              ShowProgress:              --->  -progress
              XMaxLogSize:               --->  -xmaxlog
              LogFile:                   --->  -logfile
              RemoveOldDocuments:        --->  -remove_old
              AuthFile:                  --->  -auth_file
              BaseLevel:                 --->  -base_level
              FTPDirtyProxy:             --->  -ftp_dirtyproxy
              ActiveFTPData:             --->  -ftp_active/-ftp_passive
              ActiveFTPPortRange:        --->  -active_ftp_port_range
              AlwaysMDTM:                --->  -always_mdtm/-noalways_mdtm
              RemoveBeforeStore:         --->  -(no)remove_before_store
              ShowDownloadTime:          --->  -stime
              NLSMessageCatalogDir:      --->  -msgcat
              Quiet:                     --->  -quiet/-verbose
              NewerThan:                 --->  -newer_than
              OlderThan:                 --->  -older_than
              Reschedule:                --->  -reschedule
              DontLeaveSite:             --->  -dont_leave_site/-leave_site
              DontLeaveDir:              --->  -dont_leave_dir/-leave_dir
              PreserveTime:              --->  -preserve_time/-nopreserve_time
              LeaveLevel:                --->  -leave_level
              GUIFont:                   --->  -gui_font
              UserCondition:             --->  -user_condition
              CookieFile:                --->  -cookie_file
              CookieSend:                --->  -cookie_send/-nocookie_send
              CookieRecv:                --->  -cookie_recv/-nocookie_recv
              CookieUpdate:              --->  -cookie_update/-nocookie_update
              CookiesMax:                --->  -cookies_max
              CookieCheckDomain:         --->  -cookie_check/-nocookie_check
              DisabledCookieDomains:     --->  -disabled_cookie_domains
              DisableHTMLTag:            --->  -disable_html_tag
              EnableHTMLTag:             --->  -enable_html_tag
              TrDeleteChar:              --->  -tr_del_chr
              TrStrToStr:                --->  -tr_str_str
              TrChrToChr:                --->  -tr_chr_chr
              IndexName:                 --->  -index_name
              StoreName:                 --->  -store_name
              PreservePermisions:        --->  -preserve_perm/-nopreserve_perm
              PreserveAbsoluteSymlinks:  --->  -preserve_slinks/-nopreserve_slinks
              FTPListCMD:                --->  -FTPlist/-noFTPlist
              MaxRate:                   --->  -maxrate
              MinRate:                   --->  -minrate
              ReadBufferSize:            --->  -bufsize
              BgMode:                    --->  -bg/-nobg
              CheckSize:                 --->  -check_size/-nocheck_size
              SLogFile:                  --->  -slogfile
              Identity:                  --->  -identity
              SendFromHeader:            --->  -send_from/-nosend_from
              RunX:                      --->  -runX
              FnameRules:                --->  -fnrules
              StoreDocInfoFiles:         --->  -store_info/-nostore_info
              AllLinksToLocal:           --->  -all_to_local/-noall_to_local
              AllLinksToRemote:          --->  -all_to_remote/-noall_to_remote
              SelectedLinksToLocal:      --->  -sel_to_local/-nosel_to_local
              ReminderCMD:               --->  -remind_cmd
              AutoReferer:               --->  -auto_referer/-noauto_referer
              URLsFile:                  --->  -urls_file
              UsePreferences:            --->  -prefs/-noprefs
              FTPhtml:                   --->  -FTPhtml/-noFTPhtml
              StoreDirIndexFile:         --->  -store_index/-nostore_index
              Language:                  --->  -language
              FileSizeQuota:             --->  -file_quota
              TransferQuota:             --->  -trans_quota
              FSQuota:                   --->  -fs_quota
              EnableJS:                  --->  -enable_js/-disable_js
              UrlSchedulingStrategy:     --->  -url_strategy
              NetscapeCacheDir:          --->  -nscache_dir
              RemoveAdvertisement:       --->  -remove_adv/-noremove_adv
              AdvBannerRE:               --->  -adv_re
              CheckIfRunnigAtBackground: --->  -check_bg/-nocheck_bg
              SendIfRange:               --->  -send_if_range/-nosend_if_range
              SchedulingCommand:         --->  -sched_cmd
              UniqueLogName:             --->  -unique_log/-nounique_log
              PostCommand:               --->  -post_cmd
              SSLVersion:                --->  -ssl_version
              UniqueSSLID:               --->  -unique_sslid/-nounique_sslid
              AddHTTPHeader:             --->  -httpad
              StatisticsFile:            --->  -statfile
              WaitOnExit:                --->  -ewait
              AllowedIPAdrressPattern:   --->  -aip_pattern
              DisallowedIPAdrressPattern:--->  -dip_pattern
              SiteLevel:                 --->  -site_level
              UseHTTP11:                 --->  -use_http11
              MaxRunTime:                --->  -max_time
              LocalIP:                   --->  -local_ip
              RequestInfo:               --->  -request
              HashSize:                  --->  -hash_size
              NumberOfThreads:           --->  -nthreads
              ImmediateMessages:         --->  -immesg/-noimmsg
              HTMLFormData:              --->  -formdata
              DumpFD:                    --->  -dumpfd
              DumpUrlFD:                 --->  -dump_urlfd
              DeleteAfterTransfer:       --->  -del_after/-nodel_after
              UniqueDocName:             --->  -unique_name/-nounique_name
              LeaveSiteEnterDirectory:   --->  -leave_site_enter_dir/-dont_leave_site_enter_dir
              SinglePage:                --->  -singlepage/-nosinglepage
              NTLMAuthorizationDomain:   --->  -auth_ntlm_domain
              NTLMProxyAuthorizationDomain:
                                         --->  -auth_proxy_ntlm_domain
              JavascriptPattern:         --->  -js_pattern
              FollowCommand:             --->  -follow_cmd
              RetrieveSymlinks:          --->  -retrieve_symlink/-noretrieve_symlink
              JSTransform:               --->  -js_transform
              JSTransform2:              --->  -js_transform2
              FTPProxyUser:              --->  -ftp_proxy_user
              FTPProxyPassword:          --->  -ftp_proxy_pass
              LimitInlineObjects:        --->  -limit_inlines/-dont_limit_inlines
              FTPListOptions:            --->  -ftp_list_options
              FixWuFTPDBrokenLISTcmd:    --->  -fix_wuftpd_list/-nofix_wuftpd_list
              PostUpdate:                --->  -post_update/-nopost_update
              SeparateInfoDir:           --->  -info_dir
              MozillaCacheDir:           --->  -mozcache_dir
              AllowedPorts:              --->  -aport
              DisallowedPorts:           --->  -dport
              HackAddIndex:              --->  -hack_add_index/-nohack_add_index
              JavaScriptFile:            --->  -js_script_file
              FtpLoginHandshake:         --->  -ftp_login_handshake
              NSSCertDir:                --->  -nss_cert_dir
              NSSAcceptUnknownCert:      --->  -nss_accept_unknown_cert/-nonss_accept_unknown_cert
              NSSDomesticPolicy:         --->  -nss_domestic_policy/-nss_export_policy
              DontTouchUrlREPattern:     --->  -dont_touch_url_rpattern
              DontTouchUrlPattern:       --->  -dont_touch_url_pattern
              DontTouchTagREPattern:     --->  -dont_touch_tag_rpattern
              HTMLTagPattern:            --->  -tag_pattern
              HTMLTagREPattern:          --->  -tag_rpattern
              URL:                       --->  one URL (more lines with URL:
                                               ... means more URL's)

       line which begins with '#' means comment.
       TrStrToStr: and TrChrToChr: must contain two quoted strings.  All parameter names are case
       insensitive. If here is missing any option, try to look inside config.c source file.

       See pavukrc.sample file for example

       .pavuk_authinfo

              File should contain as many authentification records  as  you  need.   Records  are
              separated by any number of empty lines.  Parameter name is case insensitive.

              Structure of record:

              Proto: <proto ID>    ---> identification of protocol
                                        (ftp/http/https/..)
                                   - required field
              Host: <host:[port]>  ---> host name
                                   - required field
              User: <user>         ---> name of user
                                   - optional
              Pass: <password>     ---> password for user
                                   - optional
              Base: <path>         ---> base prefix of document path
                                   - optional
              Realm: <name>        ---> realm for HTTP authorization
                                   - optional
              NTLMDomain: <domain> ---> NT/LM domain for NTLM authorization
                                   - optional
              Type: <type>         ---> HTTP authentification scheme
                                             - 1/user   - user auth scheme
                                             - 2/Basic  - Basic auth scheme (default)
                                             - 3/Digest - Digest auth scheme
                                             - 4/NTLM   - NTLM auth scheme
                                   - optional

       see pavuk_authinfo.sample file for example

       ~/.pavuk_keys
              this is file where are stored information about configurable menu option shortcuts.
              This is available only when compiled with Gtk+1.2 and higher.

       ~/.pavuk_remind_db
              this file contains informations about URLs for running in reminder mode.  Structure
              of  this  file  is  very  easy. Each line contains information abou one URL.  first
              entry in line is last known modification time of URL (stored  in  time_t  format  -
              number of secons from 1.1.1970 GMT).  And second entry is URL.

EXAMPLE COMMAND LINE

       pavuk -mode mirror -nobg -store_info -info_dir
       /mirror/info -nthreads 1 -cdir /mirror/incoming -subdir
       /mirror/incoming -preserve_time -nopreserve_perm
       -nopreserve_slinks -noretrieve_symlink -force_reget
       -noRobots -trans_quota 16384 -maxsize 16777216
       -max_time 28 -nodel_after -remove_before_store -ftpdir
       -ftplist -ftp_list_options -a -dont_leave_site
       -dont_leave_dir -all_to_local -remove_old -nostore_index
       -active_ftp_port_range 57344:65535 -always_mdtm
       -ftp_passive -base_level 2 http://<my_host>/doc/

SEE ALSO

       Look  into  ChangeLog file for more informations about new features in particular versions
       of pavuk.

AUTHOR

       Main development Ondrejicka Stefan
       Look into CREDITS file of sources for additional information.

AVAILABILITY

       pavuk is available from http://pavuk.sourceforge.net/