|
In realtà ciò che segue non è un help
bensì un programma scritto da me in bash script
(Sistemi *nix) il cui compito è quello di creare
da se un file di configurazione valido per ogni eggdrop
recente e ovviamente è ben spiegato ^_^
# /bin/sh
# path = eggdrop path
#
# ATTENZIONE: ricordarsi prima di avviare il config generator,
di creare un userfile
# contenente il solo amministratore/botnet-linker (.user),
il file di note vuoto (.notes)
# ed infine il file di canale (.chan) vuoto anch'esso. ENJOY!
#
# Sintassi ./configure bot00* (* = 1..n bots)
#
echo Confgen v2.0 for eggdrop1.6.x by Delphiman
rm -rf $1.conf $1.user $1.chan $1.notes
echo -n 'Inserisci il nick del bot: '
read nck
cp .user $1.user
cp .chan $1.chan
cp .notes $1.notes
echo -n 'IPv6 o IPv4 (4/6)? '
read ip
case "$ip" in
6)
if [ ! -d /proc/sys/net/ipv6 ]
then
/sbin/modprobe ipv6
if [ ! -d /proc/sys/net/ipv6 ]
then
echo "Supporto ipv6 non presente"
exit 1
fi
fi
echo "Controllo IPv6 eseguito e positivo...[ OK ]"
echo "Inserisci IPv6 (assicurati di aver settato il
tb): "
read V6ADDR
V4=n
V6=y
;;
4)
echo -n 'Interfaccie disponibili: | '
echo -n `/sbin/ifconfig | grep lo | cut -f 1 -d ' '`' '
echo -n `/sbin/ifconfig | grep ppp0 | cut -f 1 -d ' '`'
'
echo -n `/sbin/ifconfig | grep eth0 | cut -f 1 -d ' '`'
'
echo -n `/sbin/ifconfig | grep eth1 | cut -f 1 -d ' '`'
'
echo -n `/sbin/ifconfig | grep eth2 | cut -f 1 -d ' '`'
'
echo -n `/sbin/ifconfig | grep eth3 | cut -f 1 -d ' '`'
'
echo -n `/sbin/ifconfig | grep eth4 | cut -f 1 -d ' '`'
|'
echo ""
echo -n 'Selezionare interfaccia: '
read INTERFACE
V4ADDR=`/sbin/ifconfig $INTERFACE | grep inet | tr -s '
' | tr ':' ' ' | cut -f 4 -d ' '`
echo "Indirizzo interfaccia $INTERFACE...$V4ADDR "
V4=y
V6=n
;;
*)
echo "Hai sbagliato ad inserire, lamero!"
exit 1
;;
esac
case "$1" in
bot001)
port=3184
;;
bot002)
port=5555
;;
bot003)
port=31841
;;
bot004)
port=55551
;;
*)
port=3184
;;
esac
echo Setting Listening port on $port
# listen 3333 bots (porta usata per i link tra i bots)
# listen 4444 users (porta usata per relay o telnet solo
per gli users)
echo -n 'Vuoi cambiarla? (s/n) '
read answer
case "$answer" in
n)
;;
s)
echo -n 'Inseriscila (1024-65535): '
read port
echo Setting Listening port on $port
;;
*)
echo "Hai sbagliato ad inserire, lamero!"
exit 1
;;
esac
echo '#Confog generated by --> Confgen for eggdrop1.6.x
(Powered by Delphiman)v2.0b <--' >$1.conf
# Variabile importante che configura il nick del vostro
eggdrop, questa stessa variabile
echo 'set nick "'$nck'"' >>$1.conf
# Variabile temporanea attiva solo nel caso in cui il nick
principale del bot sia già occupato
# sulla rete IRC al quale lo connettete
echo 'set altnick "|'$nck'|"' >>$1.conf
# Il realname è una semplice variabile IRC in cui
va inserito il vero nome dellutente
# ma essendo lutente un programma stesso conviene
semplicemente inserire il nick
# (consiglio utile anche quando gli utenti sono persone
davvero)
# La variabile prima del nick nellusername consiste
nel colore (ad esempio
# \00304 sarebbe rosso mentre \00301 torna al caro vecchio
nero)
echo 'set realname "\00304'$nck'\00301"' >>$1.conf
# Questa variabile definisce lusername che il bot
usa su IRC ma questo
# tipo di variabile non ha nessun effetto se il sistema
dispone di demone identd
# in questo caso verrà settato automaticamente come
username, il nome
# dellaccount che si ha sulla macchina stessa (root/admin/user)
echo 'set username "'$nck'"' >>$1.conf
# Valore che consiste in un comando dato al server irc per
i settaggi generici
# (/mode nick +i ad esempio vi setta invisibili, +r vi setta
ristretti ecc.)
echo 'set init-server { putserv "MODE $botnick +i-ws"
}' >>$1.conf
# Questa variabile fa sì che quando si effettui il
comando (.jump nomeserver)
# non ci sia bisogno di specificare la porta di connessione
che viene automaticamente
# impostata a 6667 (Se la si vuole cambiare basta semplicemente
eseguire:
# .jump nomerserver numeroporta
echo set default-port 6667 >>$1.conf
# Semplice lista di server irc generici utilizzata per ricordare
le possibili scelte
# di server sulla rete IRCNET Europe Ipv4/Ipv6
echo -n 'Visualizza lista server irc? (s/n) '
read answer
case "$answer" in
n)
;;
s)
echo "Vari server IRCnet (IPv4): irc.tin.it:6668 (*.it)"
echo " irc.freenet.de:6668 (*.de)"
echo " irc-2.stealth.net:5554 (*)"
echo " globali-r.us.ircnet.net:6669 "
echo ""
echo "Vari server IRCnet (IPv6): irc6.edisontel.it:6667"
echo " irc6.ngnet.it:6667 "
echo " ircnet.wanadoo.be:6667"
echo " eu.irc6.net:6667 "
;;
*)
echo "Hai sbagliato ad inserire, lamero!"
exit 1
;;
esac
# Più chiaro di così
echo "Inserisci due IRC server a cui far connettere
il bot:"
echo -n "1) "
read srv
echo -n "2) "
read altsrv
echo "Il file $1.conf è stato generato.... Enjoy
kiddies!"
# Inserimento dei server inseriti nel file di configurazione
echo set servers { >>$1.conf
echo $srv >>$1.conf
echo $altsrv >>$1.conf
echo } >>$1.conf
if [ $V4 = y ] ; then
echo 'set my-ip "'$V4ADDR'"' >>$1.conf
fi
if [ $V6 = y ] ; then
echo 'set my-ip6 "'$V6ADDR'"' >>$1.conf
fi
cat >> $1.conf <<__eof__
#Dati standard:
set admin "Admin <email: botadmin@email>"
# Informazione sul network a cui l'eggdrop è connesso.
set network "IRCNet/DALNet/EFNet/AzzurraNet/ecc ecc.
(scegline uno)"
# Che tempo fa lì in Italia?
set timezone "CET"
set offset "-1"
# Nel caso abbiate i vostri cari core.lang.italian ecc ecc
#addlang "italian"
#Informazioni sullhost del sistema
#-Ipv4
#set my-hostname "virtual.host.com ipv4"
#set my-ip "ipv4"
#-Ipv6
#set my-hostname6 "virtual.host.com ipv6" (ipv6)
#set my-ip6 "3ffe:2:3:4:5:6:7:8" (ipv6)
##### LOG FILES #####
# Leggdrop è capace di loggare molte cose,
dalla chattata di canale
# ai comandi che la gente usa sui bots e sui trasferimenti
di files
# I files di log vengono conserati di default per 24 ore,
dopo di che
# vengono rinominati a (nomefiledilog).yesterday (ieri).
E quindi
# dopo 48 ore vengono sovrascritti.
# Gli eventi sono loggati in alcune categorie contrassegnate
da flags.
#
# Le più comuni flags per i file di logs sono:
# m messaggi/ctcp privati al bot
# k kicks, bans, cambiamenti delle flag di canale
# j joins, parts, splits sul canale
# p ciò che viene scritto sul canale
# s connessioni e disconnessioni con il server e le notices
# b informazioni sul bot linking e sulla condivisione delluserfile
# c comandi usati (via msg o dcc)
# x trasferimenti di files o comandi dati nellarea
files
# r (se è abilitata la variabile use-console-r (set
use-console-r 1) ogni cosa che il server
manda al bot
# o altre cose come errori
# w wallops: messaggi tra ircops
#
# Numero massimo di files di log permessi
set max-logs 5
# Numero massimo della grandezza dei files di log
# (0 = disabilitato / altri valori = grandezza in kbytes
dei files di log)
set max-logsize 0
# Esempio:
# This creates a logfile named eggdrop.log containing private
msgs/ctcps,
# commands, errors, and misc. info from any channel.
# logfile flags specificate prima (Es: mco)
* "file.log"
# Salva tutti i files di log
set keep-all-logs 0
# Se keep-all-logs è settato a 1, questo settaggio
darà il suffisso ai files di log.
# Lesempio è del tipo 24Maggio2002
# set logfile-suffix ".%d%b%Y"
# Specifica lora in cui viene riavviato il logging
# Es: 03:00 (AM).
set switch-logfiles-at 300
# Altri settaggi
set log-time 1
set quick-logs 0
set quiet-save 0
set console "mkcobxs"
##### FILES AND DIRECTORIES #####
# File che contiene il file degli utenti
set userfile "$1.user"
# Ordina utenti
set sort-users 0
# Lasciare invariato...
set help-path "help/"
set text-path "text/"
set temp-path "/tmp"
set motd "text/motd"
set telnet-banner "text/banner"
set userfile-perm 0600
##### BOTNET #####
# Questa variabile assume il valore del settaggio set
nick
# nel caso non sia specificata quindi spesso non conviene
specificarla
#set botnet-nick "LlamaBot"
listen $port all
set protect-telnet 0
set dcc-sanitycheck 0
set ident-timeout 10
set require-p 1
set open-telnets 0
set stealth-telnets 0
set use-telnet-banner 0
set connect-timeout 20
set dcc-flood-thr 3
set telnet-flood 5:60
set paranoid-telnet-flood 1
set resolve-timeout 15
##### MORE ADVANCED STUFF #####
#set firewall "sock:1080"
# set nat-ip ip_server -> non specificare
my-ip e my-hostname
set ignore-time 15
set hourly-updates 00
set owner "Delphiman"
set notify-newusers "$owner"
set default-flags "f"
set whois-fields "url birthday"
set remote-boots 1
set share-unlinks 1
set die-on-sighup 0
set die-on-sigterm 1
unbind dcc n tcl *dcc:tcl
bind dcc n set *dcc:set
set must-be-owner 2
unbind dcc n simul *dcc:simul
set max-dcc 50
set dcc-portrange 1024:65535
set enable-simul 1
set allow-dk-cmds 1
set dupwait-timeout 5
########## MODULES ##########
set mod-path "modules/"
#### DNS MODULE #####
#loadmodule dns
##### CHANNELS MODULE #####
loadmodule channels
set chanfile "$1.chan"
set ban-time 180
set exempt-time 30set invite-time 20
set share-greet 0
set use-info 1
set global-flood-chan 0:0
set global-flood-deop 3:10
set global-flood-kick 3:10
set global-flood-join 5:60
set global-flood-ctcp 3:60
set global-flood-nick 5:60
set global-aop-delay 5:30
set global-idle-kick 0
set global-chanmode "nt"
set global-stopnethack-mode 0
set global-revenge-mode 1
set global-chanset {
-autoop -autovoice
-bitch +cycle
+dontkickops +dynamicbans
+dynamicexempts +dynamicinvites
-enforcebans +greet
-inactive -nodesynch
-protectfriends -protectops
-revenge -revengebot
+secret -seen
+shared +statuslog
+userbans +userexempts
+userinvites
}
#ONLY DYNAMIC CHANNELS are sets (.+chan)
##### SERVER MODULE #####
loadmodule server
set keep-nick 1
set strict-host 0
set quiet-reject 1
set lowercase-ctcp 0
set answer-ctcp 3
set flood-msg 5:60
set flood-ctcp 3:60
set never-give-up 1
set strict-servernames 0
set server-cycle-wait 30
set server-timeout 60
set servlimit 0
set check-stoned 1
set use-console-r 1
set debug-output 0
set serverror-quit 1
set max-queue-msg 300
set trigger-on-ignore 0
set double-mode 0
set double-server 0
set double-help 0
set optimize-kicks 1
##### CTCP MODULE #####
loadmodule ctcp
set ctcp-mode 0
#### COMPRESS MODULE ####
#loadmodule compress
#set share-compressed 1
#set compress-level 9
##### IRC MODULE #####
loadmodule irc
set bounce-bans 1
set bounce-modes 0
set max-bans 20
set max-modes 30
set kick-fun 0
set ban-fun 0
set learn-users 0
set wait-split 900
set wait-info 30
set mode-buf-length 200
#unbind msg - hello *msg:hello
#bind msg - myword *msg:hello
bind msg - ident *msg:ident
unbind msg - addhost *msg:addhost
set no-chanrec-info 0
##### IRC MODULE - net-type 1 specifica IRCnet #####
set net-type 1
# 0 = EFnet (non +e/+I hybrid)
# 1 = IRCnet
# 2 = Undernet
# 3 = DALnet
# 4 = EFnet +e/+I hybrid
# 5 = Others
set bounce-exempts 0
set bounce-invites 0
set max-exempts 20
set max-invites 20
set prevent-mixing 1
##### TRANSFER MODULE ##### Lasciare invariato
loadmodule transfer
set max-dloads 6
set dcc-block 1024
set copy-to-tmp 0
set xfer-timeout 30
##### SHARE MODULE ##### Lasciare invariato
loadmodule share
##### COMPRESS MODULE ##### Lasciare invariato
loadmodule compress
set share-compressed 1
set compress-level 5
##### FILESYSTEM MODULE #####
# Modulo utile nel caso si voglia utilizzare leggdrop
come
# file server.
#loadmodule filesys
#set files-path "/home/mydir/filesys"
#set incoming-path "/home/mydir/filesys/incoming"
#set upload-to-pwd 0
#set filedb-path ""
#set max-file-users 20
#set max-filesize 1024
##### NOTES MODULE #####
# File nel quale vengono registrate le note da utenti ad
altri utenti delleggdrop
# Lasciare invariato il restante
loadmodule notes
set notefile "$1.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
set force-channel 0
set info-party 0
##### WOOBIE MODULE #####
#loadmodule woobie
##### SEEN MODULE #####
loadmodule seen
##### BLOWFISH MODULE #####
checkmodule blowfish
##### ASSOC MODULE #####
loadmodule assoc
##### WIRE MODULE #####
loadmodule wire
#### UPTIME MODULE ####
# Manda i dati sulluptime (e molto altro) a http://uptime.eggheads.org
# loadmodule uptime
##### SCRIPTS #####
# Per quanto riguarda luso delle tcl ci vuole una
sezione apparte perchè
# possono influenzare moltissimo leggdrop stesso.
source scripts/alltools.tcl
source scripts/action.fix.tcl
source scripts/compat.tcl
source scripts/userinfo.tcl
source scripts/botnetop.tcl
source scripts/netbots.tcl
#source scripts/altra_tcl.tcl
loadhelp userinfo.help
__eof__
# Pulizia ripetizioni
cp $1.conf appo
rm -rf $1.conf
cat appo | grep -v 'set my-ip ""' >$1.conf
rm -rf appo
cp $1.conf appo
rm -rf $1.conf
cat appo | grep -v 'set my-ip6 ""' >$1.conf
rm -rf appo
----- ALTRE INFO UTILI:
Variabili che vengono assegnate al canale quando la botnet
viene joinata:
(- significa disattivata, + attivata)
quelli non spiegati sono facili da intuire
set global-chanset {
-autoop (oppa chi ha la operflag)
-autovoice (da il voice a chi ha la flag v)
-bitch (non permette op manuali)
+cycle (se il chan è opless e ci sono solo i bots,
provano a uscire tutti per riprendersi il canale)
+dontkickops (non kikka gli operatori se fanno qualcosa
di illegale)
+dynamicbans (i bans vengono settati e poi tolti dopo un
tot di tempo)
+dynamicexempts (stessa cosa per le eccezioni)
+dynamicinvites (stessa cosa per gli inviti)
+enforcebans (kikka coloro che son stati bannati)
+greet
-inactive (esce dal canale ma mantiene le flag)
-nodesynch
-protectfriends
+protectops
-revenge (se il bot viene espulso in qualche modo, quando
rientra si vendica)
-revengebot (se un bot viene espulso in qualche modo, gli
altri lo vendicano)
-secret
-seen
+shared
+statuslog
+userbans
+userexempts
+userinvites
-protecthalfops (inutile su ircnet)
-autohalfop (inutile su ircnet)
}
Canali statici che ogni bot joina automaticamente appena
connesso
channel add #canale_statico {
chanmode "+nt-likm" (settaggi di canale)
idle-kick 0 (caccia la gente che sta muta per troppo tempo)
stopnethack-mode 1 (attenzione ai netsplit)
revenge-mode 1 (vendetta...)
-- piccolo script tramite il quale i bots si passano informazioni
sul canale
aop-delay 5:30
need-op { putserv "PRIVMSG #lamest :op me cos i'm lame!"
}
need-invite { putserv "PRIVMSG #lamest :let me in!"
}
need-key { putserv "PRIVMSG #lamest :let me in!"
}
need-unban { putserv "PRIVMSG #lamest :let me in!"
}
need-limit { putserv "PRIVMSG #lamest :let me in!"
}
--
flood-chan 10:60 (caccia chi scrive 10 frasi in canale ogni
minuto)
flood-deop 3:10 (classifica come pericoloso un deop di 3
persone in 10secondi)
flood-kick 3:10 (classifica come pericoloso un kick di 3
persone in 10secondi)
flood-join 5:60 (classifica come pericoloso un join di 5
persone in 1minuto)
flood-ctcp 3:60 (classifica come pericolosi 3 comandi ctcp
al bot in un minuto)
flood-nick 5:60 (classifica come pericoloso un cambio di
nick di una persona per 5 volte
in un minuto)
}
Bye,
Delphiman
|