Linux@DUKE Projects

Epylog: Log Analyzis Tool
Epylog is a syslog parser which runs periodically, looks at your logs, processes some of the entries in order to present them in a more comprehensible format, and then mails you the output. It is written specifically for large network clusters where a lot of machines (around 50 and upwards) log to the same loghost using syslog or syslog-ng.
Kibot: Python-based IRC bot
Kibot is a python-based IRC bot written to be cleanly and robustly modular, powerful and flexible. It has a rich permissions framework, and writing modules/commands for it is ridiculously simple.
Yum: Yellowdog Updater Modified
Yum is a utility that can check for and automatically download and install updated RPM packages. Dependencies are obtained and downloaded automatically prompting the user as necessary. It can handle multiple repositories as well.
urlgrabber: a python package for high-level cross-protocol url-grabbing
urlgrabber is a good drop-in solution for very general file-fetching. It supports such features as username/password support, bandwidth-throttling, progress meters, http keepalive, seamless http and ftp functionality, and much, much more!
Nosrc-RPM: a collection of .nosrc.rpm files for proprietary software
Linux@DUKE does a lot of packaging for proprietary software which we cannot distribute outside of Duke. However, we would like to share our sometimes extensive effort with others by providing .nosrc.rpm files.

Mini-Projects

SnapLook: Minimalistic Templating Engine
SnapLook is a minimalistic web templating engine written in PHP and used at www.phy.duke.edu and this very website. It is easy to customize (within rather rigid limits), easy to apply, and most importantly, easy for your users to grok.
More Information
Webvac: Web interface to Vacation
Webvac is a small web front-end to UNIX vacation. It is written in python and requires mod_python to run.
Download
Logger: a python module for convenient file, console, and syslog logging
Logger is a module for python that allows you to do basic logging very easily and conveniently, while allowing great flexibility. It is designed to be a very practical and convenient logging solution for small to mid-sized (a few thousand lines) programs.
Download
Htmlfilter: XSS filter for PHP
This is a library to make sure that untrusted HTML code is safe to display in a end-user's browser. This filter was originally developed for SquirrelMail, but now has a life of its own, as it is used widely outside the initial project.
Download
Glump: Glue files together
Glump is a small web util that allows gluing many (config) files together into one. It is useful when you have a number of machines and you want to distribute a file to them (such as kickstart, firewall rules, etc), but send different bits to different machines. Using glump you can make a file from many pieces, and even specify per-host tuning parameters and replace in-file variables on the fly.
Download
DiskNag: Nag users about space usage
Disknag is a small "virtual quota" application for monitoring locations with per-user entries and logging the findings in syslog. It also has a feature of notifying the user if they are found over their limit for a set number of days. Then, if the user didn't correct themselves in time, a message will be sent to the administrator about the problem. This is useful for things like user inboxes or public_html directories if they are stored outside of the user's HOME. Putting quota limitations on user inboxes can be tricky, since you don't want to lose data or cause inbox corruption if the hard quota is hit.
Download
RepoView: Make YUM repositories browseable
RepoView allows one to easily create a set of static HTML pages in a YUM repository, allowing simple browsing of available packages. It uses kid templating engine to create the pages and is therefore easily customizeable.