Detachable IRC Proxy: dircproxy

Because much of my work happens in IRC, I like to stay attached to the Freenode IRC server all the time. This was easy when I kept a desktop computer always on. But now that I use my laptop exclusively it’s impossible: every time I close the lid my IRC connection closes, so I can’t read what was said and nobody can send me a message.

So I went looking for something that could keep me online even while my laptop sleeps. I found dircproxy, a Detachable IRC Proxy that runs on Linux. It was easy to install from Aptitude in Debian but their version had one very annoying bug, so I compiled the current dircproxy source code and installed the new binary by hand. Now everything is sweet.

When I want to connect to Freenode, I actually connect to dircproxy, which in turn connects to Freenode. When I quit, dircproxy keeps my IRC nickname online and logs everything that happens while I’m away. When I return, dircproxy plays back the logs so I know who said what when, including private messages. It’s like I was never gone.

Aside from solving the basic problem of intermittent connectivity, dircproxy has other benefits. You can make it keep complete logs apart from the ones it uses internally. You can specify different nicknames for when you detach. You can customize messages to send when you detach and reattach, as well as auto-replies for when you are away. It has a long list of options I don’t understand, but they look good.

I was discouraged when I found a lot of dead links, but the project has been uploaded to Google Code and it’s getting some attention again. The Freenode dircproxy channel has 15 members. I hope they can attract more developers to the project. They also need some new links to get them past the old, dead ones. Blog it if you try it.