KiwiIRC

Обновлено 30 октября 2019

KiwiIRC

Введение

KiwiIRC - веб-IRC клиент, предоставляющий богатый функционал.

Подготовка LXC-контейнера

Мы рекомендуем выполнить установку KiwiIRC в отдельном контейнере, настроив его согласно инструкции.

Установка системных пакетов

Установите вспомогательное программное обеспечение:

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

Создание системного пользователя

Создайте системного пользователя kiwiirc:

mkdir -p /var/calculate/www

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

Залогиньтесь новым пользователем:

su - -s /bin/bash kiwiirc

Сборка KiwiIRC фронтэнда

Получите исходный код KiwiIRC из GitHub:

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

Перейдите в каталог проекта:

cd kiwiirc

Настройте конфигурационный файл для 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": [

    ]
}

При использования ReCaptcha, добавьте ключ сайта в параметры startupOptions в конфигурации:

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

Установите зависимости проекта:

yarn install

Соберите проект:

yarn run build

Установка WebircGateway

Получите исходный код WebircGateway из GitHub:

cd

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

Выполните сборку проекта:

cd webircgateway

make

Скопируйте пример конфигурационного файла:

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

При использования ReCaptcha, добавьте следующие параметры в конфигурацию:

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

Запуск KiwiIRC

Создайте сценарий запуска 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
}

Установите права на запуск сервера KiwiIRC:

chmod 0755 /etc/init.d/kiwiirc

Запустите сервер Kiwiirc:

/etc/init.d/kiwiirc start

Добавьте KiwiIRC в автозагрузку:

rc-update add kiwiirc