BNC. Что это такое и с чем его едят

Написал Danila Vershinin Вторник, 29 Май 2007
   BNC - это сокращение от "bouncer" (дословный перевод - попрыгунчик). Данная программа разработана для тех людей, кому нужно постоянно зависать в IRC, на DCC у бота, либо просто попонтоваться хорошим хостом.

   Принцип её работы прост: прога устанавливается на *nix-shelle, слушает определённый порт. Юзер коннектится на этот порт, прописывает себе IRC-сервер, DCC или хост и может спокойно идти пить пиво - прога не уйдёт с IRC, пока чел сам этого не пожелает, т.е. при втором заходе юзер может без коннекта общаться в IRC ;)

Как же оно работает?

На самом деле, существует множество различных BNC. Я рассмотрю два боунcера PsyBnc 2.x и Ezbounse (хз, какая версия).

PsyBnc

  1. Качаем, ставим...

    Качаем свежую версию с сайта разработчика http://www.psychoid.lam3rz.de на твой родной *nix-shell. Затем распаковываем: tar -xzf psyBNC2.2.tar.gz и ставим конфиг:
    make
    а затем
    make menuconfig
    Появится хорошая графическая среда. В ней укажи порт, который будет слушать боунсер, а также добавь юзера с правами админа (username - идент юзера). Остальное можешь сделать командами. Итак, стартуем:
    ./psybnc
    Если всё прошло успешно, боунсер скажет об успешном старте и о том, что порт прослушивается.
  2. Коннектимся...

    Отлично! Теперь коннектимся прогой mIRC32 на указанный тобою порт и хост. При успешном коннекте боунсер поприветствует тебя и попросит набрать пароль. Набираем:
    /pass yourpassword
    , и, если пароль правильный, ты успешно подконнектился :) При первом коннекте тебе будет выведен подробный help, который можно посмотреть командой
    /bhelp
    или
    /quote bhelp
Что тебе нужно сделать в первую очередь... Пожалуй залезть в IRC... Для этого нужно установить себе красивый хост, наподобие: vasya.pupkin.is.lamer.forever.but.me.is.cool.hacker.com. Не веришь, что такие хосты существуют? ;) Не сомневайся... хакеры и не такое умеют. В общем, ставим хост командой: /vhost hostname. По умолчанию, команда /vhosts покажет тебе все возможные хосты с этой BNC. Если таковых не имеется, то коннектимся с хостом, какой Бог пошлет... В принципе, этот шаг можно и пропустить.
Далее, добавим IRC-server в свой БЕЛЫЙ списочек ;) К примеру, irc.dal.net. Делаем это такой командой:
/addserver irc.dal.net :6667
, формат команды
/addserver host :port
. Просмотреть сервера можно командой
/listservers
: она высветит сервера в последовательности: номер-сервер. Удалить сервер из списка можно командой
/delserver number
, где номер - цифра, стоящая рядом с сервером.
После добавления сервера, BNC пытается сконнектиться на IRC-сервак и в успешном случае скажет фразу типа: "Now connected to irc.dal.net". После этого ты можешь выполнять команды, как будто зашел со своего обычного хоста, типа:
/join #xakep

PsyBnc - очень популярный боунсер, т.к. после неожиданного слета с линии, он остается в IRC и лишь меняет тебе ник (если ты сам захочешь этого) и ждет, пока ты снова не придешь на этот Bnc. После того как ты коннектишься снова, BNC посылает IRC-клиенту ответы как реакцию на заход на каналы, и он сам открывает те каналы, на которых ты был заджойнен.

Рассмотрим некоторые команды PsyBnc:

  • addop, delop, listop - добавление юзера в оп-список. Юзер заходит на канал, говорит тебе в приват пароль, и ты даешь ему опа на канале. Формат "/addop user #channel :passwd". delop и listop работают по принципу /delserver и /listservers.
  • autoop, delautoop, listautoop - то же самое, только без пароля :)
  • adduser, deluser, listusers - добавление юзера на PsyBnc. формат /adduser username :realname. username обязательно должен совпадать с идентом юзера, иначе PsyBnc его не пропустит. При /adduser BNC сгенерит пароль юзеру и напишет его тебе, ты можешь его сменить командой /password username :password.
  • madmin, unadmin - дать юзеру права администратора. Администратор имеет право добавлять новых юзеров, рестартить и убивать Bnc =)
  • setawaynick, setleavemessage - установить ник и мессагу при дисконнекте от BNC.
  • bquit, brehash, bdie - дисконнектиться от irc-сервера, рехэшнуть bnc или убить =)
  • bkill - убить юзера с irc-сервера (только админам).
На самом деле, команд очень много.. гораздо больше этого списка... К тому же, ты сам можешь писать скрипты к Psybnc, смотреть логи, которые будут вестись в твое отсутствие и многое другое...

DCC

Пожалуй, что мне больше всего понравилось в PsyBnc - DCC access к ботам =)
Прописываешь "/adddcc botname username password :host:port", и PsyBnc коннектится к ламаботу с твоим аккаунтом :) И ты висишь там, пока не упадет bnc.. Удобно, сидишь в IRC, нада юзера прописать - все под рукой :)
Шняга
В бочке меда есть ложка дегтя... Так было (и будет) всегда... у psybnc есть такой недостаток :) Она не умеет респонзить букву "я", точнее, она заменяет ее на "%" как входящую, так исходящую :) Для mIRC я нашел решение проблемы... Написал скрипт :) Делюсь:
Пишешь в remote:
on ^1:TEXT:*:#:{
%inva = $replace($1-,%,я)
echo -t $chan < $+ $nick $+ > %inva | halt
}
 
on 1:INPUT:#:{
if ($left($1-,1) != / ) {
set %inv $1- 
%line = $replace(%inv,я,Я)
msg # %line | halt
}
}
}
}

Отправляться на IRC-server будет буква "Я" (большая) во всех твоих фразах :) Видеть ты будешь только маленькую "я", вместо "%", который поначалу изводил меня =)

Вместо заключения

Как видишь, все просто... Главное знать, как... Это только начало повести о всемогущих BNC - хороших и не очень :) В дальнейшем я расскажу про Ezbounce, как коннектиться на BNC ботом (eggdrop), как заползти Ezbounce на "psybnc" и чатиться с крутым хостом, а также упомяну, где взять shell-account (халявный) с поддержкой bnc... Но это на десерт =) Что еще хотите узнать - предлагайте в отзывах, постараюсь изложить...
Последнее обновление ( Воскресенье, 16 Декабрь 2007 )
< Пред.   След. >