ck4up(1)ck4up(1)NAMEck4up - Check for Updates, a utility to monitor web pages for updates
SYNOPSISck4up [options] [<regexp> ...]
DESCRIPTIONck4up 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
Juergen Daubert <jue@jue.li>
ck4up 1.3 Apr 08 2014 ck4up(1)