Small: aml2html, checklinks, httpdproxy,

Beta or Above

Cheesewire (SIDS) The Cheesewire Intrusion Detection System for Unix-like machines, formerly known as SIDS. Cheesewire offers Tripwire like file-tampering detection functionality and in addition, monitors network connections, processes and open files --- each is checked against signatures of the expected; the unexpected are logged. Cheesewire is written in Perl.

REML A widget for taking a document written in a simple mark-up language and generating either HTML or TeX (and thence dvi and postscript and PDF). Output can be paginated suitably for a presentation (with a contents page), or not; indexes too.

Of particular note: different parts of the source of the document may reside on any host to which one connect via an HTTP IP Socket; the style of the final document in HTML and in TeX/dvi/ps can be controlled independently by use of CSS, PseudoCSS (a mini, companion widget) and a set of TeX macros, respectively; full or summary versions of the document may be produced from the same source; online copy may be single- or multiple-file (the latter with a contents page/file); the source may be modular, with C-style include files, Modula/Ada style definition and implementation files, shared-object style libraries...

SyMon: Unix System Monitoring A system-monitoring kit, consisting of: two sets of Perl modules, one for monitoring disk-usage, running processes, etc, and looking for problems, and the other for gathering statistics; support modules, e.g., for output; an application (script) which uses the toolkit.

The software should be viewed as a toolkit which can be used to write a custom application/script --- the included symon is a simple such script.

Output divides into two: that from the individual modules and that from the application, in the supplied case, symon. Application output: a set of support modules are supplied for the application script which provide a set of output stream types including email, FIFOs and on-disk output buffers; five streams are configured as supplied, three, "trouble", "warning" and "ticker", for monitoring purposes, and two, "log" and "error", for debugging and development. Module output: modes/streams including to a local file, to remote file, via HTTP and via SMTP (not all yet implemented).

There is a system-abstraction layer, so that the software is easily ported from, say, Solaris to Linux.

Lpr Wrapper A wrapper for lpr on a Unix machine: takes "pure", printer-independent Postscript, modifies it to select tray, duplex, paper-size, etc., and forwards the (modified) postscript to the print-queue.

Admin Objects A set of Perl modules (objects) which aid in user-administration on a Unix box. Current objects: display user's account information, grep for account-related stuff, change user's disk-space quota, request new account, enable/disable account. The modules are "managed" by an application-script. The module set is built on a system-abstraction layer (of service modules) which hide /etc/ files, YP/NIS files, and the like, aiding portability.

DocULib Doc-U-Lib (that's Document-UMIST-Library) is an on-line document database/library/repository widget.



Tripwire Configuration

Snarch Web-based mail client and associated scripts designed to archive and read mail. (There is currently no send-mail facility, though this would be simple to add.)

Two copies of an email are kept: the original and an "interpreted" copy which is held in a simple XML-based database. The archive is of course searchable on keyword; each email is is automatically classified in to folders according to given criteria --- an email can happily exist in more than one folder at a time.


Tomato (RPM Update): Yet another utility to keep your RPMs up-to-date. This one features three modes: all, which grabs all updates from the RedHat FTP site (or mirror) and preferentially gets appropriate architecture RPMs (e.g., i686 kernel packages over i386) --- suitable for maintaining a local machine-optimised mirror (e.g. for updating a cluster); manual, as for previous mode but user confirmation is required for each download --- good for slow links; auto, in this case, potential downloads are compared to already-installed RPMs --- if the update to be downloaded does not correspond to an already-installed package, the update is not downloaded.

A checkdeps option recursively checks dependencies and listonly simply outputs a list of available/required updates.



A Learning Experience

Webmail Widget

The End.