SoftwareYou can find some of the software which I have written on this page. I have given up on the idea to list all the software I have written, but I will attempt to list at least those I have made public. If you like, you can make me very happy by reducing my wishlist. Open SourceMost of the software in this section is part of the Debian distribution. I always upload these programs to the Debian software repository first, so if you are looking for the latest version of the software, please look there first. potion - IP Flow MonitorThis is a console utility which will listen on an interface using libpcap, aggregate the traffic into flows and display the top (as many as can fit on your screen) flows with their average throughput. A flow is identified ip protocol, source ip, source port, destination ip, destination port, and type of service flag. ftm - Frogfoot Networks Traffic Monitoring UtilityThis is a console utility used for monitoring networks using netfilter packet counters. art - Abraham's Resource ToolsThis is a set of utilities to display statistics about system resources. Currently it ships with the following utilities:
This package is not currently part of the official Debian repository because James Troup and I do not currently see eye to eye about the naming scheme of the utilities in this package. If you want these utilities in your distribution, please lobby for it on the debian-devel mailinglist. hexcat - HEX dumping utilityThe output consists of 6 columns. The first column contains the address of the row (in bytes). Columns 2 to 5 contain the characters in the row represented as hexadecimal bytes. The last column contains the bytes as printable characters. If a character is not printable it is replaced by a dot. libabz - My Swiss Army KnifeThis library contains various routines needed by many of my other programs. These routines can be used to concatenate strings, print them, trim whitespace from them, read lines from files, create and remove directory hierarchies and so forth. tinysnmp - A lightweight SNMPv1 implementationThis is a fast, leightweight implementation of the SNMPv1 protocol as described in RFC 1157. There is no support for SMI MIB files (yet). orca - Router Monitoring and Graphing SystemORCA collects and display statistics gathered from routers via SNMP. It uses the RRD tool library by Tobias Oetiker for storing data and generating graphs. libber - A Basic Encoding Rules (ITU X.690) implementationThis library is an implementation of the ITU-T X.690 specification of Basic Encoding Rules (BER). BER is a language used to encode data so that it can be transferred and be interpreted by different hosts in a platform independent manner. BER is used to encode data in SNMP and LDAP and probably other popular protocols as well. This library is used by my SNMP software. libdebug - Memory leak detection system and logging libraryThis library contains routines needed by many of my other programs. It includes utilities to aid in debugging of programs. Some of the features currently supported by this library are memory leak detection, hex dumping, and logging. The logging system is especially useful. It adds syntax highlighting for different log levels in debugging mode. There are different modes for printing to console and files, duplicate line detection and lots of other small things which makes life simpler for the programmer. libconfig - Configuration file parser libraryA parser library for a configuration file format used by most of my older programs. The library provides support for parsing a configuration file format which is a somewhat of a mix between the common GNU-like configuration files and a C program. Currently the configuration file support boolean values, integers, strings (which can span multiple lines), and enumerations. Arrays and sections are also supported and can be nested to unlimited depths. I am not really using this library anymore, because most of my newer programs have Cisco-like configuration files which I find easier to use. tint - TINT Is Not Tetris(tm) ...at least the name isn'tAs the title suggests, this is a clone of the original tetris game written by Alexey Pajitnov, Dmitry Pavlovsky, and Vadim Gerasimov. I've tried to keep the game as close to the original as possible, but there are a few small differences. Nevertheless, it's probably the closest to the original that you'll ever find in the UNIX world... ixbiff - Notify user when mail arrives via keyboard LEDsIxbiff blinks the keyboard LEDs when new mail arrives. The keyboard LEDs used depend upon the daemon's configuration. For obvious reasons only three mailboxes can be checked. Currently, ixbiff is Linux specific and requires root access. Ixbiff supports the standard UNIX mbox format as well as qmail's Maildir format. juice - Playlist editor / player frontendJuice is a frontend for mpg123 and other players. It provides a nifty dialog-based playlist editor. It basically allows you to browse through your files in a "Midnight Commander"-like fashion. The MP3's you select are treated as a playlist which can be shuffled, rearranged, saved, etc. In order to play audio files, two player interfaces are provided. The mpg123-specific interface uses the remote protocol of mpg123 (This feature was introduced in version 0.59r in order to accommodate generic frontends.) The other player frontend is generic and allows for any player to be used. This is useful if you do not want to limit the functionality of juice to MP3's. I am not actively maintaining this software anymore. A replacement for juice is still on my agenda, but it is has a rather low priority on my ever increasing todo list. rsd - Round Robin Database Synchronizing DaemonRSD synchronize RRD transactions between multiple clients sharing common Round Robin Databases. This allow multiple applications to use the same group of Round Robin Databases without a need for any locking. RRD is a system to store and display time-series data (i.e. network bandwidth, machine-room temperature, server load average, etc). It stores the data in a very compact way that will not expand over time, and it presents useful graphs by processing the data to enforce a certain data density. I wrote this software a long time ago, but never completed the project it was intended for. These days I don't use Tobias Oetiker's RRD anymore since I wrote my own one which is more suitable for Netflow aggregation. As such, this software is not actively maintained by me anymore. CommercialAll the software in this section are currently only available commercially (in most cases as part of some product of Frogfoot Networks or Blio Corporation. Please contact me or the respective company for details if you are interested in any of this software. The software in this section are by no means a complete list of commercial software I have written, but rather a list of commercial software which have a good chance of being released as open source software in the not so distant future. If you are interested in any device drivers, boot loaders, networking software, web sites, or anything else, please let me know. Chances are I have already written something to suit your needs or if not, I probably can do so if you pay me or one of the companies I work for. ipex - IP Exchange Softwareipex is used to exchange ip addresses. This is useful for building tunnels across hosts with dynamically assigned ip addresses. vpndog - VPN WatchdogThis utility should be executed from inittab. It pings a given ip address. If no response is received within the specified interval, it executes the specified program and starts all over again. rwhoisd - ARIN Compliant RWhois Server with LDAP backendRwhoisd is an implementation of the Referral Whois (RWhois) Protocol V1.5 as defined in RFC 1714. In addition it also complies to the guidelines for IPv4 as defined by the American Registry for Internet Numbers (ARIN). For more information, see http://www.arin.net/tools/rwhois.html This implementation uses LDAP as a database and the data must be stored in a schema which is compatible with the Frogfoot Networks LDAP database schemas. libappmark - Connection tracking helper library and programsThis library contains a tool to add various connection tracking rules to iptables to track complex protocols such as ftp or various peer to peer protocols. In addition it provides a library interface for looking up supported protocols by their names or netfilter mark values. ftc - Frogfoot Networks Traffic Control UtilityThis is a frontend for tc which can be used to configure complex bandwidth management policies on any Linux PC. Although not as powerful as tc, this utility is much more user friendly and allows you to setup very complex policies without confusing yourself. Some features include: A configuration format which reflects the hierarchical nature of QoS policies, user-friendly error messages, advanced rules checking, and automatic calculation of many parameters. Currently, this utility uses a combination of the Hierarchical Token Bucket and Stochastic Fair Queueing queueing disciplines and therefore depends on the 2.4.20 kernel or later and the latest iproute2 utility. libtrd - Tiny Round Robin Database (TRD)This is a Round Robin Database similar to the famous rrdtool by Tobias Oetiker. The main differences between his implementation and TRD are
Three utilities are also included in this package which allows you to create, update and export samples from TRD databases. libfat - Flow Aggregation Tools (FAT)This is a library for aggregating and storing traffic flow data in various ways. It supports three types of databases:
Three utilities are also included in this package which allows you to create, update and export samples from FAT databases. tuxflow - A lightweight Netflow collectorThis is a fast, leightweight Netflow collector. The server only collects netflow data and can be extended using its plugin api to process the data. It currently supports three different plugins: a module which stores data into a PostgreSQL database, a module to store top flows (sorted by source address, destination address, or protocol), and a module which aggregates flows into predefined groups and store those flows in round robin database(s) which can be used to generate time-based graphs of traffic for each of those groups. A NetFlow is network traffic information exported (via UDP) to an external machine. The external machine processes such information to produce network traffic accounting, network billing, network monitoring, etc. flowproc - Flow processing for Frogfoot PortalThis collection of utilities fetches flows stored on the Frogfoot Netflow collector, and processes them. It also includes utilities for exporting processed data for use by the portal web interface. PendingThis section contains some software I have written which are finished but not yet released (most probably because it was written to support another software package which is not finished yet). If you are interested in any of this software and can't wait for it to be released, please let me know. cob - Common Object BrokerCOB allows groups of applications to send objects to each other. Since COB allow multiple concurrent connections, it also serves as a data multiplexer. |