dircproxy for always-on, unobtrusive IRC

I use IRC a lot for asking questions (and hopefully answering some as well) about Free Software projects, particularly Ubuntu-AU.  Most of the time i use IRC from my laptop, which means that every time i shut the lid or disconnect from the wired network and reconnect via wireless, my IRC connection drops out.  This results in disconnect/reconnect messages which inconvenience my fellow users, and sometimes even causes multiple accounts to be logged in.  I've also had a few instances of flaky Internet access causing multiple disconnects/reconnects in quick succession.  The solution i came up with for all this was to run an IRC proxy on my personal server.  I found dircproxy a really simple, easy-to-use proxy server which just worked.  Check out my wiki page for more info.

Comments

Config update

Here's what my config looks like now:

channel_rejoin -1
disconnect_existing_user yes
chan_log_timestamp yes
other_log_timestamp yes
log_events -client,-join,-part
connection {
password "PASSWORDFORDIRCPROXYCONNECTION"
server "irc.freenode.net,FREENODEPASSWORD"
join "#mychannel1,#mychannel2"
}

Explanation of the additional options:

  • channel_rejoin: Doesn't rejoin channels if we get kicked. This makes us better freenode citizens.
  • disconnect_existing_user: dircproxy only allows one connection at a time - this setting is useful if it thinks i'm still connected and i've moved my laptop to a new site.
  • log_events -part: doesn't log when people leave the channel. I decided that i didn't care about this because it just added noise to my logs on reconnect. Some people may want to leave it off.
  • connection section: this adds a password to my dircproxy connection, automatically logs me onto freenode with my freenode password (so that i don't get kicked immediately for joining so many channels at once), and gives freenode a list of channels for me to join automatically.

A few options

I ended up adding a few non-default options to the config file.  They are:

chan_log_timestamp yes
other_log_timestamp yes
log_events -client,-join

The last is to get rid of messages about me connecting or disconnecting from dircproxy itself and about other people joining the channel; and the first two are to add timestamping to the log for when i'm disconnected.