OmniBiff |
About Download Readme License Docs Mailing List |
README
OmniBiff Copyright (C) 2000-2002 Jason Lowdermilk (lowdermilk@users.sourceforge.net) OmniBiff is a Java framework for monitoring multiple email accounts of any type, including web-based email accounts. This is free software under the terms of the GNU General Public License (GPL). It comes with no warranty or support, and redistribution of this program must comply with the the GPL. See the "LICENSE" file for details. This product includes software developed by the Apache Software Foundation (http://www.apache.org/). Requirements ============ JDK 1.2 or higher curl (compiled for https) is required in order to support Hotmail accounts. This is because Hotmail uses SSL, which OmniBiff does not not implement internally. Source code and pre-compiled binaries for most platforms can be found at http://curl.haxx.se Jacol 0.32 or higher. See http://jacol.sourceforge.net/ GNU CLISP 2.27 or higher (required by Jacol). See http://clisp.sourceforge.net Quick Start =========== To configure OmniBiff: run: omnibiff-setup Browse to http://localhost:17000/ and follow the prompts. Then, to run OmniBiff (with the native window): omnibiff If you chose a properties file other than the default, use: omnibiff -p /path/to/file Where "/path/to/file" is the full path to the properties file. Overview ======== OmniBiff is designed to monitor multiple email accounts of any type for new email. It has three modes in which it can be used: as a standalone program, as a server for external clients, or as a proxy for other biff programs. The "skin" used by omnibiff determines which mode it will run in. The standalone (native) mode will display email status using a skin called LEDSkin, which uses a small Java AWT window. The server mode uses HTTPSkin, which provides an HTTP-based network interface for external clients to use. Clients included in this distribution include a WindowMaker applet and a console tool which can be used from scripts, etc. An interface library is also included for writing new clients. The proxy mode uses POP3Skin, which acts as a pseudo-POP3 server. Other biff programs can interrogate this server, and omnibiff will return status according to the "real" mailbox it is monitoring under the covers. LEDSkin ======= This skin shows each mailbox as a small LED; green indicates no new mail, red indicates new mail, yellow means an exception has occured, and blue means uninitialized/suspended. The colors will dim a little while it is actively checking for new email. When you wave the mouse over an LED, the name of that mailbox will appear in the textfield. Left-clicking on an LED will suspend it, left-clicking again will resume it. (Useful for temporarily suspending checking, e.g., while reading your email). Right-clicking will invoke whatever action you have associated with that mailbox. This will eventually be configurable via the wizard, but for now must be done manually: add a line to the properties file for each mailbox you want to assign an action to, like this: LEDSkin.mailboxname=balsa This would cause "balsa" to be executed whenever you right-click on the mailbox named "mailboxname". HTTPSkin ======== This skin provides a HTTP-based API that can be used by external clients. A C-language interface library, libomnibiff, is included. This can be used to write external clients in C. Two clients are available: wmOmniBiff, which is a WindowMaker applet, and omnifetch, which produces output similar to "fetchmail -c". See the corresponding man pages for more information. POP3Skin ======== This may sound a little weird, but hear me out :-) POP3Skin implements a rudimentary POP3 server which responds to the commands used used by biff-checkers to check for the presence of new mail. This allows OmniBiff to function as a proxy for virtually any other biff-checking program, as long as they have the ability to check POP3 accounts. An example is gkrellm; it has a nice panel for monitoring email accounts. With POP3Skin, you can "trick" gkrellm into using that panel to monitor your Hotmail inbox, or any other server supported by OmniBiff. See the PROXY-HOWTO file for specific details. Bifflets ======== OmniBiff manages "bifflets", which are Java classes that know how to monitor a specific kind of email account. Bifflets for monitoring new kinds of email servers can be easily created and plugged-in without requiring any code changes to OmniBiff. As of version 0.40, OmniBiff uses a rules-based engine to query web-based accounts; this makes it possible to create bifflets for new webmail servers without writing any software at all. Installation ============ See the INSTALL file for installation/configuration instructions. Also take a look at the CHANGES file for a list of the things that have changed in this release. If you're interested in writing new bifflets or skins, take a look at the CONTRIBUTING file. Acknowledgements ================ OmniBiff includes the following open-source software components: NanoXML, "Copyrighted ©2000 Marc De Scheemaecker, All Rights Reserved". It is distributed under the zlib/libpng license. For more information, see http://nanoxml.sourceforge.net. Jacarta-Regexp, which is licensed under the Apache Software License, Version 1.1. I have included its license file as COPYING-jakarta See http://jakarta.apache.org/regexp/index.html for more information. Some Java classes from Surfboard (another project of mine) are included as well. Like OmniBiff, Surfboard is released under the GPL. See http://surfboard.sourceforge.net for more information. SecureProperties (a code snippet I posted to isavvix.com) is included. It is released under the LGPL license, as described in the COPYING-secprop file. See http://java.isavvix.com/codeexchange/codeexchange-viewdetail.jsp?id=95 for more information. SecureProperties includes encryption code from "Legion of the Bouncy Castle" library (http://www.bouncycastle.org). Its license is included as COPYING-bouncycastle. Special thanks to the following people: Frederick Roeber -- IMAP4 bifflet |