I use IRC both at home and at work. I also log-on while traveling. As such, I end up having two or more repositories of logs at any given time that remain segregated from one another. I miss what happens when I’m not logged-in. For some, this is par for the course. I am not usually one to settle for par, so I set about investigating a way to resolve this issue. I’ve known for a while about a program called Irssi, which is the definitive Linux IRC program. Irssi includes a “proxy” module that serves as a robust IRC bouncer. Unfortunately, I can’t get Irssi to compile under Cygwin. I set about searching for other solutions and was pointed at ZNC. ZNC seemed quite promising, so I gave it a spin. Unfortunately, it won’t compile under Cygwin either — at least, not with module support. ZNC without modules was too stripped down.
Not one to give up, I went and sought out the ZNC developers. It was no surprise that they had already run into this particular issue and had a solution already prepared. After a bit of fiddling, I managed to get ZNC to compile with modules and can now maintain a single, persistent IRC presence from anywhere!
What follows is the process I followed to get all this to work. I assume a basic knowledge of Cygwin and Linux commands here, and also assume that you have the correct Cygwin packages installed and a proper Cygwin home directory.