Project

General

Profile

QuasselWiki » History » Version 86

Version 85 (sph, 08/11/2010 05:40 PM) → Version 86/124 (sph, 08/23/2010 05:54 PM)

h1. Quassel

{{toc}}

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:

!distributed.png!

In simpler terms, the "monolithic" client is a response to requests for a client that behaves like every other IRC client. The monolithic client (GUI) is what makes the connections to the IRC networks. In normal operation, the client (GUI) connects to a core, it is completely incapable of connecting to anything else. The core receives connections from clients, and makes connections to the IRC networks, it also handles logging (currently everything gets put in the database).

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 http://quassel-irc.org/downloads along with Git instructions for those who prefer to compile Quassel themselves.

h3. Specific installation instructions

* [[Build Quassel on Windows]] (with Visual Studio)
* [[Build Quassel on Windows Mingw|Build Quassel on Windows]] (with MinGW)
* [[Build Quassel on Linux (english)]]
* [[Build Quassel on Linux (deutsch)]]
* [[Build Core On Ubuntu]]: Setting up Quassel core from the source code on Ubuntu server (mostly applies to Debian too)
* [[Building quasselcore on Ubuntu 8.04 Hardy Heron/x64 (old Qt4 libs)]]

h3. Connecting to the core

Before starting the core, you could set up [[Client-Core SSL support|Client-Core SSL encryption]] or have a look at the [[PostgreSQL|PostgreSQL article]] before moving on.
All that is completely optional.

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":http://doc.trolltech.com/4.4/qnetworkproxy.html#socks5).

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 back-end (for now this is SQLite only). Click finish and your core is ready!

More users can be added by passing command line arguments to the core (see [[Manage core users|Managing core users]]).

h3. IRC Configuration

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

!identity.png!

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.

!network.png!

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

* [[PostgreSQL]]: Setting up PostgreSQL database back-end
* [[SQLite]]: Some information about the SQLite back-end

* [[Autostart Core on Mac]]
* [[Blowfish Encryption Manual|Blowfish Encryption]]: Encrypt IRC messages in a channel or in a query
* [[Quassel Logging|Logging in Quassel]]: Fetching and searching the Quassel logs
* [[SSH Tunneling]]: How to tunnel the client-core connection over SSH
*
[[Client-Core SSL support|SSL support]]: How to encrypt the connection between clients and core
* [[Manage core users|User management]]: How to add users to the core

* [[Buffer Views]]: Filter your channels to the ones you really need
* [[Stylesheets]]
* [[Shortcuts]]

h2. Frequently asked questions

Check the [[FAQ]]

h2. Known issues

* DCC chat and file transfers are not yet supported.
* 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":http://bugs.quassel-irc.org/projects/quassel-irc/issues for specific bugs and feature requests.

h2. Static builds

h3. Linux

* "Datafreak's Build for Linux x86":http://www.datafreak.eu/downloads/linux/quassel-irc/ (Core only)
* "MarcLandis' Build for Linux amd64":http://quassel.marclandis.de/download/git/ (Core only)

h3. Mac

* "m4yer's Builds for Mac OSX":http://m4yer.minad.de/quassel/

h3. Windows

* "Datafreak's Build for Windows":http://www.datafreak.eu/downloads/windows/quassel-irc/ (required "MSVC Redistributable Package":http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2)
* "Phon's Build for Windows":http://phon.name/quassel/ (required "MSVC Redistributable Package":http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=32bc1bee-a3f9-4c13-9c99-220b62a191ee , SSL will not work.)

h2. Development

* Rules (TODO)
* [[Getting started]]

h3. Translation and git patches

Translation now uses .po-files and the best way to send in updates to these is by git patches.
[[Creating Translation git patches]]: Here you can find out how to create those git patches.

h3. Feature Drafts

* [[Blowfish Encryption]]
* [[Possiable_Scripting_Object]]