О чем тут? Да обо всем подряд. Это моя записная книжка. В основном тут бэкапы заинтересовавших меня статей, новости и ссылки.

Показаны сообщения с ярлыком PsyBnc. Показать все сообщения
Показаны сообщения с ярлыком PsyBnc. Показать все сообщения

Настройка psyBNC

| 5 авг. 2009 г.
Основные настройки из конфигурационного файла

PSYBNC.SYSTEM.HOST1=* - хост который будет "слушать" psyBNC.
PSYBNC.SYSTEM.ME=MyBnc - имя вашего баунсера, используеться для линковки.
PSYBNC.SYSTEM.LANGUAGE=russian - Системная локаль psyBNC.
PSYBNC.SYSTEM.PORT1=3844 - порт который будет "слушать" psyBNС

Основные настройки пользователя

Данные настройки устанавливаются непосредственно через irc клиент.

PASSWORD - Сменить пароль от вашего BNC аккаунта.
BVHOST - Устанавливает виртуальный хост на вашем BNC аккаунте (Если на сервере они есть)
PROXY - Установить соединение с IRC через PROXY. Поддерживаемые типы прокси: SOCKS4, WinGate и Webproxys. Пример: /PROXY proxy.allexsoft.org:8080
SETUSERNAME - Изменить ваше 'Реальное name'
SETAWAY - Установить away причину, она будет автоматически установлена при уходе с BNC. Например: /SETAWAY eating И при /whois вы увидите: yournick is away: eating
SETLEAVEMSG - Установить сообщение, которое будет отправлено на все каналы при уходе с BNC. Например: /SETLEAVEMSG sleeping и на канале вы увидите: yournick is away (sleeping)
LEAVEQUIT - Если установить 1, то BNC автоматически покинет все каналы при уходе с нее.
SETAWAYNICK - При уходе с BNC вы измените свой ник на установленный.
JUMP - Пробует зайти на другой сервер из списка.
BQUIT - Уйти с текущего IRC сервера.
BCONNECT - Установить соединение с IRC сервером, если сделан /BQUIT
AIDLE - anti-idle при вашем уходе с BNC. Пример /AIDLE 1 чтобы активировать.
AUTOREJOIN - Активирует или деактивирует автоматический перезаход на каналы после kick'a. Например: /AUTOREJOIN 1
ADDSERVER - Добавить IRC сервер в ваш список. Пример: /ADDSERVER irc.daemonet.ru:6669
DELSERVER - Удалить IRC сервер из списка серверов (/LISTSERVERS) Например: /DELSERVER 1 где 1 номер сервера в списка. LISTSERVERS - Вывести список ваших IRC серверов.
ADDNETWORK - Добавить IRC сеть на ваш аккаунт.
DELNETWORK - Удалить IRC сеть с вашего аккаунта.
SWITCHNET - Установить в качестве главной IRC сети другою.
ADDOP - Добавить пользователей в свой список Опов. Пример: /ADDOP #chan newpass:*!*@allexsoft.org. Если параметр #chan не указан, то пользователь сможет получить статус оператора на всех каналах, где присутствует ваша BNC.
DELOP - Удалить пользователей из своего списка Опов.
LISTOPS - Вывести список пользователей, которые могут получить Оп от вашего BNC.
ADDAUTOOP - Добавить ник, которому будет автоматически выдан статус Оператора при заходе на канал. Пример: /ADDAUTOOP #allex :*!*allex@allex.us - Выдаст Оп всем на канал #leet с маской *!*allex@allex.us
DELAUTOOP - Удалить ник из своего списка автоопов.
LISTAUTOOPS - Вывести список пользователей, которые получат Оп при заходе на канал от вашего BNC.
ADDBAN - Вы можете банить пользователей на канале, даже если вы не присутствуете на своем BNC. Пример: /ADDBAN By is74! :*!*@*is74.loc
DELBAN - Удалит BAN из вашего списка банов. Например /DELBAN 2
LISTBANS - Выводит список ваших банов.
ADDASK - BNC может 'просить' у добавленного вами бота оп, если вы не соединены с BNC. Например: /ADDASK lamepass :*!Millena@allex.us.
DELASK - Удалить запрос Опа у бота. Например: /DELASK 12
LISTASK - Выводит список всех добавленных ботов на запрос опа.
ADDIGNORE - Добавить хост в список игнорируемых.
DELIGNORE - Удалить хост из списка игнорируемых.
LISTIGNORES - Вывести список игнорируемых хостов.
ADDDCC - Добавить DCC-соединение с ботом. Пример: /ADDDCC MyBot newbie MyPass :the.elite.newbie.com:7333
LISTDCC - Список всех добавленных DCC соединений.
DELDCC - Удалить DCC из вашего списка. Пример /DELDCC 4
DCCCHAT - Запрос DCC-chat'a у пользователей, и ожидание его подтверждений пользователем.
DCCANSWER - Разрешить DCC Chat от ника, если он послал запрос на Chat.
DCCENABLE - Активировать или деактивировать DCC-Chat и Send-Handling на вашем BNC аккаунте.
DCCSEND - Послать файл указанному нику.
DCCGET - Получить файл от ника. Файл будет в downloads/USERnn
DCCSENDME - Послать нику BNC файл. Если он подтвердит, то файл будет отправлен.
AUTOGETDCC - Активировать или деактивировать автоприем посылаемых вам файлов через DCC.
DCCCANCEL - Отменить DCC Chat или Прием файла от ника.
PLAYPRIVATELOG - Вывести лог. Когда вы отсутствуете на BNC все приваты и нотисы идут в лог.
ERASEPRIVATELOG - Очистить лог приватных сообщений и нотисов.
ADDLOG - Добавить источник лога/фильтр. Пример: /ADDLOG #allex :танк - будет вести лог на канале #allex с данным словом 'танк'
DELLOG - Удалить источник лога из вашего списка (/LISTLOGS).
LISTLOGS - Вывести список всех ваших источников логов/фильтров.
PLAYTRAFFICLOG - Показывает трафик-лог.
ERASETRAFFICLOG - Удалит траффик-лог.
ENCRYPT - Расшифровывает разговор указанному каналу/нику.
DELENCRYPT - Удалит расшифровку по номеру.
LISTENCRYPT - Список всех расшифровок.
TRANSLATE - Добавит переводчик в/из канала/ника.
DELTRANSLATE - Удалит переводчик по номеру.
LISTTRANSLATE - Показывает список переводчиков.

Настройки администратора BNC

PASSWORD - Сменить пароль от вашего аккаунта или от аккаунта пользователя.
BREHASH - Перезагружает BNC.
MADMIN - Дает нику права администратора BNC.
UNADMIN - Снимает с ника права администратора BNC.
BKILL - Закрывает соединение ника с прокси.
SOCKSTAT - Показывает/записывает текущий статус.
ADDUSER - Создать нового пользователя.
DELUSER - Удалить пользователя.
NAMEBOUNCER - Дает название вашему BNC серверу, обязательно нужно для линковки.
LINKTO - Добавит линк с BNC на указанные хост/порт
LINKFROM - Добавит линк с BNC от вашего сервера.
RELAYLINK - Принимает или запрещает линки к вашему или от вашего BNC. Например /RELAYLINK name :1 Где name название BNC. Цифра 0 деактивирует, а 1 активирует линк с BNC. Так же позволяет использовать vhost'ы от прилинкованых bnc
DELLINK - Удалит линк с BNC.
LISTLINKS - Показывает весь LINK-List вашего BNC.
RELINK - Сброс линка с BNC. Например /RELINK 1
PLAYMAINLOG - Выводит лог соединений.
ERASEMAINLOG - Удалит лог соединений.
ADDALLOW - Добавит хост в список возможных соединений.
DELALLOW - Удалит хост из списка возможных соединений.
LISTALLOW - Показывает список возможных соединений.
SRELOAD - Перезагружает скрипты.
LISTTASKS - Показывает текущие запущенные задачи.

отсюда

Установка psyBNC (статьи, которые мне помогли)

|
В качестве предисловия оговорюсь: установка происходит на ASP Linux 11 без использования chroot. У Вас есть шелл и первоначальные навыки работы с системами семейства UNIX.

1). Первоначально вам следует скачать psyBNC по ссылке http://psybnc.su/downloads/psyBNC-2.3.2-7.tar.gz и залить на шелл с помощью плагина winscp для файлового менеджера FAR.
Иначе - вы можете скачать баунсер напрямую с шелла командой:

[solaris@glazov.net] wget http://psybnc.su/downloads/psyBNC-2.3.2-7.tar.gz

2). Следующий шаг - распаковка архива:

[solaris@glazov.net] tar -xvzf psyBNC-2.3.2-7.tar.gz

Этой командой архив распакуется в корень домашней директории, в поддиректорию psybnc.

3). Далее переходим к предварительной настройке баунсера. Выполняем по порядку следующие команды

[solaris@glazov.net] cd psybnc/
[solaris@glazov.net] make menuconfig

Этими командами осуществляется переход в поддиректорию psybnc, в которой находятся файлы с исходным кодом программы и сопутствующие скрипты для компиляции, которые вызываются второй, из вышеприведенных, командой. Появившееся меню покажет на успешность выполнения команд.

make menuconfig

Это меню предварительной настройки psyBNC. Выбираем в нем Bouncer-Config ---> Listening Ports и указываем имя хоста и порт, прослушивающийся баунсером на предмет входящих соединений. Выходим из меню предварительной настройки клавишами "Esc" и "Exit". Для проверки предварительной настройки выполняем команду просмотра файла psybnc.conf:

[solaris@glazov.net] cat psybnc.conf
PSYBNC.SYSTEM.PORT1=31337
PSYBNC.SYSTEM.HOST1=hosting.glazov.net

Естественно, хост и порт у Вас будут другими.

4. Следующий шаг - компиляция. Приступить к ней позволит команда make.

[solaris@glazov.net] make

Вполне допустимо, что при компиляции будут возникать всевозможные предупреждения компилятора, но, в целом, это не страшно. Окончанием компиляции будет генерация SSL-сертификата для безопасных, зашифрованных соединений. В принципе, на все, предложенные при генерации сертификата, вопросы можно не отвечать и пропустить нажатием клавиши "Enter".

5). Запуск.

[solaris@glazov.net] ./psybnc
.-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-.
,----.,----.,-. ,-.,---.,--. ,-.,----.
| O || ,-' \ \/ / | o || \| || ,--'
| _/ _\ \ \ / | o ||\ | ||__
|_| |___/ |_| |__||_|\_| \__|
Version 2.3.1 (c) 1999-2003
the most psychoid
and the cool lam3rz Group IRCnet

`-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=tCl=-'
Configuration File: psybnc.conf
Language File: psyBNC Language File - English
No logfile specified, logging to log/psybnc.log
Listening on: 81.18.139.153 port 31337
psyBNC2.3.1-cBtITLdDMSNp started (PID 2416)
[solaris@glazov.net]

Если все прошло так - значит Ваш psyBNC успешно запущен и Вы можете им пользоваться. Рекомендую ознакомиться с FAQ и README, представленные в дистрибутиве.

отсюда

Что такое баунсер psyBNC и для чего он нужен?

PsyBNC является самым популярным баунсером на сегодняшний день. Баунсер служит для сокрытия информации о пользователе при общении по IRC, в частности IP-адреса пользователя (так сказать IRC-proxy).

Баунсер постоянно запущен. Вы можете выходить с IRC-сервера, а ваш ник будет оставаться в онлайне. В этом случае пользователи приписывают себе away-nick, например nick[off]. В то время пока вас нет, баунсер ведет приватные лог-файлы и вы можете их прочесть при возвращении.

Также баунсер обладает функцией шифрования разговоров, используется метод шифрования Blowfish или IDEA. В случае шифрования разговоров клиенты обязательно должны работать через psyBNC, иначе вместо текста вы получите его зашифрованный вариант.

к оглавлению | наверх

С чего начать? Создание пользователя для запуска psyBNC.

Перед установкой pcyBNC рекомендуем добавить в систему нового пользователя для запуска баунсера:

# adduser
Username: psybnc
Full name:
Uid (Leave empty for default):
Login group [psybnc]:
Login group is psybnc. Invite psybnc into other groups? []:
Login class [default]:
Shell (sh csh tcsh date bash nologin) [sh]: bash
Home directory [/home/psybnc]:
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password:
Enter password again:
Lock out the account after creation? [no]:
Username : psybnc
Password : *****
Full Name :
Uid : 1001
Class :
Groups : psybnc
Home : /home/psybnc
Shell : /usr/local/bin/bash
Locked : no
OK? (yes/no): y
adduser: INFO: Successfully added (psybnc) to the user database.
Add another user? (yes/no): n
Goodbye!

к оглавлению | наверх

Как установить баунсер psyBNC?

Войдите по SSH под вновь созданным пользователем psybnc. Скачайте с официального сайта последнюю версию баунсера, на момент написания статьи это версия 2.3.2-7.

# fetch http://psybnc.info/download/beta/psyBNC-2.3.2-7.tar.gz

Разархивируйте скачанный архив:

# tar xzf psyBNC-2.3.2-7.tar.gz

Перейдите в появившийся каталог psybnc:

# cd psybnc

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

# make menuconfig

После этой команды запустится утилита настройки баунсера. Интерфейс утилиты достаточно прост: используйте стрелки для перемещения, Enter для входа в подменю и смены значения и Escape для возврата на предыдущий уровень.

Подменю "Compiling Options" рекомендуем оставить без изменений, а "Bouncer-Config" следует настроить под себя:

- Listening Ports - на каком порту будет работать баунсер (по умолчанию 31337);
- Links - возможность линковки;
- Bouncer Name - имя баунсера;
- Host Allow - с каких хостов можно заходить на баунсер;
- Users - пользователи, первым пользователем нужно добавить себя - администратора, для установки прав администратора измените значение поля "Rights" на "Admin". Также при создании пользователя необходимо ввести IRC-сервер для создаваемого пользователя, для этого войдите в "Servers" и добавьте "имя_сервера порт", например "irc.tic-tac.ru 6667".

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

# make

В процессе компиляции вас попросят ввести данные для SSL-сертификата: Страна, штат и т.д. Введите данные на своё усмотрение - они ни на что не влияют. Если компиляция прошла успешно, то в результате появится

-rwxr-xr-x 1 psybnc psybnc 229780 Jun 17 17:59 psybnc

Это значит, что бинарный файл для нашего баунсера создан успешно.

к оглавлению | наверх

Как запустить / остановить psyBNC?

Запускать баунсер следует также зайдя под польлзователем psybnc.

# cd psybnc
# ./psybnc

В результате вы получите сообщение об успешном запуске баунсера, с указанием номера процесса баунсера.

psyBNC2.3.2-7-cBtITLdDMSNpE started (PID 7269)

Остановить psybnc можно "убив" процесс баунсера. Номер процесса выводится при запуске или его можно посмотреть с помощью команды "ps".

# ps auxw | grep psybnc
psybnc 7269 0.0 0.1 3020 2332 p9 SJ 4:34AM 0:00.08 ./psybnc
# kill -KILL 7269

Если вы вносите какие-то изменения в конфигурационный файл баунсера psybnc.conf, то после этого необходимо перезапустить psybnc.

Теперь попробуйте соединиться с баунсером из своего irc-клиента, в качестве параметров используйте адрес сервера, порт и пользователя, которые вы указали в утилите настройке баунсера.

к оглавлению | наверх

Как поставить баунсер в автозагрузку сервера?

Чтобы не запускать баунсер вручную после каждой перезагрузки сервера удобно создать скрипт автоматического запуска. Войдите по SSH под пользователем root. Создайте с помощью любого текстового редактора файл /usr/local/etc/rc.d/psybnc.sh с следующим содержимым:

#!/bin/sh

. /etc/rc.subr

name=psybnc
rcvar=`set_rcvar`

: ${psybnc_enable:="YES"}

command="su psybnc -c 'cd /home/psybnc/psybnc/; ./${name}'"
required_files=/home/psybnc/psybnc/psybnc.conf

load_rc_config ${name}
run_rc_command "$1"

Установите права на исполнение для этого файла:

# chmod +x /usr/local/etc/rc.d/psybnc.sh

Добавьте в файл /etc/rc.conf строчку

psybnc_enable="YES"

Настройка автозагрузки баунсера закончена. Теперь можно попробовать перезагрузить сервер командой "reboot", и посмотреть есть ли процесс баунсера в списке процессов "ps auxw | grep psybnc".

отсюда

Секреты PsyBnc

| 4 авг. 2009 г.
Данная статья посвящается в первую очередь личностям, юзающими psybnc в сети с сервисами или пользующими опцию setawaynick (который естественно зарегистрирован в сети). В итоге, после сплита либо лага bnc получаем картину:

[22:21:51] * proteriot is now known as prot{St
[22:21:52] * prot{St is now known as proteriot
[22:23:52] * proteriot is now known as prot{St
[22:23:54] * prot{St is now known as proteriot
[22:25:55] * proteriot is now known as prot{St
[22:25:56] * prot{St is now known as proteriot
[22:27:52] * proteriot is now known as prot{St
[22:27:52] * prot{St is now known as proteriot


и, как это ни печально, дело доходит до бана этого посетителя (а еще печальнее, когда забанить его нет возможности).

Итак, после этого небольшого вступления, я расскажу о скриптинге в psybnc, а также об интересных опциях. Возможно, ты о них еще ни разу не слышал или видел краем уха, читая /bhelp. Но в любом случае, повторение - мать учения, поэтому не будет лишним узнать об этих фишках еще раз.

Изначально в Psybnc со скриптами все было плохо. Нет, сами скрипты исправно работали, но... существовал один минус. Если юзер юзает скрипты, то на каждый event этого скрипта создается не умирающий процесс-зомби. Таким образом, зомбей в системе могло быть до 300 штук. Согласись, что легче отказаться от скриптов, чем смотреть гадость в таблице процессов. Но наука не дремлет, и человек по нику BetaTEST (из Подольска), а быть может кто-то еще (лично я не видел), написал патч к кривому p_script.c, плохо завершающему созданные сокеты. Радикальным решением проблемы является даунлоад (http://kamensk.net.ru/forb/1/psybnc.patch) и рекомпиляция psybnc (разумеется, перед make будет команда patch < psybnc.patch). Лично у меня после такой процедуры не возникало проблем со скриптами.

Соббсно скриптинг. Не надейся, я не буду тебе перепечатывать файл SCRIPTING, это ты прекрасно сделаешь сам (с помощью твоего любимого словаря). Я лишь расскажу азы и создание маленьких, но необходимых скриптов, с помощью которых ты можешь решить вышесказанную проблему.

Для начала тебе нужно знать, что скрипты для каждого юзера лежат в scripts/USER#.SCRIPT, где # - личный номер юзера на bnc (его можно узнать пролистав psybnc.conf). Этот файл, естественно, должен быть доступен для чтения юзеру, под которым запущена пся.

Синтаксис скрипта очень простой. Он состоит из нескольких частей:

событие команда от_кого кому текст действие

Подробнее о каждой части скрипта.

Cобытие - реакция на какое либо действие от сервера или другого пользователя. Например, server - мессага от сервера, ctcp - реакция на ctcp-запрос, alias - собственная команда юзера на psybnc, dccchat - реакция на dcc-чат и другие.

Команда зависит от события. Если это server, команда должна быть строкой, пришедшей с сервера (NOTICE, JOIN, etc). Если это ctcp, под командой должен выступать запрос ctcp и так далее.

От_кого, Кому - маска исходящего (входящего) адресата (получателя) сообщения.

Текст - собственно на что реагируем. Для server - часть строки сообщения, для остальных событий не используется.

Действие - собственно сам скрипт. Как правило начинается с оператора echo, в котором находится сообщение посылаемое в определенный сокет. Их 3: STDIN (прямая команда на сервер), STDOUT (команда в DCC-чат) и STDERR (команда в главный лог psybnc). Если ты знаешь как обращаться с потоками, то перенаправить команду для тебя не составит труда. Это делается стандартным > &№, где № номер потока от 0 до 2.

Вот общие сведения для того, чтобы начать писать элементарные скрипты. Напишем наш первый скрипт. Нет, не hello world, а hello nickserv :)), то есть передачу идентификационной информации NickServ'у, а именно пароля на ник в случае сплита (или в общем случае - по запросу сервиса).

server NOTICE *!Services@ircnet.ru * "*registered and protected*" echo "IDENTIFY coolpassword"
server NOTICE *!Services@ircnet.ru * "*зарегистрирован и защищен*" echo "IDENTIFY coolpassword"


Вот эти две строки прекратят беспорядок с никами. Разумеется, маска сервисов должна подходить под шаблон *!Services@ircnet.ru, а нотайс от них содержать registered and protected, или аналог на русском языке. При этом событии на сервер будет автоматически отправлена строка IDENTIFY coolpassword (как ты наверное догадался, по умолчанию данные заносятся в нулевой дескриптор aka прямо на сервер).

С помощью lame-скрипта, можно легко сделать реакции на ctcp-запросы (учти, что когда ты в сети, ответ будет как от псюхи, так и от твоего клиента), например таким образом:

ctcp PING *!*@* * * echo "NOTICE $NICK :pong!"

Ах да, я совершенно забыл о переменных, которые способны скрасить жизнь скриптера. Это в первую очередь пропарсенная строка от события сервер, включающая в себя $P1, $P2, $P3 ее части, разделенные пробелом, а также универсальные переменные $TO, $NICK и прочие (содержащие в себе адресата, либо канал). Служебные переменные USERNUMBER, USERLOGIN, USERNICK, USERHOST и USERON, хранящие в себе инфу о подключенном юзвере (значения этих переменных можно посмотреть в psybnc.conf либо в SCRIPTING-мане).

Вернемся к потокам. Допустим, тебе захотелось узнать, когда заходил человек под ником FreeMan на канал #programmers, даже если в это время ты был в оффлайне. Заставим псюху писать эту конфиденциальную инфу в твой log, который будет тебе выведен, когда ты будешь online. Это можно сделать следующим скриптом:

server JOIN FreeMan!*@* #programmers * echo "User $NICK joined on $TO" >&2

Как видишь все просто. Еще раз повторю, что полное описание синтаксиса скриптов изложено в SCRIPTING (на нудном английском языке и с банальными примерами =)). На этом кончаю %). Пусть ты понял вышеизложенный материал и освоил скрипты в psybnc.

PS: после изменения личного скрипт-файла набери команду sreload на бнц, чтобы перезагрузить скрипт.

Вообще о псюхе можно говорить часами. Это самый чудесный баунсер, который я когда-либо видел. В нем слилось все - возможность скриптить, разные опции и настройки, небольшие недоработки и глюки с процессорным временем ;). Хотелось бы отметить пару фишек, которые есть в /BHELP, но удостоены внимания быть описаны в этой статье.

ADDOP и ADDAUTOOP. Позволяют опать ники на определенном канале. Отличие первой команды от второй в том, что в ней задается пароль для опа (при мессаге "OP пароль" в приват человеку дается оп на канале). ADDAUTOOP же дает автоматический оп по определению и по хосту ;).

ADDBAN. Награждает человека баном на определенном канале при его заходе на него. Иными словами, симуляция akick-листа =).

ADDCC. Прелестная опция, которая позволяет соединиться с ботом по DCC. Причем, когда ты свалишь с баунсера, соединение не пропадет. Любители эггдропов - это ваша команда.

Синтаксис этих (и других) команд, ты можешь посмотреть, опять же, через /BHELP. Всегда помни, что твой друг - RTFM и его нельзя стесняться =).

На этом сей урок объявляю законченным. Я отнюдь не заставляю тебя скачивать псюху и юзать ее в полную силу. Просто хочу, чтобы ты усвоил этот материал и прекратил флудить каналы и сеть лишними сменами ников =).

Взято тут