shroudBNC модульное IRC прокси написанное на C++. Оно даёт возможность использовать прокси-соединение для сразу нескольких юзеров. Присутствует поддержка языка программирования TCL.
Главным преимуществом этого баунсера является дружественный веб-интерфейс (написан на TCL и PHP) который позволяет легко осуществлять контроль над пользователями.
Поддерживаемые системы: Linux и FreeBSD (также возможные вариации BSD). Возможности: * поддержка tcl скриптов и частичная эмуляция комманд eggdrop * веб-интерфейс (легко настраивается) * поддержка SSL * встроенная защита от флуда (ошибок "excess flood" быть не должно) * поддержка модулей (библиотеки C++) * асинхронный dns-резолвинг, баунсер не должен тормозить во время реконнекта * лог привата во время отсутствия * поддержка IPv6 * vhost.tcl: лимит кол-ва пользователей на виртуальный хост * virtual.tcl: добавляет "группы" и "виртуальных админов" у которых есть возможность управлять пользователями в пределах их собственных групп * lock.tcl: даёт возможность запретить те или иные опции для определённых пользователей или глобально * partyline.tcl: "внутренние" каналы для пользователей баунсера * и многое другое...
Начнем Для начало нам надо создать пользователя, для этого пишем в терминале из под root:
Код adduser sbnc
Теперь заходим под ним, для этого пишем в терминале:
Код su sbnc cd
Теперь скачиваем сам sbnc 1.2, пишем в терминале:
Код wget http://mirror.shroudbnc.info/sbnc-1.2.tar.gz
Мы его скачали теперь нам надо его распаковать, для этого пишем в терминале:
Код tar zxf sbnc-1.2.tar.gz
Теперь переходим в каталог с исходником sbnc, для этого пишем в терминале:
Код cd sbnc-1.2
И так начнем собирать. Пишем в терминале эти команды по очереди:
Код ./configure make make install
Собрали. У нас появился каталог sbnc, переходим туда, для этого пишем в терминале:
Код cd cd sbnc
Переходим к настройке sbnc сервера, для этого пишем в терминале:
Код ./sbnc
Видим что sbnc выдает сообщение 1.
1. Which port should the bouncer listen on (valid ports are in the range 1025 - 65535):
Указываем порт который будет слушать sbnc(у меня 9997). 2.
2. What should the first user's name be?
Указываем ident администратора( у меня root). 3.
3. Please enter a password for the first user:
Указываем пароль администратора. 4.
4. Please confirm your password by typing it again:
Повторяем пароль администратора.
Теперь убьем процесс sbnc, для этого пишем в терминале:
Код pkill sbnc
Если не убивается,то пишем в терминале:
Код ps ux
Находим процесс sbnc и смотрим его PID и убиваем, для этого пишем в терминале:
Код kill номер_pid
Теперь запускаем его, для этого пишем в терминале:
Код ./sbnc
Все sbnc мы установили теперь заходим на него с помощью irc клиента. После входа пишем /sbnc help и смотрим его команды.
Теперь давайте установим crontab для sbnc. И так заходим под пользователем sbnc и переходим в каталог с sbnc, пишем в терминале:
Код cd sbnc
Теперь создаем файл sbncs.sh и даем ему права на запуск, для этого пишем в терминале:
Код touch sbncs.sh chmod +x sbncs.sh
Теперь редактируем этот файл, для этого пишем в терминале:
Код nano sbncs.sh
Вписываем в него вот это:
#!/bin/sh SBNCPATH=/home/sbnc/sbnc
if test -r $SBNCPATH/sbnc.pid; then SBNCPID=$(cat $SBNCPATH/sbnc.pid) if $(kill -CHLD $SBNCPID >/dev/null 2>&1) then exit 0 fi fi cd $SBNCPATH ./sbnc &>/dev/null
Помним что в переменой SBNCPATH указываем путь до sbnc сервера. Сохраняем. Теперь добавляем sbncs.sh в crontab, для этого пишем в терминале:
Код crontab -e
И вписываем в него:
*/10 * * * * /home/sbnc/sbncs.sh > /dev/null 2>&1
Помним что у вас может быть другой путь до данного файла, так что пишите свой путь за место /home/sbnc/sbncs.sh. Сохраняем. Теперь каждые 10 минут будет срабатывать скрипт и проверять запущен ли sbnc или нет, если не запущен, то скрипт его запустит. Вот и все.