Установка shroudBNC во FreeBSD

Пробую установить незнакомый для меня irc-прокси на FreeBSD... Основные плюсы — вебинтерфейс (тут я б поспорил) и поддержка TCL (!).

Опять же оговорюсь, что авторство не преследую — статья имеет вид компилляции из нескольких источников и выполняется параллельно с моими действиями. Установилось у меня, установится и у вас...

Но писать дальше про него не буду, ибо ставлю (и уже пишу) ZNC.

0. Для установки создадим пользователя, пусть его зовут bnc (у меня уже создан для psyBNC), и заходим под этим пользователем. Мы же хотим, чтобы все было секьюрно?:)
Для опытов создаю папочку в домашней директории юзера:

mkdir sbnc
cd sbnc

1. Закачиваем и распаковываем версию 1.1 (как говорили остальные не очень стабильны)

wget http://mirror.shroudbnc.info/sbnc-1.1.tar.gz
tar -zxvf sbnc-1.1.tar.gz
cd sbnc-1.1

2. Конфигурим, компилим и ставим

./configure --enable-ssl
gmake && gmake install

Внимание! Юзает gmake, а не make, иначе будут ошибки рода «Makefile», line 12: Need an operator

3. Дальше правим конфиг:

cd ..
nano sbnc.conf

Тут есть ряд настроек, все смотрим тут, а мы же секьюрные такие добавляем порт с поддержкой SSL и правим нужный для «простого» соединения (md5 на усмотрение):

1
2
3
system.port=9000
system.md5=1
system.sslport=9001

Еще нам нужно добавить пользователя

1
system.users=user1

А в файлике users/user1.conf нужно добавить:

1
2
user.password=coolpassword
user.admin=1

А можно сделать проще (особенно если пароль с md5), запустить ./conftool
Эта утилитка добавит в конфиг настройки порта (главного) и пользователя с паролем., ну а дальше мы добавим порт для SSL в конфиг.

4. Создаем сертификаты (не выходя из директории /home/юзер/sbnc/) вводя пароли и т.п.:

openssl genrsa -des3 -out sbnc.key 2048
openssl req -new -x509 -days 600 -key sbnc.key -out sbnc.crt

Чтобы при каждом запуске нас не спрашивал пароль делаем так (оч важно для проверки через cron):

openssl rsa -in sbnc.key -out sbnc.key
cat sbnc.key sbnc.crt > sbnc.pem

5. Запускаем бнц:

./sbnc

Вроде работает! Для проверки соединимся с серваком через ирк.

6. Настраиваем веб админку:

Качаем эту гадость:

wget http://mirror.shroudbnc.info/sbnc-iface.tar.gz
tar -zxvf sbnc-iface.tar.gz

Копируем из папки webifc в директорию http сервера

7. Компилим модуль тикля. Для этого подрубаемся к серверу через ирк и набираем команду:

/msg -sBNC lsmod

Скорее всего ответ будет таким:

[20:33:55] <-sBNC> End of MODULES.

Если будут модули

[20:38:55] <-sBNC> 1: 8051618 ./tickle.so

то мы просто проскакиваем этот пункт.
Удостоверимся, что у нас стоит тикль, иначе устанавливаем.

pkg_info | grep tcl

Версия тикля должна быть более 8.4.

Переходим в папку с модулем и устанавливаем:

cd sbnc-1.1/tickle
./configure
gmake
gmake install

Ну и даем команду бнц на добавление модуля (в mIRC):

/msg -sBNC insmod ./tickle.so

Боунсер скажет что все прошло удачно, что может подтвердить команда lsmod.

8. Правим файлик sbnc.tcl, добавляем строчку source «scripts/iface.tcl» после секции # You should not modify this block но до секции # Load some useful procs.

Т.е. конфиг будет выглядеть так:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# This is an example configuration file for shroudBNC's TCL module
# It will be sourced whenever you (re-)load the tcl module or
# use the tcl command 'rehash' (e.g. /sbnc tcl :rehash)
 
# You should not modify this block
source "scripts/namespace.tcl"
source "scripts/timers.tcl"
source "scripts/misc.tcl"
source "scripts/variables.tcl"
source "scripts/channel.tcl"
source "scripts/pushmode.tcl"
source "scripts/bind.tcl"
source "scripts/usys.tcl"
source "scripts/socket.tcl"
source "scripts/botnet.tcl"
 
source "scripts/iface.tcl"
 
# Load some useful procs
source "scripts/alltools.tcl"
 
#setctx "example"
#source "scripts/tcl.tcl"
 
#set ::account354 "example"
#source "scripts/account.tcl"
 
#set ::versionreply "example"
#source "scripts/version.tcl"
 
#source "scripts/partyline.tcl"

После прописывания такого тикля следует поправить файлик config.php из веб админки, однако, если iface.tcl не трогали, то и там ничего не надо будет:)

Потом надо дать команду на rehash скриптов (/msg -sBNC tcl :rehash).

После этого ломимся в вебадминку (кстати она у меня через https работает). Если все прошло удачно — то все готово! Для того, чтобы sbnc подымался сам, если что случится, ставим кроновский скрипт.

Единственное — не осилил подключение в mIRC через SSL.

Ищем скрипты (тут тоже) и т.д. для всего. Больше про сабж писать не буду:)
А сейчас пойду есть торт!

Подпишитесь на обновления блога по RSS, Email или Twitter!
  • 16 апреля 2009 г. в 06:52 | #1

    mIRC + ssl ничего сложного...

    Там просто 2 библиотеки в корень папки mIRC из Openssl кладутся (их можно в нете найти) и коннект к серверу идет типа /server blabla.com +6669 (ну всмысле через +)

    Я вот поставил sbnc нпо твоей статье (спасибо кстати) и нормально по ssl зашел :)

  • Siniy
    16 апреля 2009 г. в 07:29 | #2

    mrBuG

    Мне было влом разбираться с ним:)

    А вообще как этот бнц себя ведет? Не капризничает?:)

  • Laguna
    1 июля 2009 г. в 13:48 | #3

    Читал об этом в Википедии. Вообще конечно занятная тема.

  • skydive
    7 марта 2010 г. в 15:47 | #4

    не работает(

  • Siniy
    7 марта 2010 г. в 16:58 | #5

    @skydive

    А что не работает?

  • kill
    1 июня 2010 г. в 12:52 | #6

    (15:41:23) (triton) (15:40:21) -Notice- *** shroudBNC1.1 $Revision: 371 $

    (15:41:23) (triton) (15:40:21) -Notice- *** Looking up your hostname

    (15:41:23) (triton) (15:40:22) -Notice- *** Failed to resolve your host. Using IP address instead (83.149.35.29)

    (15:41:23) (triton) (15:40:22) -Notice- *** This server requires a password. Use /QUOTE PASS thepassword to supply a password now.

    (15:41:30) (triton) какой пароль вводить?

  • Siniy
    1 июня 2010 г. в 13:02 | #7

    @kill

    Тот который был при установке бнц, если это админ, либо тот, который был при добавлении юзера через adduser.

  • 8 ноября 2010 г. в 15:20 | #8

    установил я веб админку, и куда папку webifc положить, OC Linux.

  • Siniy
    8 ноября 2010 г. в 22:43 | #9

    @triton

    В директорию виртуального домена веб сервера.

    То есть, чтобы можно было обратится к вебадминке через веб:)

  • 18 апреля 2011 г. в 09:28 | #10

    Аааааааааааааааааааа мозгоебства >__<"

Оставить комментарий

XHTML: Вы можете использовать эти теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">