Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
pavuk(1)			 Internet utils 			pavuk(1)

NAME
     pavuk  -  HTTP, HTTP over SSL, FTP, FTP over SSL and Gopher recursive docu-
     ment 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]  [-log-
     file  $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_rpat-
     tern  $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]]  [-go-
     pher_proxy 	   $site[:$port]]	     [-ftp_httpgw/-noftp_httpgw]
     [-ftp_dirtyproxy/-noftp_dirtyproxy]       [-gopher_httpgw/-nogopher_httpgw]
     [-noFTP/-FTP]   [-noHTTP/-HTTP]   [-noSSL/-SSL]  [-noGopher/-Gopher]  [-FT-
     Pdir/-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] [-pre-
     serve_slinks/-nopreserve_slinks] [-bufsize $nr]  [-maxrate  $nr]  [-minrate
     $nr]   [-user_condition   $str]   [-cookie_file  $file]  [-cookie_send/-no-
     cookie_send]  [-cookie_recv/-nocookie_recv]   [-cookie_update/-nocookie_up-
     date]    [-cookies_max   $nr]   [-disabled_cookie_domains	 $list]   [-dis-
     able_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]  [-en-
     able_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]    [-re-
     move_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_en-
     ter_dir/-dont_leave_site_enter_dir] [-max_time $nr]  [-del_after/-nodel_af-
     ter]   [-singlepage/-nosinglepage]  [-dump_after/-nodump_after]  [-dump_re-
     sponse/-nodump_response] [-auth_ntlm_domain $str]	[-auth_proxy_ntlm_domain
     $str]   [-js_pattern   $re]  [-follow_cmd	$str]  [-retrieve_symlink/-nore-
     trieve_symlink] [-js_transform $p $t $h $a] [-js_transform2 $p  $t  $h  $a]
     [-ftp_proxy_user	   $str]      [-ftp_proxy_pass	   $str]     [-limit_in-
     lines/-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_pat-
     tern  $tag  $attrib  $url] [-tag_rpattern $tag $attrib $url] [-nss_cert_dir
     $dir]  [-nss_accept_unknown_cert/-nonss_accept_unknown_cert]   [-nss_domes-
     tic_policy/-nss_export_policy]  [-[no]verify] [-tlogfile $file] [-trelative
     {object   |   program}]   [-transparent_proxy   FQDN[:port]]    [-transpar-
     ent_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_be-
     fore_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  pro-
     tocols subdirectories; followed by the port number on which the service re-
     sides,  delimited	by character can be be changed. With the option -fnrules
     you can change the default layout of the local document tree, without  los-
     ing 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 re-
     quired 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 try-
     ing 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  op-
	    tion.
	    resumeregets  -  pavuk  scans the local tree for files that were not
	    retrieved fully and retrieves them again (uses partial get if possi-
	    ble)
	    singlereget - get URL until it is retrieved in full
	    dontstore - transfer page from server, but don't store it to the lo-
	    cal 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.  (de-
	    fault 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 informa-
	    tions  per	processed document.  This is meant to be used in connec-
	    tion with any sort of script to produce some statistics,  for  vali-
	    dating  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  ad-
	    dress 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 op-
	    tion 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 fore-
	    ground  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  set-
	    tings  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  com-
	    mand won't work on your system, try to adjust it with -sched_cmd op-
	    tion.

     -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 - charac-
	    ter, 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 lo-
	    cal document tree, because this info file helps pavuk to map the lo-
	    cal filename to the URL. This option is also very useful  when  dif-
	    ferent  URLs have the same filename in the local tree. When this oc-
	    curs, pavuk detects this using info files, and it  will  prefix  the
	    local  name with numbers. At default is disabled storing of this ex-
	    tra 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:["]vari-
	    able=value["]]  [FILE:["]variable=filename["]  [LNAME:["]local_file-
	    name["]]

	    - 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 specifi-
     cation special characters, you should use the application/x-www-form-urlen-
     coded encoding of characters. It means all nonASCII characters, quote char-
     acter ("), space character ( ), ampersand character (&), percent  character
     (%) and equal character (=) should be encoded in form %xx where xx is hexa-
     decimal  representation of ASCII value of character. So for example % char-
     acter 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  op-
	    tion, pavuk will construct GET or POST request from data supplied in
	    this option and from default form field values supplied in HTML doc-
	    ument.  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 down-
	    loading threads.  This option is available only when pavuk	is  com-
	    piled 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/lo-
	    cales/de/LC_MESSAGES/, then put the German pavuk.mo  there	and  set
	    -msgcat to /home/jano/locales/.  If you have properly set locale en-
	    vironment  values,	you will see pavuk speaking German.  This option
	    is available only when you compiled in support for GNU gettext  mes-
	    sages internationalization.

     -cdir $dir
	    Directory where are all retrieved documents are stored. If not spec-
	    ified,  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 op-
	    tion when you are loading or storing scenario files.

Preserve options
     -preserve_time/-nopreserve_time
	    Store downloaded document with same modification time as on the  re-
	    mote  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 re-
	    trieve  the modification time of this document).  At default modifi-
	    cation 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 de-
	    fault permissions are not preserved.

     -preserve_slinks/-nopreserve_slinks
	    Set symbolic links to point exactly to same location as on	the  re-
	    mote  server; don't do any relocations.  This option has effect only
	    when downloading file through FTP protocol and assumes that the -ft-
	    plist 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  de-
	    fault  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. De-
	    fault FTP proxy is regular FTP proxy.

     -ftp_dirtyproxy/-noftp_dirtyproxy
	    The specified FTP proxy is a HTTP proxy which supports a CONNECT re-
	    quest (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 pro-
	    tocol.  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 op-
	    tion 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 con-
	    nections  (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 di-
	    rectory 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 bro-
	    ken 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 spec-
	    ification.

     -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 de-
	    fault 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  float-
	    ing  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 up-
	    setting 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 applica-
	    tion/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 down-
	    loaded document disabled.

     -check_size/-nocheck_size
	    The option -nocheck_size should be used if you are trying  to  down-
	    load  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  ac-
	    cepts  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 de-
	    fault 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 op-
	    tion. 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 prop-
	    erly 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 parame-
	    ters :

	    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  re-
	    quests 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 docu-
	    ment, 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 de-
	    fault 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  in-
	    terface  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.  De-
	    fault 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 list-
	    ing, 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 spec-
	    ify site to which you use authentification. Else your  auth  parame-
	    ters 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 re-
	    ceived  nonce value in more following requests.  Default pavuk nego-
	    tiates 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	develop-
	    ment 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 head-
	    ers)

     -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	develop-
	    ment 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 certifi-
	    cate   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 pass-
	    word 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  iden-
	    tification,  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 pro-
	    cedure. To allow more flexibility, you can assign the  login  proce-
	    dure  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 com-
	    mand  pavuk  expects  from server FTP response code 230. In ftp com-
	    mands you can use following macros which will be replaced by respec-
	    tive 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 parame-
	    ter 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 parame-
	    ter 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  occur-
	    rences 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  proto-
	    col 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 desti-
	    nation 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 re-
	    strict 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  segre-
	    gating 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 implementa-
	    tion.

     -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 implementa-
	    tion.

     -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 implementa-
	    tion.

     -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 implementa-
	    tion.

     -aip_pattern $re
	    This option allows you to limit  set  of  transferred  documents  by
	    server  IP	address.  IP address can be specified as regular expres-
	    sions, so it is possible to specify set of IP addresses by	one  ex-
	    pression.	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 match-
	    ing of allowed URLs based on HTML tag name	pattern,  HTML	tag  at-
	    tribute  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_pat-
	    tern. The $tag and $attrib parameters are always matched  again  up-
	    percase  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 pre-
	    vious 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 en-
	    abled.  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 re-
	    cursing 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 subdi-
	    rectories).  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 par-
	    ent HTML page.

     -leave_level $nr
	    Maximum level of documents outside from site of starting  URL.   De-
	    fault 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  ac-
	    cepted.
	    Warning  : use user conditions only if required because of big slow-
	    downs 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  docu-
	    ment.  This  script will be called after download of each HTML docu-
	    ment.  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 lan-
     guages 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  ex-
	    pressions :
	      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 pat-
	    tern 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 doc-
	    ument  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  parame-
	    ters  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 Communica-
	    tor ...).

     -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  ab-
	    solute, 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 condi-
	    tions  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 en-
	    gine  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 pat-
	    tern  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  ex-
	    pression  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 doc-
	    ument.  $str should contain escape sequences similar like in tr com-
	    mand:
	    \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 re-
	    placed 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  in-
	    dexes 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 reg-
	    ular  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 sev-
	    eral 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 un-
	    derstand 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 file-
	    name 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  charac-
	    ters
	    -  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  str-
	    tod() 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 function-
	    ality 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  speci-
	    fied  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()  func-
	    tion
		 - second is number which we want to convert
	       - returns string value
	    lc	-  return position of last occurrence of specified character in-
	    side 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  parame-
	    ter
		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 func-
	    tions  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 com-
	    mand  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 con-
	    tains 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.dou-
	    bleclick.net/.*   is  used	to  match  all files from server ad.dou-
	    bleclick.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 lo-
	    cal 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 be-
	    tween 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 re-
	    move any old files which were excluded from document  tree	and  are
	    not referenced in any HTML document.  You must also use option -sub-
	    dir,  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 actu-
	    ally  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 in-
	    formation,	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 multi-
	    threaded 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 re-
	    minder 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 lo-
	    cated 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  re-
	    quire any external library.

     -post_cmd $str
	    Post-processing  command,  which  will  be executed after successful
	    download of document.  This command may somehow  handle  with  docu-
	    ment. During time of running this command, pavuk leaves actual docu-
	    ment  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 down-
	    load 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 ca-
	    pabilities 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 spec-
	    ify there some constant values like your proxy server or  your  pre-
	    ferred  WWW  browser. Configuration options reflect command line op-
	    tions.  Not all parameters are suitable for use in default	configu-
	    ration  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 in-
	    terface 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 in-
     side 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 infor-
	    mation 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 par-
     ticular 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/

0.9.35				2026-06-11T16:55			pavuk(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=pavuk&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help