If you’re hip, cool, trendy and know exactly where it’s at then, like me you’ll use IRC a fair amount. IRC is a convenient way for groups to communicate and has been used for many many years. Unfortunately, when you close your IRC client, you disconnect from the network and you never see any of the messages sent between then and the time you next connect. One of the ways to fix this is to use a program like Quassel. Quassel has two parts, the core sits on a server and is permanently connected to your IRC networks and keeps a list of messages that are received. The client then connects to the core and on connection receives any messages that you missed while offline, and then continues to receive messages as they come.
Getting the Quassel service set up correctly on Windows requires a bit of know how, so I thought I’d detail my efforts here. To get Quassel going, we’ll install it and set up a service so it can run in the background rather than requiring someone to be logged in all the time, and then (optionally) configure SSL so we can have encrypted connections between the client and server.
1. Install Quassel
Quassel has no handy dandy Windows Installer package, so you’ll need to download the zip file and extract it to your preferred directory. I put it in C:\Program Files (x86)\Quassel\Core.
Note that for 32-bit versions of Windows, you should install quassel to a subdirectory of C:\Program Files.
2. Install Windows Server 2003 Resource Kit Tools
To make our lives easier, Quassel has no built-in support to run as a Windows Service. For an application to run successfully as a service, it needs to do some extra communication with the Windows Services API, and as a standard run-of-the-mill program, Quassel doesn’t do this. This means we need a utility that can act as the interface to the Windows Service API, and simply run and monitor the Quassel Core process. Fortunately, Microsoft provides such a utility call srvany, and the most recent version is in the Windows Server 2003 Resource Kit Tools, downloadable from the Microsoft Download Centre.
Don’t forget to make a note of where you installed the tools to (C:\Program Files (x86)\Windows Resource Kits\Tools is the default), srvany should be in that folder.
3. Create the Quassel Service
Once installed, you’ll need to open the command prompt (start>type ‘cmd’) and run the following commands to add the service and appropriate registry entries:
sc create QuasselCore bin= “<path to srvany (C:\Program Files (x86)\Windows Resource Kits\Tools\srvany)>” DisplayName= “Quassel” obj= “NT AUTHORITY\NETWORK SERVICE”
reg add HKLM\SYSTEM\CurrentControlSet\Services\QuasselCore\Parameters
reg add HKLM\SYSTEM\CurrentControlSet\Services\QuasselCore\Parameters /v Application /t REG_SZ /d “<path_to_quasselcore (C:\Program Files (x86)\Quassel\Core\quassel.exe")>”
This will create a service for srvany and configure it to run the quassel server when it’s started. The service will run as the NETWORK_SERVICE user, which has permissions suited for services exposed to the network – namely, not much. This means that if some craft hacker uses a flaw in Quassel gain access to your machine, he’s not going to be able to make any dangerous changes without first dealing with the Windows security system. In Windows Vista and later, Quassel will store its configuration data in C:\Windows\ServiceProfiles\NetworkService\AppData\Roaming\quassel-irc.org. The NETWORK_SERVICE account should already have full access to that area.
4. Start the Quassel Service
You can start the quassel service by opening the services snap-in (start>type ‘services.mmc’) and find the ‘Quassel’ service, then click start on the left hand side, or you can run the following command:
net start QuasselCore
This should tell you whether the the service started OK. If it did great! If it didn’t make sure that Quassel runs OK when you start it straight on its own, and that you entered in the correct path in the registry keys in step 3.
5. Configuring SSL
If you don’t want anyone to be able to snoop on communications as they pass from the client to the core, you’ll need to generate yourself an SSL certificate and put it in a place that Quassel can use it. If you have access to Linux, how is the time to get this out and run the command on Quassel’s FAQ Page.
If you don’t have access to Linux, then you’ll need to install Cygwin, which is a port of various Linux tools to Windows. I’m not going to spend ages going through how to install Cygwin, because it’s easy and there are other places on the internet that will tell you how. I should add though, that you should make sure that ‘bash’ and ‘openssl’ are installed when you go to install Cygwin. Once you’ve installed Cygwin, you can also head on over to Quassel’s FAQ Page and run that command.
Upon running the command you’ll get a whole load of prompts. You may fill these out to your hearts content, although note that the Common Name field should be the domain name you’ll enter into clients to connect to your server (worthing.pixa.org.uk in my case). If your server is known by different names, on the LAN and on the internet then this page has a handy guide for configuring OpenSSL to ask you for additional names.
Once you’ve copied the PEM file you generated to the appropriate place, you may want to restart the Quassel service. Note that for our purposes, the SSL certificate will want to be copied to C:\Windows\ServiceProfiles\NetworkService\AppData\Roaming\quassel-irc.org, not the folder that the FAQ suggests because we’re running Quassel as a different user.
6. All Done
All that’s left now is to connect a client, connect to your preferred network, join a channel and get chatting.
0 comments:
Post a Comment