node package manager


Quassel web interface


A web client for Quassel (requires a running quasselcore)

❗ Your node (NOT quasselcore) version should be at least v0.11.13 (v0.12.x and above recommended). To install node last version, you can run :

npm -g install n
n latest

Install the server with:

git clone
cd quassel-webserver
npm install --production

or to update git pull && npm update

and run the following command: node app.js

The server is now running.

It is recommended to copy settings.js file to a new settings-user.js file

cp settings.js settings-user.js

File settings-user.js can then be modified to specify default quasselcore host and port.
If forcedefault is set to true, host and port will not be editable on client side.
If prefixpath is not empty, the webserver will not be accessible at https://server:64443/ but at https://server:64443prefixpath/;
initialBacklogLimit defines the number of messages that will de retrieved for each buffer on connection.
backlogLimit defines the number of messages that will be retrieved for a buffer on each request to fetch additional backlogs.

See the output of the command node app.js --help

Just go to https://yourserver:64443 and enter your quasselcore informations and credentials

You can use your own certificate for HTTPS mode. The key file is located at ssl/key.pem, and the certificate ssl/cert.pem.

You can generate a new self signed certificate with the following command:

openssl req -x509 -newkey rsa:2048 -keyout ssl/key.pem -out ssl/cert.pem -nodes

You can use a startup script to the app at system startup.

cp scripts/startup /etc/init.d/quasselweb

and then edit the file /etc/init.d/quasselweb and change BASEDIR, RUNASUSER and RUNASGROUP vars.

In you run behind /quassel location on your webserver, do not forget to edit settings-user.js file

prefixpath: '/quassel',
# rewrite ^[/]quassel$ /quassel/ permanent;
location /quassel {
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_http_version 1.1;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host;
    proxy_redirect off;

Needs activated mod_proxy_wstunnel and mod_rewrite

RewriteEngine on
RewriteRule /quassel/p/socket(.*) ws://$1 [P,L]
ProxyPass /quassel

Copyright (c) 2014-2016 Joël Charles
Licensed under the MIT license.