Установка 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.
Ищем скрипты (тут тоже) и т.д. для всего. Больше про сабж писать не буду:)
А сейчас пойду есть торт!


mIRC + ssl ничего сложного...
Там просто 2 библиотеки в корень папки mIRC из Openssl кладутся (их можно в нете найти) и коннект к серверу идет типа /server blabla.com +6669 (ну всмысле через +)
Я вот поставил sbnc нпо твоей статье (спасибо кстати) и нормально по ssl зашел
mrBuG
Мне было влом разбираться с ним:)
А вообще как этот бнц себя ведет? Не капризничает?:)
Читал об этом в Википедии. Вообще конечно занятная тема.
не работает(
@skydive
А что не работает?
(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) какой пароль вводить?
@kill
Тот который был при установке бнц, если это админ, либо тот, который был при добавлении юзера через adduser.
установил я веб админку, и куда папку webifc положить, OC Linux.
@triton
В директорию виртуального домена веб сервера.
То есть, чтобы можно было обратится к вебадминке через веб:)
Аааааааааааааааааааа мозгоебства >__<"