ZNC + Irssi + Bitlbee = CHAT WIN

So I recently made some adjustments to the way that I do my chats and thought it might be interesting to share. So in keeping with my extremely nerdy and sparse blog posting, I bring you this installment.

The objective: maintaining a bunch of connections to IRC and IM networks as persistently and easily as possible.


ZNC is a very nifty IRC proxy. I’ve used IRC proxies in the past, but I remember not being entirely satisfied with whatever I tried, so I haven’t played with them in some time. Well, Darren Kitchen of Hak5 did a little segment (13 minutes into episode 1104) about ZNC that really interested me.

Apparently, ZNC is written in raw C++, so it’s fast and efficient, it’s exceedingly simple to set up, and it even has a very nice web interface that allows you to manage everything. Being an IRC proxy daemon, ZNC launches, gets and stays connected to any IRC servers or channels that you have configured, and awaits the user to connect. The user is then able to use any IRC client to “reattach” to the IRC sessions in progress: all the channels appear, and the last X (configurable) lines of conversation are thrown at your IRC client, with timestamps.

It can auto-authenticate with nickserv services, prevent you from accidentally parting channels, change your nick/status when you disconnect, try and keep your nick on a server with no nickserv, and a whole bunch of other features through loadable modules. Again, I was really impressed at just how straight-forward ZNC is to set up and use.

So I was just using irssi under screen on my server for IRC, and various GUI apps for AIM/GTalk (Adium on OS X and Pidgin on linux). When I reboot the server or restart irssi, I reconnect to all the servers and usually have to manually identify with a couple nickservs. (I’m sure there’s an irssi script for this; just never bothered.)

Now, ZNC launches when I boot up the server and it connects to about 7 different IRC servers. (I wasn’t even participating on a few of them, just due to the annoyance of rejoining them with the old setup.) I then use irssi under screen (just like before) except this time, I can restart it and nobody can tell. I can even connect with more than one client, so I could leave my irssi running under screen all the time, and also use a GUI or Android IRC client if I feel like it.


I suppose it was after I had ZNC up and going that I remembered a tool I used some time ago. It’s called Bitlbee and it’s essentially an IRC server with a built-in “service” that allows you to connect to any of the popular IM services. So all your buddies are just in the channel with you and you can use “Nick: Hi” to chat with them, or use a PM for a dedicated window.

So, living up to my AIM “screen name”, ThreadUsesIRC, since they wouldn’t make the switch with me, I just made it look like they did. :D


Oh yeah, and if you’re on OS X and want Growl notifications when someone highlights or PM’s you on irssi, this page has a great solution. I have it set to automatically restart 60 seconds after wake on my Air, so I get them even if I haven’t reattached to the session yet.

On Android, using Trillian is still loads easier on the battery than an IRC client for being connected all day.

I think I’ve covered all the big stuff. I really like irssi and its themability, split windows, and its ability be long-running under screen on the server. It means reattaching is an instant away via a global hotkey.

And now I’ve found a really easy to use, full featured tool to keep all my IRC and IM connections open all the time and in one place.

Do leave a comment if you have any thoughts or questions !

Update 2012-08-20: Per request, I’m providing the oscar-thread irssi theme which is basically px’s oscar theme on the irssi themes page with some modifications of my own. Extract the zip and drop the .theme file in your ~/.irssi dir and use /set theme oscar-thread from within irssi to set the theme. Another trick I enjoy is using a particular color profile within my terminal app to visually differentiate it from my other terminal windows.

Tuesday, April 10th, 2012 Reviews, Software

5 Comments to ZNC + Irssi + Bitlbee = CHAT WIN

  1. What irssi theme are you using? can you put your dot files?. Thank’u!

  2. Alex on August 20th, 2012
  3. What irssi theme/config? Thanks

  4. Fran on August 20th, 2012
  5. Alex/Fran, I’ve added my theme file. WordPress complained that the .theme file wasn’t allowed, so rather than figuring out how to resolve that, my lazy ass decided to just zip it. :)


  6. thread on August 20th, 2012
  7. Thought about using irssi-proxy as the bouncer?

    I’ve had ZNC going for a while now and it’s okay. Was considering switching to irssi + the proxy to simplify the setup as I migrate to a new server.

  8. jhg on March 28th, 2016
  9. This looks dope. I just read http://www.garion.org/irssi/irssi-proxy.php

    Thank you for the heads up, jhg!

  10. thread on April 15th, 2016

Leave a comment

Latest Tweets


My History