IRC Proxying/Bouncing with Spexhost and psyBNC

My current lifestyle tends to mean I move around a bit, connecting and disconnecting from the internet as required. However, I still want to use IRC to keep up with my online friends. One of the things about IRC is that ideally you want to leave it going all the time so that when you return you can see what’s been happening in your absence.

The simple answer is to use an IRC proxy (often called a bouncer) hosted on a well-connected system somewhere on the internet. The proxy remains connected all the time and logs everything that happens, you just then connect to the proxy as required and it plays back everything you missed.

The problem is that it can be hard to find a suitable system to host your proxy on. My normal solution would be to ask a friend if they would host it – but many IRC servers ban multiple connections from the same IP address so that would cause problems for their own proxies. The next option is commercial hosting, but a lot of hosting companies ban IRC proxies. So, it was time to look for a specialised hosting company and I decided to go for Spexhost.

They offer a suitable shell account (one login, up to two concurrent users) with a pre-configured IRC proxy called psyBNC for US$4/month. I signed up online and paid by Paypal and they responded with my login information within 12 hours. However, the documentation for setup wasn’t as good as I’d have liked, particularly around logging/history, so I decided to write this to help the next person.

Setting up MIRC with psyBNC

1. Use MIRC (or your favourite IRC client) to set up a new server with the details from Spexhost (Tools – Options – Servers). Remember to include the server name, port number and your password.

2. Change the ident and the first part of the email address in MIRC to your spexhost username (Tools – Options – Connect).

3. Connect to the server. psyBNC will open a private channel to you that you can use to send it commands.

4. First you need to setup the IRC servers you wish to connect to. In the psyBNC channel type the following (these are obviously my settings for undernet, modify as required):

/addserver us.undernet.org : 6667
/addserver eu.undernet.org : 6667

5. Next up we have the logging. I want to log everything that happens in my usual channels (psyBNC automatically logs private messages so this doesn’t need to be setup):

/addlog #wellyhaven : *
/addlog #nz : *

6. At this point you should be connected to one of the servers and logging your desired channels (use /listservers and /listlogs to check). Next we need to set MIRC up to automatically retrieve the contents of the logs when we reconnect. I added the following commands to the Perform section (Tools – Options – Options – Perform):

/playprivatelog
/eraseprivatelog
/playtrafficlog last
/erasetrafficlog

And that should be it. You can close MIRC (or, in my case, take your phone out of bluetooth range of the laptop and thereby lose your connection) and when you restart it and connect to your IRC proxy you should be back in the same channels with everything you missed.