ck4up(1)                                                              ck4up(1)

NAME
       ck4up - Check for Updates, a utility to monitor web pages for updates

SYNOPSIS
       ck4up [options] [<regexp> ...]

DESCRIPTION
       ck4up  is  a  small  command-line  utility,  written in ruby, primarily
       intended for CRUX ports maintainers to watch http  and  ftp  sites  for
       updates, but may also be useful for others.

       ck4up  scans through a configuration file, fetches the listed URLs from
       the web, computes the md5sum of the page, and compares the  value  with
       one stored in a gdbm database. If both differ a message will be written
       to the standard output.

       To improve performance, ck4up is multi-threaded. A configurable  number
       of  threads fetches pages in parallel. The default setting is a maximum
       of 20 threads and can be changed at the top  of  the  script  (variable
       Threads_max).

       Regular expressions can be applied to each page in the event that ck4up
       produces repetitive diff messages. For example, if daily snapshots  and
       a web counter are on the same page.

       To  simplify  maintenance  of  the configuration file, a kind of macro-
       expansion can be used.

OPTIONS
       -d, --debug
              Run ck4up in debug mode. All fetched pages will  be  written  to
              the  standard  output.  This  is especially useful when combined
              with a regexp to limit the number of pages to process.

       -k, --keep
              Keep md5 values, don't update the database.

       -v, --verbose
              Verbose mode. Print a message also for unchanged pages.

       -h, --help
              Print a short help message and exit.

       -p, --parseonly
              Parse configuration file, expand macros and print lines  matched
              by <regexp>.  Do not fetch any remote data.

       -c, --cleandb
              Removes unused entries from the ck4up database.

       -f <file>, --config <file>
              Use alternative configuration from <file> instead of the default
               ~/.ck4up/ck4up.conf.   ck4up  creates  a database with the same
              full pathname but the extension replaced by .dbm.

       <regexp>
              Process only configuration-lines matching <regexp>. If more than
              one  expression is given, all of them are or'ed to build a regu-
              lar expression.

CONFIGURATION
       The configuration file for ck4up contains lines with macro  definitions
       and  lines  defining  URLs to check for updates.  Blank lines and lines
       beginning  with  a  pound-sign,  which  are  considered  comments,  are
       ignored. Spaces at the beginning of definition-lines are not allowed.
       The   default   location   for   the   ck4up   configuration   file  is
       ~/.ck4up/ck4up.conf.

       <name> <type> <url> [<regexp>]

       Lines starting with a valid character in the  range  [a-zA-Z]  are  URL
       lines,  defining  the  web-pages  you  would like to check for updates.
       <name> is a symbolic name for the URL, md5 is the only valid entry  for
       <type>  at the moment, <url> is the URL of the web-site, <regexp> is an
       optionally extended regular expression.  Don't use spaces  in  regexps,
       but \s instead.

       Examples:

       apache  md5  http://www.apache.de/dist/httpd/    httpd-2[0-9.]*
       uw-imap md5  ftp://ftp.cac.washington.edu/imap/

       <@[A-Za-z0-9_]*@> <string> [<string>]

       Lines  starting  with  @  define  macros for later use.  A system macro
       @NAME@, which is the <name> of the URL line, can be used in other macro
       definitions.   This  is  handy if many URLs follow a common syntax. See
       the examples for @SF@ and  @GNOME@  below.   Macro  expansion  is  done
       recursively,  allowing macros to be nested.  See the @FM@ example below
       which makes use of freshmeat's XML project database.

EXAMPLE
       Example of a configuration file containing URL and macro definitions:

       @SUN@     http://mirrors.sunsite.dk
       @SFgrp@   http://sourceforge.net/project/showfiles.php?group_id=
       @SFpkg@   &package_id=
       @GNOME@   http://ftp.gnome.org/pub/gnome/sources/@NAME@/2.4/

       @TAR@     @NAME@-.*?\.tar\.[bg]z2?

       @FM_url@  http://freshmeat.net/projects-xml/@NAME@/@NAME@.xml
       @FM_reg@  <latest_release_version>.*</latest_release_version>
       @FM@      @FM_url@ @FM_reg@
       @GNU@     http://ftp.gnu.org/gnu/@NAME@   @TAR@

       apache       md5  http://www.apache.de/dist/httpd/   httpd-2[0-9.]*
       crux         md5  @FM@
       exim         md5  @SUN@/exim/exim/exim4/             @TAR@
       gawk         md5  @GNU@
       maildrop     md5  @SFgrp@5404@SFpkg@7979             @TAR@
       gnome-panel  md5  @GNOME@
       uw-imap      md5  ftp://ftp.cac.washington.edu/imap/ imap-200.?[a-z]*

PROXY
       If a environment variable HTTP_PROXY or http_proxy is set with a  valid
       URI, e.g. http://server.localnet:3128/, ck4up make use of the proxy for
       the HTTP and HTTPS protocols.

FILES
       ~/.ck4up/ck4up.conf - configuration-file
       ~/.ck4up/ck4up.dbm - gdbm database to store the md5 hashes

AUTHOR
       Jürgen Daubert <juergen.daubert@t-online.de>

ck4up 1.2                         Apr 05 2009                         ck4up(1)