mkzone


Creates a zone and a reverse lookup file for bind with automatically generated names, from a class C net and an optional IP range. If invoked without parameters, the 192.168.0.0/24 range is created. Written in C++. Should compile on all platforms.

The program is available from my FTP server.

deldups


Deldups is a small utility that will compare file-names and file-sizes, and delete duplicates. It was written to ease the maintenance of large file-archives with many duplicate files, like MP3 or picture archives. It have the ability to handle the duplicate name-convention routines for the nbpro and newsgrabber commercial Usenet download programs, and also to apply custom-rules for name-recognition. (Say you have some files named test.txt, test(1).txt test(2).txt; the program can automatically remove the bracket and the number, and use test.txt as the logical name for all three files when they are compared. It can also remove garbage in filenames (like !!!!test.txt -> test.txt).

The program was originally written for Windows, but it has been maintained under Linux for some time, and I don't know if it still compiles under Windows.

Deldups is fast. The last time I ran it, it compared ~300.000 files and deleted ~40.000 in a few minutes.

At this time, only the size and name is considered. I may, at some time, add support for checksums to verify if the files really are the same. It may also require quite some memory to handle large archives, as the file-list is kept in memory when the program runs.

The program is available from my FTP server.

chkmailspool


This is a handy program written in C that can recover most of the common problems I have seen in the traditional UNIX mailbox files. I have set up a number of systems with sendmail and Qualcom qpopper, and sometimes they really mess up. Chkmailspool will list the problems, fix the mailbox, or even forward each mail by mail to another mailbox (very handy when I move the mailsever to a new machine, running incompatible mail-software).

The source code is available from the unsupported area on my ftp server.

repcmd


Repcmd was something I wrote in order to ease some firewall-scripts. In stead of repeating almost similar lines tens or hundreds of times, just changing IP ranges, I hand the job to repcmd :) It's was more readable than bash loop statements, and it handles empty lines and comments. It can also extract columns from each line.

The idea is to run one or more commands on a set of input files that forms a , two, three or x-dimensional array, depending on the number of files. The sample below shows how I use it in a firewall:

# Connect internal networks to external networks
#
echo -n "NAT "
repcmd \
-f /etc/firewall/static/net_all_public \
-f /etc/firewall/static/net_all_private \
-c "iptables -t nat -A POSTROUTING \
-s @2,3/@2,1 -o @1,4+ -j SNAT --to @1,0"



The source code is available from my FTP server.

I have a number of other programs as well, that will make their way here when I find time to make a clean release.