KiwiIRC

Updated 30 Octobre 2019

KiwiIRC

Introduction

KiwiIRC est un client IRC Web polyvalent.

Préparation d'un conteneur LXC

Nous recommandons d'installer KiwiIRC dans un conteneur dédié et de le configurer selon le manuel.

Installation logicielle

Installez les outils nécessaires :

emerge -a sys-apps/yarn dev-lang/go

Création d'utilisateurs

Créez l'utilisateur système kiwiirc :

mkdir -p /var/calculate/www

useradd -r -s /usr/sbin/nologin -d /var/calculate/www/kiwiirc -m kiwiirc

Connectez-vous en tant que cet utilisateur que vous venez de créer :

su - -s /bin/bash kiwiirc

Compilation du front-end KiwiIRC

Récupérez le code source de KiwiIRC sur GitHub :

git clone https://github.com/kiwiirc/kiwiirc

Passez dans le répertoire du projet :

cd kiwiirc

Éditez le fichier de configuration pour chat.example.org :

~/kiwiirc/static/config.json
{
    "windowTitle": "Kiwi IRC - The web IRC client",
    "startupScreen": "welcome",
    "kiwiServer": "http://chat.example.org/webirc/kiwiirc/"
    "restricted": true,
    "theme": "Default",
    "themes": [
        { "name": "Default", "url": "static/themes/default" },
        { "name": "Dark", "url": "static/themes/dark" },
        { "name": "Coffee", "url": "static/themes/coffee" },
        { "name": "GrayFox", "url": "static/themes/grayfox" },
        { "name": "Nightswatch", "url": "static/themes/nightswatch" },
        { "name": "Osprey", "url": "static/themes/osprey" },
        { "name": "Radioactive", "url": "static/themes/radioactive" },
        { "name": "Sky", "url": "static/themes/sky" },
        { "name": "Elite", "url": "static/themes/elite" }
    ],
    "startupOptions" : {
        "channel": "#example-channel",
        "nick": "guest-n?",
        "server": "irc.freenode.net",
        "port": 6667,
    },
    "embedly": {
        "key": ""
    },
    "plugins": [

    ]
}

Si vous utilisez ReCaptcha, ajoutez la clé du site dans les startupOptions de la configuration :

~/kiwiirc/static/config.json
"startupOptions" : {
    "channel": "#example-channel",
    "nick": "guest-n?",
    "server": "irc.freenode.net",
    "port": 6667,
    "recaptchaSiteId":"secret"
},

Installez les dépendances du paquet :

yarn install

Vous pouvez maintenant procéder à la construction :

yarn run build

Installer WebircGateway

Récupérez le code source de WebircGateway sur GitHub :

cd

git clone https://github.com/kiwiirc/webircgateway

Procédez à la compilation :

cd webircgateway

make

Copiez le fichier de configuration type :

cp config.conf.example config.conf

~/webircgateway/config.conf
[server.1]
bind = "0.0.0.0"
port = 80

[fileserving]
enabled = true
webroot = /var/calculate/www/kiwiirc/kiwiirc/dist

[transports]
websocket
sockjs
kiwiirc

[allowed_origins]
"*://chat.example.org"

# Connections will be sent to a random upstream
[upstream.1]
hostname = "irc.freenode.net"
port = 6667
tls = false

[gateway.whitelist]
*.freenode.net

Si vous utilisez ReCaptcha, ajoutez la clé du site dans les startupOptions de la configuration :

~/webircgateway/config.conf
[verify]
recaptcha_key = "site_id"
recaptcha_secret = "secret_id"

Lancer KiwiIRC

Créez un script init pour KiwiIRC :

/etc/init.d/kiwiirc
#!/sbin/openrc-run
# Copyright 2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

name="Kiwiirc gateway server"
description="Kiwiirc gateway server"
command_user=kiwiirc
command=/var/calculate/www/kiwiirc/webircgateway/webircgateway
command_args="--config /var/calculate/www/kiwiirc/webircgateway/config.conf"
directory=/var/calculate/www/kiwiirc/webircgateway
pidfile="/run/kiwiirc.pid"
command_background=true
output_log=/var/log/kiwiirc.log
error_log=/var/log/kiwiirc.log

depend() {
        use net
}

start_pre() {
        checkpath -f -o kiwiirc -m 0600 /var/log/kiwiirc.log
}

Modifiez les privilèges pour que le serveur KiwiIRC puisse démarrer :

chmod 0755 /etc/init.d/kiwiirc

Démarrez le serveur KiwiIRC :

/etc/init.d/kiwiirc start

Ajoutez KiwiIRC au démarrage automatique :

rc-update add kiwiirc