Features

ezbounce is an Internet Relay Chat (IRC) proxy server.

Features include:

  • Multi-user support
  • Full access control (ban and allow lists)
  • Secure Sockets Layer (SSL) and IPv6 support
  • Lots of tweakable settings

In addition to basic connection proxying, it has numerous features for the serious IRC user.

  • Detach/Reattach: lets you stay on IRC while disconnected from the proxy
  • Automatic reconnection if connection to IRC lost
  • Chat logging
  • Fake idents
  • Listen/connect on different interfaces
  • DCC chat/send proxying
  • ... and more

News

Version 1.99.15 is released:
[source code (420K)]
[patch against 1.99.14 (3.9K)]

This is another small update that fixes several compile errors under GCC 4.4 and certain newer Linux systems. A potential memory leak is also fixed with the flood protection mechanism.

Version 1.99.14 is released:
[source code (419K)]
[patch against 1.99.13 (7.9K)]

This is a small update that fixes a couple of annoying problems: logging while detached was broken, and the source code did not compile under GCC 4.3.0. There are a few other changes, but no new features.

Version 1.99.13 is now available:
[source code (419K)]
[patch against 1.99.12 (85K)]

Changes in this version:

  • The File Library has been renamed to the "Virtual File System," abbreviated as the "VFS." This is a more fitting name for what it tries to do.
  • Certain configuration options and user preferences have been renamed as a result. The old names will continue to be handled.
  • Improved VFS handling of corrupt database files.
  • Added a basic flood protection mechanism (currently only used while detached).
  • Added more logging to user Event Log
  • Cleaned up logging in proxy log and user chat logs.
  • Fixed a crash that could occur after rehashing.
  • Documentation updates.

Version 1.99.12 is now available:
[source code (408K)]
[patch against 1.99.11 (78K)]

Changes:

  • Fixed crashes with certain clients on UHNAMES-capable servers (e.g. mIRC on ConferenceRoom)
  • Fixed 'file send' command not working (which sends files to IRC users)
  • Fixed 'make install' target
  • Improved robustness of IRC parsing and address caching
  • Implemented Unix-style file permissions and access credentials for the File Library
  • Added support for fake idents via oidentd. See documentation for details
  • Added user preference to toggle display of channels parts on IRC server disconnect -- "part-chans-on-disconnect"
  • Added "file chmod" command
  • Improved "file ls" command
  • Updated File Library documentation

Here is version 1.99.11:
[source code (389K)]
[patch against 1.99.10 (151K)]

Changes:

  • Fixed file library 'rm' command leaving files on disk
  • Fixed crash if DCC send to proxy could not create file
  • Fixed crash if listening ports were all in use during program start up
  • Fixed security issue with chat logging and cleverly named channels (arbitrary files could be created, but only under the file library directory hierarchy, and only if the user was admin)
  • Fixed memory leaks in the file library
  • Lots of documentation updates (more work remains)
  • Overhauled the DCC-related code, finishing some broken features and fixing several problems (including prematurely terminating DCC sends)
  • Added a user Event Log, stored in event.log in the user's home directory in the file library. It's currently very basic, but will be expanded later to log more detailed events.
  • Updates to socket/resolver code
  • 'CHANINFO' and 'SERVINFO' commands now display some information about logging

The patch is rather large due to reorganization of some source files. If you're upgrading via the patch, you will need to re-run the configure script.

Version 1.99.10 is now available:
[source code (386K)]
[patch against 1.99.9 (60K)]

Changes:

  • Fixed auto-reconnect ignoring port and SSL setting
  • Fixed user preferences file not being periodically saved
  • Fixed potential corruption in user preferences file
  • Added automatic chat logs compression -- see ChatLogging.txt for setup details
  • Added '-r' (aka '--real-id') to reattach command, which attaches to real connection ID (instead of the non-constant 'session number')
  • Added 'greet-method' config option, which controls how verbose of a greeting clients get after sending USER and NICK commands
  • Improved handling of corrupt/non-standard messages from IRC servers
  • The following config options have been removed: drop-on-disconnect, max-logfile-size, and kill-on-full-queue
  • Documentation updates

Not a big update, though some annoying problems were fixed, and chat log compression was added. The documentation was updated a bit to eliminate obsolete sections and describe new features. The sample configuration files were also updated to remove references to outdated options. A lot of work still remains on the documentation, however.

Version 1.99.9 is now available:
[source code (384K)]
[patch against 1.99.8 (41K)]

Mainly a bugfix release. Highlights:

  • Fixed compile errors under gcc 4.2
  • Fixed compile errors under gcc 3.3.x
  • Fixed bold/color code filtering in chat logs
  • Fixed fake ident support, and reintroduced mdidentd fake ident daemon (rewritten, and now under tools/)
  • Fixed 'GET' and 'SET' commands being too strict (and rejecting examples from the documentation)
  • Fixed 'WRITE' command
  • Fixed message not being broadcast on shutdown
  • Chat log file names now contain timestamps in YYYY-mm-dd format

Requirements

The following are required to compile the program:

  • A C++ compiler with support for the STL and pthreads
  • If using gcc, version 3.2 or later is required
  • GNU Make
  • OpenSSL is required for SSL support
  • Boost C++ libraries are required for certain features

ezbounce is developed under Linux but has also been successfully tested under FreeBSD (version 6.2).

Download

Source Code Packages

  • Current (development) version: 1.99.15
    [MD5: f5ae2aaa3766e48f53c138255e96207c]

Binary Packages

  • (Currently unavailable)

Documentation

Subversion Repository

The latest source code is always available on a Subversion repository, hosted by SourceForge. You may check out the project sources via the following command:

svn co https://ezbounce.svn.sourceforge.net/svnroot/ezbounce/trunk ezbounce/

Commit announcements are sent to a mailing list which you may subscribe to.

In addition, a web interface to the repository is available here.

Support

For questions or comments, you may contact me.

Also check out the project page at SourceForge for a bug tracker and forums.

About

ezbounce was written by Murat Deligonul.

The logo at the top of this page was contributed by Sean Sperte.