Привет, Хабр!
В этом посте я попытаюсь подробно (даже картинки будут) показать и рассказать как поднимать свой баунсер.
Т.е. фактически главное предназначение баунсера — скрыть реальный IP-адрес пользователя, и хранить логи с канала, когда юзер не подключен до IRC-сервера.
Самыми популярными баунсерами являются psyBNC, ezbounce и ZNC.
В этом посте я подробно остановлюсь на psyBNC.
PsyBNC, этот IRC-прокси умеет:
Я выбрал версию 2.3, т.к. она единственная мне подошла…
Для Windows скачивать его надо отсюда:
www.psybnc.at/download/windows/psybnc2.3.v6.exe
Теперь приступаем к установке psybnc:
После успешной установки, переходим в папку psybnc:
Для *nix необходимо выполнить последовательность команд:
Для начала нам нужно настроить конфиг. Он лежит в файле psybnc.conf.
Вот содержание этого файла с подробным описанием каждого елемента:
Один маленький ньюанс при установке своего пароля (USER1.USER.PASS).
Допустим, вы хотите поставить пароль: testme
Для этого нужно прописать в конфиге:
После запуска баунсера, пароль будет закодирован и в закодированном виде изменен в конфиге.
А теперь попробуем запустить наш баунсер на Windows…
Лучше это сделать через консоль (пуск > выполнить > cmd), чтобы в случае чего увидеть причину закрытия баунсера.
Запускаем…
И на никсах командой:
./psybnc
В консоле Вы увидете PID процесса, под который работает баунсер и порт на котором «висит» баунсер.
Убить процесс можно двумя способами:
Проверить это можно, даже не заходя в ирц-клиент, просто перейдите по http на адресс вашего сервера:
Видем, что все действительно работает!
Баунсер мы запустили, теперь подсоеденимся к нему.
Я покажу на примере mIRC.
Для начала добавим сервер:
File > Select Server (Ctrl+E) > Add >
Теперь прописиваем свой ник и identd:
/nick usernick
/identd on usernick
Подсоиденимся:
/server 111.222.333.444:5555 password
где:
111.222.333.444 — IP на котором висит баунсер
5555- порт на котором висит баунсер
password — USER1.USER.PASS
При успешном подсоединении должны увидеть:
Сервер может попросить ввести пароль:
Если Вы все правильно сделали, после ввода команды /quote pass баунсер подсоединится к вашему серверу (USER1.SERVERS.SERVER1):
Для добавления своего сервера, выполняем команду:
/addserver irc.site.com:12345
После добавления сервера, в psybnc.conf будет добавлен ваш сервер:
Вот и все собственно…
Ещо расскажу про самые нужные команды в psybnc:
/brehash перезапуск баунсера со сменой содержимого hash-файла
/madmin nick добавляет юзера с ником nick в админы
/adduser nick добавляет юзера с ником nick. пароль генерирует рандомно сам.
/deluser nick удаляем юзера с ником nick
/nameboucer name изменяет имя вашего баунсера
/sockstat статистика соединений к баунсера в реальном режыме
/bwho показывает, кто сейчас сидит на нашем баунс-сервере
И ещо пару команд (без скриншотов):
Админские команды:
Буду рад ответить на Ваши вопросы, и помочь Вам =)
itspoma © 2010
В этом посте я попытаюсь подробно (даже картинки будут) показать и рассказать как поднимать свой баунсер.
Ба́унсер (англ. bouncer, bnc) — программа, позволяющая скрыть реальный адрес в IRC. Пользователь подключается к находящемуся на другом компьютере баунсеру, который в свою очередь подключается к IRC-сети под видом IRC-клиента. В результате в IRC-сети виден не реальный адрес пользователя, а адрес того сервера, на котором установлен баунсер. Фактически баунсер используется как прокси-сервер, в том числе для «обмана» тех сетей, в которых запрещены прокси. Но это не самое главное их преимущество.
Т.е. фактически главное предназначение баунсера — скрыть реальный IP-адрес пользователя, и хранить логи с канала, когда юзер не подключен до IRC-сервера.
Самыми популярными баунсерами являются psyBNC, ezbounce и ZNC.
В этом посте я подробно остановлюсь на psyBNC.
PsyBNC, этот IRC-прокси умеет:
- Скрывает IP-адрес
- Сохраняет каналы, на которых находился пользователь до выхода из IRC
- Сохраняет приватные сообщения, а также, которые оставлены во время его отсутствия.
- Поддерживает доп. модули (скрипты)
- Поддерживает SSL
- Работает под Linux, FreeBSD, SunOs, Solaris и Windows
- IPv6, DCC, и много чего другого
Я выбрал версию 2.3, т.к. она единственная мне подошла…
Для Windows скачивать его надо отсюда:
www.psybnc.at/download/windows/psybnc2.3.v6.exe
Теперь приступаем к установке psybnc:
После успешной установки, переходим в папку psybnc:
Для *nix необходимо выполнить последовательность команд:
wget www.psybnc.at/download/beta/psyBNC-2.3.2-6.tar.gz
tar -zxvf psyBNC-2.3.2-6.tar.gz
rm psyBNC-2.3.2-6.tar.gz
cd psybnc
make menuconfig
make
make clean
make menuconfig
Для начала нам нужно настроить конфиг. Он лежит в файле psybnc.conf.
Вот содержание этого файла с подробным описанием каждого елемента:
// порт, на котором будет виcеть баунсер
PSYBNC.SYSTEM.PORT1=3184
// имя нашего баунсера
PSYBNC.SYSTEM.ME=uasc
// IP, на котором будет висеть баунсер
PSYBNC.SYSTEM.HOST1=*
// список разрешенный ИП для подключения, через ","
PSYBNC.HOSTALLOWS.ENTRY0=*;*
// логин юзера
USER1.USER.LOGIN=test
// пароль (сейчас он закодирован)
USER1.USER.PASS=='c1`'h0p1A'2'R`L0s
// права: 1=админ, 0=простой юзер
USER1.USER.RIGHTS=1
// 1="тихий" режим соединения
USER1.USER.QUITTED=0
// DCC: 1=вкл, 0=выкл
USER1.USER.DCCENABLED=1
// auto-idle
USER1.USER.AIDLE=0
// когда отсоединяешся юзер от ирки, баунс остается на канале
USER1.USER.LEAVEQUIT=0
// авто соединение после кика
USER1.USER.AUTOREJOIN=1
// принимать системные сообщения
USER1.USER.SYSMSG=1
// сообщение, когда юзер покидает канал
USER1.USER.LEAVEMSG=buy buy
// реальное имя пользователя (показывается в whois)
USER1.USER.USER=test
// ник, когда юзер афк
USER1.USER.AWAYNICK=y
// vhost
USER1.USER.VHOST=test.google.com
// ник
USER1.USER.NICK=test
// сервер, на который подсоединятся баунсеру
USER1.SERVERS.SERVER1=irc.server.com
// порт сервера
USER1.SERVERS.PORT2=6667
Меняем эти настройки под себя.Один маленький ньюанс при установке своего пароля (USER1.USER.PASS).
Допустим, вы хотите поставить пароль: testme
Для этого нужно прописать в конфиге:
USER1.USER.PASS=testme
После запуска баунсера, пароль будет закодирован и в закодированном виде изменен в конфиге.
А теперь попробуем запустить наш баунсер на Windows…
Лучше это сделать через консоль (пуск > выполнить > cmd), чтобы в случае чего увидеть причину закрытия баунсера.
Запускаем…
И на никсах командой:
./psybnc
В консоле Вы увидете PID процесса, под который работает баунсер и порт на котором «висит» баунсер.
Убить процесс можно двумя способами:
- Через taskmng
- taskkill /PID 123 < де 123 — PID вашего процесса
Проверить это можно, даже не заходя в ирц-клиент, просто перейдите по http на адресс вашего сервера:
Видем, что все действительно работает!
Баунсер мы запустили, теперь подсоеденимся к нему.
Я покажу на примере mIRC.
Для начала добавим сервер:
File > Select Server (Ctrl+E) > Add >
Теперь прописиваем свой ник и identd:
/nick usernick
/identd on usernick
Подсоиденимся:
/server 111.222.333.444:5555 password
где:
111.222.333.444 — IP на котором висит баунсер
5555- порт на котором висит баунсер
password — USER1.USER.PASS
При успешном подсоединении должны увидеть:
Сервер может попросить ввести пароль:
Если Вы все правильно сделали, после ввода команды /quote pass баунсер подсоединится к вашему серверу (USER1.SERVERS.SERVER1):
Для добавления своего сервера, выполняем команду:
/addserver irc.site.com:12345
После добавления сервера, в psybnc.conf будет добавлен ваш сервер:
Вот и все собственно…
Ещо расскажу про самые нужные команды в psybnc:
/brehash перезапуск баунсера со сменой содержимого hash-файла
/madmin nick добавляет юзера с ником nick в админы
/adduser nick добавляет юзера с ником nick. пароль генерирует рандомно сам.
/deluser nick удаляем юзера с ником nick
/nameboucer name изменяет имя вашего баунсера
/sockstat статистика соединений к баунсера в реальном режыме
/bwho показывает, кто сейчас сидит на нашем баунс-сервере
И ещо пару команд (без скриншотов):
/PASSWORD - Сменить пароль от вашего BNC аккауна.
/BWHO - Вывести всех пользователей данного BNC сервера.
/BVHOST - Устанавливает виртуальный хост на вашем BNC аккаунте (Если на сервере ои имеются).
/PROXY - Установить прокси для соединения с IRC. Поддерживаемые типы прокси: SOCKS4, WinGate и Webproxys.
Пример: /PROXY proxy.mydomain.com:8080
/SETUSERNAME - Меняет ваше "Реальное имя"
/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.xhackers.ru :6667
/DELSERVER - Удалить IRC сервер из списка серверов (/LISTSERVERS) Например: /DELSERVER 1 где 1 номер сервера в списке.
/LISTSERVERS - Вывести список ваших IRC серверов для соединения.
/ADDNETWORK - Добавить IRC сеть на ваш аккаунт.
/DELNETWORK - Удалить IRC сеть с вашего аккаунта.
/SWITCHNET - Установить в качестве главной IRC сети другую.
/ADDOP - Добавить пользователя в свой список Опов.
Пример: /ADDOP #chan newpass:*!*@this.is.elite.host.com.
Если параметр #chan не указан, то пользователь сможет получить статус оператора на любом канале,
на котором присутствует ваша BNC.
/DELOP - Удалить пользователя из своего списка Опов.
/LISTOPS - Вывести список пользователей, которые могут получить Оп от вашего BNC.
/ADDAUTOOP - Добавить пользователя, которому будет автоматически выдан статус Оператора при заходе на канал.
Пример: /ADDAUTOOP #leet :*!*blah@*.lame.com - Выдаст Оп всем входящим на канал #leet с маской *!*blah@*.lame.com
/DELAUTOOP - Удалить пользователя из своего списка автоопов.
/LISTAUTOOPS - Вывести список пользователей, которые полачают Оп при заходе на канал от вашего BNC.
/ADDBAN - Вы можете банить людей на канале, даже если вы не присутствуете на своем BNC.
Пример: /ADDBAN Get Lost Lamer ! :*!niky@lamers.land.com
/DELBAN - Удаляет BAN из вашего списка банов. Например /DELBAN 2
/LISTBANS - Выводит список ваших банов.
/ADDASK - BNC может "просить" у добавленного вами бота оп, если вы не подключены к BNC.
Например: /ADDASK lamepass :*!LameBot@Lame.Host.Com
/DELASK - Удаляет запрос Опа у бота. Например: /DELASK 12
/LISTASK - Выводит список всех добавленных ботов для запроса опа.
/ADDIGNORE - Добавляет хост в игнор лист.
Например: /ADDIGNORE * :*!*@*.lao.com добавит в игнор всех пользователей с маской *!*@*.lao.com на любые слова.
Также: /ADDIGNORE sex :*!*@* добавит в игнор всех, кто будет упоминать слово sex, т.е. это слово будет игнорироваться.
/DELIGNORE - Удаляет хост из вашего игнор-листа. Например: /DELIGNORE 2
/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. По умолчанию выключено. Пример: /AUTOGETDCC 1
/DCCCANCEL - Отменяет DCC Chat или Приём файла от пользователя.
/PLAYPRIVATELOG - Вывести лог с сообщениями. Когда вы отсутствуете на BNC все приваты и нотисы записываются в лог.
/ERASEPRIVATELOG - Очистить лог приватных сообщений и нотисов.
/ADDLOG - Добавить источник лога/фильтр. Пример: /ADDLOG #leet :0day - будет вести лог на канале #leet с встречаюзимся словом 0day
/DELLOG - Удалить источник лога из вашего списка (/LISTLOGS).
/LISTLOGS - Вывести список всех ваших источников логов/фильтров.
/PLAYTRAFFICLOG - Показывает траффик-лог.
/ERASETRAFFICLOG - Удаляет траффик-лог.
/ENCRYPT - Расшифровывает разговор указанному каналу/пользователю.
/DELENCRYPT - Удаляет расшифровку по номеру.
/LISTENCRYPT - Список всех расшифровок.
/TRANSLATE - Добавляет переводчик в/из канала/пользователя.
/DELTRANSLATE - Удаляет переводчик по номеру.
/LISTTRANSLATE - Показывает список переводчиков.
Админские команды:
/BREHASH - Перезагружает прокси и сбрасывает все соеденения.
/MADMIN - Дает пользователю права администратора BNC.
/UNADMIN - Снимает с пользователя права администратора BNC.
/BKILL - Закрывает соединение пользователя с прокси.
/SOCKSTAT - Показывает/записывает текущие соеденения.
/ADDUSER - Создать нового пользователя.
/DELUSER - Удалить пользователя.
/NAMEBOUNCER - Дает имя вашему BNC серверу. (Необходимо для линковки)
/LINKTO - Добавляет линк с BNC на указанные хост/порт.
/LINKFROM - Добавляет линк с BNC от вашего сервера.
/RELAYLINK - Принимает или запрещает линки к вашему или от вашего BNC.
Например /RELAYLINK name :1 Где name имя BNC. Цифра 0 отключает, а 1 включает линк с BNC.
/DELLINK - Удаляет линк с BNC.
/LISTLINKS - Показывает весь LINK-List вашего BNC.
/RELINK - Сброс линка с BNC. Например /RELINK 1
/PLAYMAINLOG - Выводит лог соеденения.
/ERASEMAINLOG - Удаляет лог соеденения.
/ADDALLOW - Добавляет хост в список возможных соеденений.
/DELALLOW - Удаляет хост из списка возможных соеденений.
/LISTALLOW - Показывает список возможных соеденений.
/SRELOAD - Перезагружает скрипты.
/LISTTASKS - Показывает текущие запущенные задачи.
/SETLANG - Ставит язык (глобальный).
/BHELP - Выводит список всех доступных команд BNC. Или более подробная информация по указанной команде.
Буду рад ответить на Ваши вопросы, и помочь Вам =)
itspoma © 2010