После предыдущих статей про IRC
обрушился просто лавинный поток писем, львиная
часть которых была с просьбами описать в
следующих частях про ботов, чем их мазать и каким
местом есть. Итак, многие знают, что такое боты, но
не знают откуда они берутся, как их настраивать и
как запускать. Пришлось мне прикинуться ботом,
выложиться на сайт (http://www.irc.ru)
и подождать, пока меня скачают и что-нибудь
сотворят. Таким образом,я в шкуре бота узнал все
тонкости и полезности. И на примере изложу
подробно, какой бот взять, где и куда потом
сувать.

Скачай.

Первое, что ты должен знать, это
какие разновидности ботов бывают. Существуют
всего две часто используемые разновидности: боты
на основе mIRC-клиентов и Eggdrop. Боты на основе
mIRC-клиентов — это обычный mIRC, обвешанный
скриптами, обычно ставится на NT сервера (если
есть права) или же на компьютер пользователя,
который находится круглосуточно в интернете. Но
эти боты достаточно неустойчивы в работе, а так
же есть возможность "копаться" в самом боте.
Проще говоря, слабо защищенная программа. Мы на
ней останавливаться не будем, оставим это
занятия ламерюгам :). А вот на Eggdrop как раз
подробно остановлюсь. Для того, чтобы установить
этого бота, тебе нужен только Unix Shell Account. Ну с
этим, я думаю, у тебя проблем не будет как у
кулхацкера, так как уже много писалось в
предыдущих номерах о том, как его можно
раздобыть. Лучше всего, конечно, попросить Shell у
доброго знакомого дядьки админа и угостить его
пивом :). Допустим, Shell ты раздобыл. Теперь надо
этого самого бота скачать. Ползи смело на любой
сайт в инете: среди российских источников
рекомендую http://www.irc.ru, а
среди забугровых — ftp://ftp.eggheads.org.
И скачивай любого тебе понравившегося бота,
архив любого Eggdrop будет называться навроде
eggdrop1.4.3.tar.gz (название зависит от версии). После
этого заливай бота на твой Shell. Тебе уже не
терпится запустить бота? Спешка нужна только при
ловле блох :), тут ни к чему, ты же знаешь, так что
не суетись и разархивируй его (лучше всего в Shell
набрать команду mc, зайти в архив, а уж потом из
архива скопировать бота куда тебе нужно). Пример
установки я тебе покажу на примере бота eggdrop1.4.3,
но на предыдущих, как и на последующих версиях,
установка бота примерно одинаковая.

Установи.

Заходи в каталог eggdrop1.4.3 и смело
набирай ./configure. После написания этой команды ты
увидишь примерно следующее (смотри тут).
Когда закончится выполнение этой команды, ты
увидишь вот это.

Дальше, что тебе потребуется,
так это настроить конфигурационный файл и смело
его запускать. Прежде всего скопируй файл
eggdrop.conf.dist в эту же директорию, но под другим
именем, назвать можешь просто xaker :). После этого в
режиме редактирования тебе нужно его настроить
под себя. Для тех, кому лень читать хелпы, я
приведу пример конфига, но для более
индивидуальной настройки бота придется конечно
же полазить по хелпам. Итак, пример конфига. Все,
что стоит после # — это комментарии, но самая
верхняя строка указывает путь для бота, который
ты должен точно указать (пример для пользователя
xaker).

#! /home/xaker/eggdrop1.4.3

##### GENERAL STUFF #####

set username "xaker" — задает имя
set admin "xaker <email: xaker@piva.net.ru>" — установка
админа и его мыло
set network "xaker.net" — установка название сети для
соединения ботов
set timezone "EST" — установка Центрального
Европейского времени
set offset "5" — установка шага изменения времени
set my-ip "IP сервера" — установка IP-адрес сервера

##### LOG FILES #####

set max-logs 5 — максимальное количество логов
set max-logsize 0 — максимальный размер логов, если стоит
0 — нет ограничения
set quick-logs 0 — запись логов и проверка их каждую
минуту, 0 — не проверяет
logfile mco * "eggdrop.log" — основной лог Eggdrop, туда
пишутся команды пользователей и другая
информация
logfile jk #xaker "xaker.log" — запись лога канала
set log-time 1 — вставляет время в лог
set keep-all-logs 0 — держит отдельные логи по 48 часов
set switch-logfiles-at 300 — каждый день пишется новый лог
set quiet-save 0 — включает сообщения типа "Writing user
file…" и "Writing channel file…"
set console "mkcobxs" — установки консоли по
умолчанию

##### FILES AND DIRECTORIES #####

set userfile "xaker.user" — название файла, в котором
будут записаны все юзеры
set sort-users 0 — включение или выключение сортировки
юзеров
set help-path "help/" — путь к файлам помощи
set temp-path "/tmp" — путь к каталогу tmp
set motd "motd" — установка сообщение дня
set telnet-banner "telnet-banner" — показывает специальный
флаг для telnet соединений

##### BOTNET #####

set botnet-nick "xaker" — название бота в сети ботов
listen 3333 all — установка порта для соединения, как для
ботов, так и для пользователей
set protect-telnet 0 — включает защиту телнета
set dcc-sanitycheck 0 — включает игнорирование telnet
соединения при определенных ошибках
set ident-timeout 5 — установка таймаута в секундах
set require-p 0 — рекомендуется флаг +р для глобальных
операторов или операторов канала
set open-telnets 0 — открывает доступ по telnet
set stealth-telnets 0 — запрашивает nickname при попытках
соединиться по telnet
set use-telnet-banner 0 — поуказывает флаг, если человек
зашел через telnet
set connect-timeout 15 — насколько долго ожидать ответа по
telnet, dcc
set dcc-flood-thr 3 — количество строк, при которых
происходит игнор в partyline
set telnet-flood 5:60 — количество соединений и время для
telnet соединений
set paranoid-telnet-flood 1 — защита от telnet флуда
set resolve-timeout 15 — время ожидания ответа на hostname/address
запроса

##### MORE ADVANCED STUFF #####

set ignore-time 15 — установка времени игнора
set hourly-updates 00 — ежечасное обновление базы
set owner "PUPKIN" — установка ника владельца бота
set notify-newusers "$owner" — уведомление владельца при
добалении новых пользователей
set default-flags "hp" — флаги по умолчанию для нового
пользователя (если ты добавил пользователя, но не
дал ему флаги)
set whois-fields "http://www.xaker.ru" — ответ на /whois запрос
set remote-boots 2 — включение разговоров с людьми с
других ботов в вашей сети ботов
set share-unlinks 1 — если не хочешь разъединять бота
через других командой
set die-on-sighup 0 — включение die или sighup
set die-on-sigterm 0 — включение die или sigterm
unbind dcc n tcl *dcc:tcl — включает ‘tcl’ команды для
владельца
unbind dcc n set *dcc:set — включает ‘set’ команды для
владельца
set must-be-owner 0 — только владелец может использовать
‘tcl’ и ‘set’
unbind dcc n simul *dcc:simul — владелец может управлять
пользователями в partyline
set max-dcc 50 — максимальное количество dcc соединений
set dcc-portrange 1024:65535 — диапазон портов, от 1024 до 65535
set enable-simul 1 — добавляет ‘dccsimul’ tcl команд (нужен
скрипт, рекомендуется action.fix.tcl)
set allow-dk-cmds 1 — допускает +d и +k флаги исполтьзовать
пользователям

########## MODULES ##########

set mod-path "modules/" — путь к модулям

##### CHANNELS MODULE #####

loadmodule channels — загрузить модуль каналов
set chanfile "xaker.chan" — установка файла канала
set ban-time 120 — временные баны, в минутах
set exempt-time 60 — включение +e моды, в минутах
set invite-time 60 — временные приглашения, в минутах
set share-greet 0 — разделение приветствий пользователя
set use-info 1 — пользователи могут добавлять
информацию о себе
set global-flood-chan 10:60 — установка глобального флуда
канала
set global-flood-deop 3:10 — установка глобального флуда
деопа
set global-flood-kick 3:10 — установка глобального флуда кика
set global-flood-join 5:60 — установка глобального флуда
входа
set global-flood-ctcp 3:60 — установка глобального флуда ctcp

#специальные установки для каналов по умолчанию
set global-chanset {
-clearbans -enforcebans
+dynamicbans +userbans
-autoop -bitch
+greet +protectops
+statuslog +stopnethack
-revenge -secret
-autovoice +cycle
+dontkickops -wasoptest
-inactive -protectfriends
+shared -seen
    +userexempts    +dynamicexempts
    +userinvites    +dynamicinvites
}

set global-chanmode "nt" — установки флагов на канал по
умолчанию

#специальные установки на специальный канал
(канал этот командой не может быть удален)
channel add #xaker {
chanmode "+nt-likm"
idle-kick 0
need-op { putserv "PRIVMSG #xaker :op me cos i’m lame!" }
need-invite { putserv "PRIVMSG #xaker :let me in!" }
need-key { putserv "PRIVMSG #xaker :let me in!" }
need-unban { putserv "PRIVMSG #xaker :let me in!" }
need-limit { putserv "PRIVMSG #xaker :let me in!" }
flood-chan 10:60
flood-deop 3:10
flood-kick 3:10
flood-join 5:60
flood-ctcp 3:60
}

##### SERVER MODULE #####

loadmodule server — загрузка модуля сервера
set net-type 0 — тип сети: 0 = Efnet (не +e/+I hybrid), 1 = IRCnet, 2 = Undernet,
3 = Dalnet, 4 = Efnet +e/+I hybrid, 5 = Другие сети
set nick "XAKEP" — установка ника бота
set altnick "_XAKEP_" — установка альтернативного
ника бота
set realname "/msg XAKEP hello" — установка реального
имени
set init-server { putserv "MODE $botnick +i-ws" } — запуск скрипта
при первом соединении с сервером
set servers {
irc.dal.net.ru:6666
koptevo.dal.net.ru:6667
forest.dal.net.ru:6667
} — открывает список серверов, куда будет
соединяться бот

set keep-nick 1 — если был сменен ник бота, он пытается
вернуть свой ник назад
set use-ison 1 — использование команд /ison и /trace
set strict-host 0 — специфическая установка hostname для
пользователей
set quiet-reject 1 — отказ в соединении при определенных
обстоятельствах
set lowercase-ctcp 0 — запрос низкого формата ctcp
set answer-ctcp 3 — количество запросов для ctcp
set flood-msg 5:60 — сколько строк и за какое время будет
считаться флудом для partyline
set flood-ctcp 3:60 — сколько строк и за какое время будет
считаться флудом для ctcp
set never-give-up 1 — если не было соединений по всем
серверам, то повторять заново
set strict-servernames 0 — если стоит 0 — eggdrop держит
разделенный список имен IRC серверов
set default-port 6667 — порт по умолчанию для соединения с
IRC сервером
set server-cycle-wait 60 — время ожидания повтора
set server-timeout 15 — время таймаута
set servlimit 0 — если номер серверов в сети меньше этого
номера, то будет попытка соединения с другим
сервером
set check-stoned 1 — проверять "плохие" сервера?
set use-console-r 0 — включение +r для консоли
set debug-output 0 — это большая дыра безопасности 🙂
set serverror-quit 1 — выход с сервера, если он посылает ERROR
сообщения
set max-queue-msg 300 — максимальное количество строк для
очереди сервера
set trigger-on-ignore 0 — запуск связей для игнора
пользователей
#допуск msg быть дважды в очереди
set double-mode 0
set double-server 0
set double-help 0

##### CTCP MODULE #####

loadmodule ctcp — загрузка модуля ctcp
set ctcp-mode 0 — нормальные установки для ctcp

##### IRC MODULE #####

loadmodule irc — загрузка модуля IRC
set bounce-bans 1 — установка снятия банов сервером
set bounce-modes 0 — установка снятия модов сервером
set kick-bogus-bans 1 — установка снятия киков сервером
set bounce-bogus-bans 1 — установка снятия богус банов
сервером
set max-bans 20 — установка максимального количества
банов для канала
set max-modes 30 — установка максимального количества
модов для канала
set allow-desync 0 — включение работы с IRC сервисами
set kick-bogus 0 — кик юзеров с богус модом
set ban-bogus 0 — бан юзеров с богус модом
set kick-fun 0 — включение аваланш киков
set ban-fun 0 — включение аваланш банов
set learn-users 0 — показывать пользователям вступление
на команду "hello"
set wait-split 600 — время в секундах ожидания
возвращения из сплита
set wait-info 180 — время в секундах для показа инфо в
канале после перезахода пользователя
set mode-buf-length 200 — максимум байт для отправки
аргументов
#включение команд /msg ident и /msg addhost
unbind msg — ident *msg:ident
unbind msg — addhost *msg:addhost
set no-chanrec-info 0 — автопоказ инфы о пользователях в
partyline
set revenge-mode 1 — определение наказывания
"плохих" пользователей

##### IRC MODULE — net-type 1 specific features (IRCnet) #####

set bounce-exempts 0 — показывает все +e моды сервера
set bounce-invites 0 — показывает все +I моды сервера
set max-exempts 20 — показывает максимум +е
set max-invites 20 — показывает максимум +I
set bounce-bogus-exempts 0 — удаляет богус исключения
set kick-bogus-exempts 0 — кикает пользователя, поставившего
богус исключение
set bounce-bogus-invites 0 — удаляет богус приглашения
set kick-bogus-invites 0 — кикает пользователя, поставившего
богус приглашение
set prevent-mixing 1 — предотвращает смешивание
нормальных способов +I/+e

##### TRANSFER MODULE #####

set max-dloads 3 — максимальное число скачиваний
set dcc-block 1024 — блокирование пакетов длиной 1024 байт
set copy-to-tmp 1 — копирует файлы в tmp директорию
set xfer-timeout 30 — время таймаута dcc пересылки файла

##### FILESYSTEM MODULE #####

set files-path "/home/xaker/eggdrop1.4.3" — путь к файлам
set incoming-path "/home/xaker/eggdrop1.4.3/incoming" — путь к
директории для входящих файлов
set upload-to-pwd 0 — заменить или нет существующий файл
set filedb-path "/home/xaker/eggdrop1.4.3" — путь к базе данных
set max-file-users 20 — максимальное кол-во пользователей,
которые могут пользоваться файлами через бота
set max-filesize 1024 — максимальный размер файлов

##### NOTES MODULE #####

loadmodule notes — загрузить модуль сообщений
set notefile "xaker.notes" — название файла сообщений
set max-notes 50 — максимальное количество сообщений
set note-life 60 — время в днях до истечения
set allow-fwd 0 — разрешает пользователям пересылать
сообщения на других ботов или специфический
адрес
set notify-users 1 — показывает пользователям кто им
оставил сообщение
set notify-onjoin 1 — уведомление о сообщении при входе

##### CONSOLE MODULE #####

loadmodule console — загрузка модуля консоли

##### variables:

set console-autosave 1 — включить автосохранение консоли
set force-channel 0 — установка автоматического наложения
способов приглашения
set info-party 0 — показывает глобальную информацию
пользователя

##### SEEN MODULE #####

loadmodule seen — загрузка модуля seen

##### SCRIPTS #####

#пути к подключаемым скриптам и файлам помощи
source scripts/alltools.tcl
source scripts/action.fix.tcl
source scripts/userinfo1.0.tcl
loadhelp userinfo.help

После того, как ты отредактировал конфиг, тебе
необходимо создать директорию TMP в каталоге
eggdrop1.4.3. Теперь тебе нужно всего лишь запустить
бота. Запомни, что первый раз, когда запускаешь
Eggdrop, нужно запускать с флагом -m, а все
последующие разы без этого флага. Пример: ./eggdrop -m
xaker (xaker — это скопированный и отредактированный
файл eggdrop.conf.dist). В результате ты должен получить
навроде:

[xaker@cpu eggdrop1.4.3]$ ./eggdrop -m xaker
[15:24] LANG: 394 messages of 431 lines loaded from ./language/core.english.lang
[15:24] LANG: 394 adds, 0 updates to message table

Eggdrop v1.4.3 (c)1999 Robey Pointer
[15:24] — Loading eggdrop v1.4.3 (Tue Jun 13 2000)
[15:24] Listening at telnet port 3333 (bots)
[15:24] Listening at telnet port 3333 (users)
[15:24] Module loaded: channels
[15:24] === SERVER SUPPORT LOADED
[15:24] Module loaded: server
[15:24] Module loaded: ctcp
[15:24] Module loaded: irc
[15:24] Module loaded: transfer
[15:24] Module loaded: notes
[15:24] Module loaded: console
[15:24] Module loaded: blowfish
[15:24] Userinfo v1.02 by ButchBub loaded for: URL BF GF IRL EMAIL DOB.
[15:24] use ‘.help userinfo’ for comands.
[15:24] bseen1.4.2c: — Bass’s SEEN loaded —
[15:24] Loading seen database…
[15:24] Done loading 1861 seen records.
[15:24] NickServ nick Keeper by  Bigooo  Loaded !
[15:24] Userfile loaded, unpacking…
[15:24] === XAKEP: 6 channels, 18 users.

Launched into the background (pid: 28095)

[xaker@cpu eggdrop1.4.3]$

После того, как ты запустил бота, беги скорее
через IRC на сервер и пиши следующее: /msg xaker hello :).
Бот тебе ответит, что ты стал его владельцем и
выдаст некоторую информацию. Тебе останется
только ввести для него пароль и потом сделать на
него dcc chat. Все команды в консоли бота пишутся
через ".", для того, чтобы посмотреть более
полный список команд, пиши в консоли .help.

Полезные советы:

— используй всегда самую
последнюю версию eggdrop, она обычно включает все
навороты предыдущих, плюс свои
— в eggdrop применяется кодирование паролей, так что
просто так пароль узнать нельзя
— в eggdrop большой выбор подключаемых скриптов,
которые давно отлажены и хорошо работают
— два или несколько ботов можно объединить в одну
сеть
— в зависимости от того, как соединить ботов в
сеть, можно сделать одну общая или несколько
разных баз пользователей
— боты изначально не умеют вести статистику,
разговоривать и прочее — для этого требуется
навешивать на них дополнительные скрипты
— самая лучшая статистика посещений лежит на
http://gamma.nic.fi/~mauvinen/mircstats/

Оставить мнение

Check Also

Скрытая сила пробела. Эксплуатируем критическую уязвимость в Apache Tomcat

В этой статье мы поговорим о баге в Apache Tomcat, популярнейшем веб-сервере для сайтов на…