A bouncer (BNC for short) is a piece of software used to relay the communication between an IRC client and the network it is connected to, acting as a Proxy.
So, whats the point you ask? The reasons and benefits of using a bouncer are many and include hiding the real IP you are connecting from, protecting your nickname and channel from being taken on networks that don’t provide channel-/nickname registration and most of the time they’ll also notify you of private messages that came in when you’ve been disconnected – of course only when the bouncer can stay online being connected from a server.
From one bouncer to an other, the functionality differs and that’s where this comparison of the most common ones tries to help.
All of the below tested bouncers are compiled from source since the most packages provided by distributions usually are outdated – if there are any packages provided at all.
First, we’ll start with the oldest and well-known psyBNC and see how it’ll hold up to its modern counterparts.
The latest available download is from June 2005 October 2008 so in that case it’d be a sure bet to even rely on the package available from the distribution of your choice but i’ll install it from source nevertheless.
The configuration is pretty painless and even sports a ncurses-powered ASCII-interface. Adjust the options as you see fit (at least set up an user), exit the configuration screen and enter a quick “make” – if everything went right you’re ready to run the compiled executable after a little while.
psyBNC has the usual features like logging messages while you’re disconnected, keeping your nick, has an integrated partyline, supports the use of vHosts and also supports the use of SSL for all connections – however SSL from your client to the bouncer is not enabled by default and must be enabled in the config-file.
Speaking of configuration, changing settings and setting up new users and networks can be done only via IRC as there is no official webinterface to bouncer provided.
All in all, psyBNC is a solid bouncer with a host of features to explore and basically does everything you’d expect from a bouncer, however configuring it seems to be a daunting task for the new user because of the sheer number of commands and options.
The next bouncer we’ll take a look at is shroudBNC or sBNC for short.
The most recent release of sBNC is version 1.2 for which there is no webinterface available as opposed to its legacy version, 1.1 where you can configure some aspects of the bouncer via the web.
Installing it is just as painless as psyBNC and the initial configuration is done when you start the bouncer for the first time. To get you started easier the bouncer provides you with an example on how to connect to the network of your choice and also points to its generic help.
Just as with psyBNC, the configuration is done via IRC but is structured a bit clearer and is way less confusing and overwhelming. SSL connections both for clients and servers are also supported and the bouncer is scriptable with the well-known language TCL.
Moving on to the muh bouncer:
Installing the muh bouncer is just as painless as the others, however the initial configuration needs to be edited by hand.
Once you’ve done that the process is the same as with the others – connect to the bouncer, join channels – done. muh logs messages you get while you’re away and replays them on command, the other options available include reconnecting to the network and re-reading the config-file which about sums up what you can do.
Theres no support for any kind of encryption so think twice when you connect from public networks like WiFi hotspots and public libraries – your password could easily be logged or sniffed.
Overall, muh really is a bare-bones approach to an IRC bouncer – no frills, no fancy things to play with but all the really necessary features.
The final candidate in this review is ZNC:
The installation of ZNC is no different from the others and a basic configuration will be created on the first run – after that you can configure it either from IRC or the provided webinterface where you can configure every aspect of the bouncer and the users.
Log replay, Away-logging and auto identify are just a few of the modules that are provided with ZNC – there are many more available, like one that extends your bouncer with Twitter functionality. If you want to create your own modules you can do so either in C++, TCL or PERL programming languages.
ZNC, just as the other bouncers, is capable of using vHosts and SSL support is offered for every connection, from client to bouncer and from bouncer to the server.
Summing it up, ZNC is the winner because it is the most feature-complete and conveniently usable bouncer from the above ones, sBNC makes for a second place, psyBNC third and muh finishes last because it lacks encryption capabilities which is not acceptable when sensitive data such as passwords are involved.
So, what bouncer do you use and why?