Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages
ck4up(1) ck4up(1)

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

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

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.

-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.
Process only configuration-lines matching <regexp>. If more than one expression is given, all of them are or'ed to build a regular expression.

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.


apache md5 httpd-2[0-9.]*
uw-imap md5

<@[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 @GNU@ below. Macro expansion is done recursively, allowing macros to be nested. See the @SF@ example which works for many but not all sourceforge project pages.

Example of a configuration file containing URL and macro definitions:

@TAR@ @NAME@-.*?.tar.[bgx]z2?


@SF_RE@ /files/@NAME@/[.0-9]+|@TAR@
@SF@ @SF_RE@

apache md5 httpd-2[0-9.]*
exim md5 @SUN@/exim/exim/exim4/ @TAR@
gawk md5 @GNU@
hdparm md5 @SF@
uw-imap md5 imap-200.?[a-z]

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.

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

Juergen Daubert <>
Dec 23 2014 ck4up 1.4

Search for    or go to Top of page |  Section 1 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.