QuasselWiki » History » Version 42

Version 41 (sph, 01/25/2009 11:32 PM) → Version 42/217 (Datafreak, 02/01/2009 03:41 PM)

h1. Quassel


h2. Introduction

Quassel is a program to connect to an IRC network. It has the unique ability to split the graphical component (quasselclient) from the part that handles the IRC connection (quasselcore). This means that you can have a remote core permanently connected to one or more IRC networks and attach a client from wherever you are without moving around any information or settings. However, Quassel can easily behave like any other client by combining them into one binary, which is referred to as "Quassel Mono".

Quassel's distributed approach:

h2. Getting started

Setting up Quassel is fairly easy and straightforward. Since we have a separated core and client, we will configure them in two steps. If you are using the Quassel Mono version, then you can skip the core part as this is done internally.

h3. Installation

The best and most reliable way is to simply install the packages provided by your distribution. However, we do offer some static binaries at along with Git instructions for those who prefer to compile Quassel themselves.

h3. Connecting to the core

If you wish to setup an SSL connection between the core and client, you must have compiled both with the "-DWITH_OPENSSL=ON" cmake option. Generate a key with the following command on the server running the core:

*Version before 0.4*
> <pre>openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout ~/.quassel/quasselCert.pem -out ~/.quassel/quasselCert.pem</pre>
> The "~/.quassel/" directory may differ if the --datadir option was specified for quasselcore.

*Version 0.4 and later*
> <pre>openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout ~/.config/ -out ~/.config/</pre>
> The default config directory has changed in version 0.4 and the core's --datadir option has been renamed to --configdir.

Note that Kubuntu packages for Jaunty (9.04) and later do this step for you.

Now start the core and launch quasselclient on your local machine. A connection dialog will show up. Enter the IP address or hostname of the server running the core, enter the port number used by the core and select SSL if applicable. You can also specify a proxy but note that domain names will still be resolved locally (see "Qt4.4":

During the first connection, you will be guided through a graphical wizard to configure the core properly. Enter a username and password, this will be the administrator. Next, select a database backend (for now this is SQLite only). Click finish and your core is ready!

A configuration screen for adding new users and managing existing ones is under developement, but for the time being you can use a simple [[Manage core users|python script]].

h3. IRC Configuration

Now you have to specify which network(s) Quassel should connect to. First you will have to create an identity.


Set a real name (which doesn't actually have to be real) and add the nicknames you want to use. If the first nickname is not available, the second one (if specified) will be used instead. Change the other settings if you like, this is optional however.

After creating an identity, you have to define the IRC network(s) along with the servers they use. If Quassel was installed properly, there should be a preconfigured list of the most popular networks already.


Make sure you select the identity you just created (which should be the default). Click OK and you're done. Feel free to visit us in the #quassel channel on Freenode!

h2. Manuals

* [[Manage core users]]
* [[Buffer Views]]
* [[Build Quassel on Windows]]

h2. Known issues

* DCC chat and file transfers are not yet supported.
* The core does support multiple users but for now this can only be configured with a [[Manage core users|script]].
* There has been a client for mobile devices but as the codebase updated so quickly it has become outdated and incompatible with newer cores.
* See "Issues": for specific bugs and feature requests.
* [[FAQ]]

h2. Static Builds

* "Datafreak's Build for Windows": (required "MSVC Redistributable Package":
* "Phon's Build for Windows": (required "MSVC Redistributable Package": , SSL will not work.)
* "Datafreak's Build for Linux": (x86)
* "Jannik's Build for Linux":;O=D (x86_64)
* "Datafreak's static Core for Mipsel": (works on Asus Wl500g)