Formichina con guida sulle spalle Guida Eggdrop

 

 

 
simbolo: livello medio

Guida dettagliata alla compilazione

 

>Come ottenere la fonte di un Eggdrop

   

- Download

 

>Installazione

 

>Configurazione

   

- Compilazione del file config

   

- Compilazione del file botchk

 

>Avvio dell'Eggdrop

simbolo: livello avanzato
simbolo: livello medio
 

>DCC Chat e Party-line

   

- Telnet

 

>Uso della Console

 

>Comandi attraverso messaggi

 

>Comandi pubblici

 

>Il File User

   

- Visualizzazione di tutti gli utenti

   

- Cambiare la password di un utente

   

- Flags utente

   

- Aggiungere/rimuovere Hostmask

 

> La Ban List

   

- Visualizzare la lista dei ban

   

- Aggiungere/rimuovere i ban

   

- Fare un ban sticky

 

>Impostazioni di canale

   

- Impostazioni dinamiche per un canale

   

- Il Chanfile

simbolo: livello avanzato

Potenziare l'Eggdrop

 

>Settare una botnet

 

>Utilizzo degli script Tcl

 

>Utilizzo delle patches

 

>Utilizzo dei file per la lingua

 

>Protezione del bot e sicurezza

 

 

 

 

simbolo: livello medioGUIDA DETTAGLIATA ALLA COMPILAZIONE

 

COME OTTENERE LA FONTE DI UN EGGDROP

Ci sono molte versioni differenti di Eggdrop disponibili per il download da vari siti FTP.
Quattro sono le versioni maggiormente in uso al momento: 1.1.5, la serie 1.3 , la serie 1.4 e Eggdrop2 (anche conosciuto come serie 2.0).
Esistono ulteriori versioni incluse la serie 0.9, la serie 1.0 e la 1.2.0 ma queste non sono molto usate. Un nuovo 1.5 è in sviluppo e probabilmente rilasciato come 1.6.
La versione 1.1.5 è usata dagli utenti più esperti che l'hanno adattata spendendo molto tempo nell'applicazione delle proprie modifiche al fine di consentire un funzionamento adeguato alle proprie eseigenze, ragion per cui sono piuttosto restii a passare ad una versione più recente. Molti considerano la versione 1.1.5 la più stabile e con meno bug, ma la 1.3 è più raffinata di quella che era in passato ed è, complessivamente, un bot migliore del datato 1.1.5.
L' Eggdrop2, che è sostanzialmente riscritto dall'originale Eggdrop, è stato recentemente diffuso al pubblico in versione beta, ma è considerato un po' buggato, al punto che gli sviluppatori hanno deciso di concentrarsi all'inizio sui bisogni dei codificatori piuttosto che degli utenti.
Non vi sono più state nuove uscite pubbliche dell'Eggdrop2 da diverso tempo.
Le migliori versioni di Eggdrop, per molti, sono i recenti bot della serie 1.3 e 1.4. La serie 1.3 è stata rinominata in 1.4 come parte di un nuovo sistema di numerazione (1.4.0 segue 1.3.28). Sebbene il team ufficiale di sviluppo non lavori più sulla 1.3 per concentrarsi sullo sviluppo dell'Eggdrop2 un nuovo team assicura lo sviluppo del 1.3.
L'ultima uscita del vecchio team di sviluppo è stata la 1.3.23, la prima uscita del nuovo team è stata la 1.3.24. La versione corrente è la 1.4.4.
A nostro avviso, le serie 1.3.27,1.3.28 e la 1.4 rappresentano al momento le migliori versioni di Eggdrop.
Si consiglia per i neofiti una di queste versioni.

seleziona: torna all'indice della sezione

 

DOWNLOAD

In primo luogo Eggdrop è distribuito sui server FTP in formato tarball (con l'estensione del file .tar.gz), con il nome della versione nel nome del file. La sorgente dell'Eggdrop 1.3.18, per esempio, dovrebbe essere chiamata eggdrop1.3.18.tar.gz.
Nell'area file del sito www.egghelp.org sono contenute le ultime versioni di Eggdrop, così come le più importanti tra le vecchie uscite; ftp.eggheads.org/pub/eggdrop/ è il sito ufficiale per le ultime uscite di Eggdrop 1.3 e 1.4; ftp.eggdrop.net/pub/eggdrop/ è lanciato dal vecchio team di sviluppo di Eggdrop ed è un indicato per scaricare Eggdrop2 e le più vecchie versioni di Eggdrop. Si può scaricare direttamente sulla propria shell usando il client FTP della shell (si veda http://www.egghelp.org/shell.shtml#ftp) , ma si raccomanda di scaricare Eggdrop sul proprio sistema (e poi caricarlo sulla shell) così da avere una copia locale del file config, documentazione, ecc da consultare all'occorrenza (si può usare WinZip per scompattare il file tar.gz sul propriosistema).
Se si scarica un Eggdrop con una vecchia versione di Explorer o Netscape, il nome del file potrebbe essere modificato in qualcosa del tipo eggdrop1_3_28_tar.tar una volta scaricato. Se ciò accade, ci si assicuri di cambiarlo nuovamente in eggdrop1.3.28.tar.gz.

seleziona: torna all'indice della sezione

 

INSTALLAZIONE

Installare l'Eggdrop è un'operazione relativamente semplice purchè la propria shell sia dotata degli strumenti richiesti per la compilazione.
Su molti accounts di shell commerciali che permettono i bots non dovrebbero presentarsi problemi di installazione, ma su alcuni boxes privati o shells del proprio ISP si potrebbe incappare in errori durante la compilazione.

Si riporta di seguito una guida passo passo sul procedimento di installazione. Le istruzioni riportate si riferiscono al bot 1.3.
Si dà per scontato che si stia installando un eggdrop1.4.4.tar.gz, perciò se si installasse un'altra versione bisognerà cambiare il nome.

1) Si carichi la fonte dell'Eggdrop sulla shell usando uno degli indirizzi per il download sopra specificati. Sia che si scarichi sul proprio sistema il file eggdrop1.4.4.tar.gz attraverso FTP (raccomandato), sia che lo si scarichi direttamente sulla shell usando l'FTP della shell non c'è bisogno di colocare il file .tar.gz nella sua directory (verrà fatto automaticamente nel successivo passo).
2) Si faccia un telnet alla shell (se non si è ancora fatto) e e si digiti:
tar zxvf
eggdrop1.4.4.tar.gz (altrimenti si provi: gunzip eggdrop1.4.4.tar.gz e poi: tar xvf eggdrop1.4.4.tar) questo estrarrà la fonte dell'Eggdrop nella directory di installazione, chiamata 'eggdrop1.4.4'.
3) Se si sta per usare un Eggdrop 1.3/1.4 su un network IRC che supporta nicknames più lunghi di nove caratteri (x es DALnet) si avrà bisogno di modificare il file eggdrop.h nella directory src. Pertanto si faccia un FTP alla shell, si scarichi /eggdrop1.4.4/src/eggdrop.h, poi si apra il file con un editor di testo (pico, vi).
Si cerchino i settaggi HANDLEN e NICKMAX e si cambi il numero massimo di caratteri con quello permesso dal proprio network IRC, quindi si salvi il file e lo si carichi (sovrascrivendo l'eggdrop.h esistente)
4) Si digiti cd eggdrop1.4.4 per passare nella directory della fonte dell'Eggdrop da cui è stato estratto.
5) Si digiti ./configure (punto seguito da uno slash seguito dalla parola 'configure'). Questo assicura che la shell abbia tutti gli strumenti giusti per la compilazione dell'Eggdrop e aiuta l'Eggdrop a capire come compilare sulla shell.
6) Quando la configurazione è completata si digiti make per compilare l'Eggdrop.
Il processo richiede circa 2 minuti o anche meno su sistemi veloci, di più su sistemi lenti.
7) Si digiti make install DEST=~/botdir
Tale comando installarà l'Eggdrop in una directory chiamata 'botdir'. Si puòi cambiare 'botdir' in ciò che si vuole. Si noti che con Eggdrop 1.4.2 e precedenti era necessario specificare l'intero percorso, per es. make install DEST=/home/cooldude/botdir -del resto il segno ~ in make install non sempre funziona. Per conoscere l'intero percorso da inserire si digiti il comando pwd
8) Ora si può tornare alla root della directory usando cd~
Si scriva chmod 700 (nella directory del bot) per tener nascosto il contenuto della directory del bot ad occhi indiscreti.
9) Si può quindi cancellare tranquillamente la directory d'installazione chiamata 'eggdrop1.4.4' che era stata creata precedentemente (per farlo, si scriva: cd ~ poi rm -r eggdrop1.4.4) , anche se alcuni possono ritenere comodo tenere tale directory che contiene un campione del file di configurazione (se ne avrà certamente bisogno se non si è scaricata una copia della fonte dell'Eggdrop sul proprio sistema) e tutti i documenti.


Questo è tutto!
L' Eggdrop è installato nella sua directory sulla shell.


E' il momento di impostare il file di configurazione per far funzionare l'Eggdrop come si desidera.

 

seleziona: torna all'indice della sezione



CONFIGURAZIONE

Due sono i file che si deve compilare prima di avviare il proprio Eggdrop:
-il file di configurazione e (facoltativamente) il file botchk.
Un esempio del file di configurazione è reperibile nella directory da cui si è estratta la fonte dell'Eggdrop, sotto il nome di 'eggdrop.conf.dist', e il file 'botchk' può essere trovato nella sottodirectory /script.
Se si èscaricato l'Eggrop sul sistema si puo estrarre il file tarball (.tar.gz) dalla sua stessa directory usando WinZip o un programma simile, e vedere il file eggdrop.conf.dist, il file botchk,e tutti i files di documentazione. Si puoi utilizzare Notepad per compilare questi files sebbene qualche volta sia meglio usare un editor che supporti il formato file UNIX comead esempio EditPlus.

 

seleziona: torna all'indice della sezione


COMPILAZIONE DEL FILE CONFIG

Per prima cosa è necessario modificare il nome del file di configurazione con qualcosa di diverso da 'eggdrop.conf.dist', dandogli un nome più comune per un bot (per es. NiceBot.conf).
L' Eggdrop ha solitamente numerose opzioni da configurare e la compilazione del file di configurazione può richiedere un po' di tempo.
Nel file di configurazione dovrà essere inserito il server IRC che il bot userà, il canale in cui il bot sarà messo e le altre opzioni utili.
E' sconsigliabile scorrere l'intero file di configurazione per assicurarsi che il bot sia configurato esattamente come si desidera.Tutte le opzioni del file di configurazione includono delle spiegazioni da leggere attentamente, sebbene alcune siano un po' vaghe.
I neofiti che intendono mettere su il bot e con minor fatica possibile, possono provare il mio file simple.conf. Si tratta di una versione semplificata del file eggdrop.conf.dist, che contiene solo le opzioni di base richieste per un bot di canale.
In ogni caso, se si vuol utilizzare tutti i vantaggi che l'Eggdrop ha da offrire, sarà indispensabile spendere del tempo extra de andare oltre per capire tutte le opzioni del file eggdrop.conf.dist.
Se si stai compilando il file config sul proprio sistema (solitamente è una buona idea dal momento che compilarlo sulla shell può essere piuttosto scomodo), esso dovrà essere caricato nella directory del bot una volta finito.
Di seguito si sono elaborati alcuni suggerimenti per molti settaggi, ma non è una lista completa.

Nota: se si sta usando una versione di Eggdrop più vecchia della 1.3.27, alcune delle impostazioni qui sotto non saranno applicate-se non sono incluse nell'eggdrop.conf.dist, che dipende dalla propria versione di Eggdrop, pertanto il settaggio non sarà supportato.

Probabilmente si noterà che molte delle opzioni non sono commentate (sono commentate quelle precedute dal carattere # = cancelletto) un setteggio non commentato può anche significare che il settaggio non è usato o che è impostato di default.
Rimuovendo il simbolo # si può decommentare il settaggio.
Molte delle opzioni possono essere impostate con 0 o 1 (0 significa che l'opzione è disabilitata, mentre 1 che è abilitata).
Se si sta modificando simple.conf invece di eggdrop.conf.dist si possono saltare le spiegazioni che seguono, dal momento che la maggior parte delle opzioni più complesse non sono utilizzabili.

set username (nome utente): se la propria shell manda l'idendt (molte lo fanno), bisogna settarlo col login del proprio account.

set my-hostname e set my-ip: bisognerà settarli se si vuole che il proprio bot usi un vhost (i vhost sono reperibili nelle info della shell, con un opportuno comando, che può cambiare da shell a shell si ottine l'elenco dei vhost disponibili).
Il settaggio my-hostname riguarda il vhost, per es linux.niceshells.net, mentre my-ip è l' indirizzo IP abbinato al vhost, x es. 206.343.63.217. Non c'è bisogno di settarli entrambi, ma è raccomandabile in quanto può essere utile se la shell ha problemi col DNS.

logfile: tenere i logs è un buona idea. Di solito si può aver un log per ogni bot e un log per ciascun canale.
Per il bot: si aggiunga la linea: logfile mcobxs * "botnick.log" al file di configurazione.
Per i canali: si aggiunga: logfile jkp #donkeys "#donkeys.log", logfile jkp #horses "#horses.log", ecc.
Ci si assicuri di togliere la riga del file log di esempio per il canale #lamest.Se si vuol mettere i file log nella propria directory, bisognerà specificala nel nome del log (x es. logfile jkp #donkeys "logs/#donkeys.log" per scrivere il file log nella directory /log ).

set sort-users: di default le entrate dei fileusers sono ordinate per ciascun utente nell'ordine in cui è stato aggiunto, dal primo all'ultimo. Settandolo su 1 si baserà l'ordine della lista utenti sulle flag degli utenti. Entrambi i metodi sono utili - si consiglia di lasciare il settaggio 0 per cominciare.

listen 3333 all: si vorrà chiaramente modificarlo. Si scelga una porta tra 4000 e 65536. E' possibile disabilitarlo togliendo il commento(#), ma questo impedirà qualunque telnet al bot (non si sarà pertanto in grado di usare il bot come hub, non potrai fare un telnet al bot, e il bot non risponderà alle richieste /ctcp botnick CHAT). Si può settare invece, commentanto questa opzione una porta diversa per i bot e una per gli utenti.

set protect-telnet: settarlo su 1 è vivamente consigliato per ragioni di sicurezza.

set require-p: questo è un aspetto molto usato che permette di dare accesso alla party line ad un utente specifico. Si consiglia di settare 1.

set stealth-telnets: quando si fa un telnet al bot, solitamente mostrerà il proprio nickname e le informazioni sulla versione. Probabilmente non si vuole che la gente veda tali informazioni se fanno un portscan sulla shell del bot. Settando 1 si eviterà che il bot mostri il suo nickname e la proria versione quando qualcuno fa un telnet.

set dcc-flood-thr:questo settaggio determina il numero di linee per secondo che si possono spedire alla party line prima di esserne espulso. Può essere una scocciatura se si intende i inviare molte righe alla party line, di conseguenza è possibile aumentare il numero con qualcosa tipo 5 o 10.

set hourly-updates: è una buona idea cambiare il settaggio di default che è 00, dal momento che molti degli altri bot stanno usando 00 mettendo sotto forte stress la shell nello stesso momento. Si scelga qualcosa che non sia un multiplo di 10 (x es 03, 37 o 56 sono buoni settaggi).

set notify-newusers: lo si setti settalo con il nick che si avrà avrai sul bot. Questo settaggio non viene usato se non si è attivata learn-users.

set owner: si può mettere un sola persona in questa lista-se stessi. Ovviamente si imposti il nick che si avrà sul bot. NON lasciare l'impostazione di default "MrLame, MrsLame".

set default-flags: queste sono le flags assegnate automaticamente ad un utente quando entra nel bot (se learn-users è attivato) o quando sono addati usando .adduser.
Se non si vuole che agli utenti venga data alcuna flag inizialmente, si imposti "" oppure "-"

set remote-boots: l'impostazione di default è 2 ma può infastidire essere cacciati dalla party line (che è come essere kickati da un canale IRC). E' meglio settare con 0 oppure 1.

unbind dcc n tcl *dcc: tcl e unbind dcc n set *dcc:set: queste righe riguardano i comandi .tcl e .set. E' una buona idea lasciare queste righe da parte, in quanto i comandi .tcl e .set possono mettere a rischio la sicurezza dal momento che permettono l'accesso al tuo account di shell attraverso il bot.
Questi comandi sono molto utili solo se programmi con script per la scrittura in Tcl.

set must-be-owner: se hai i comandi .tcl e .set abilitati, si deve chiaramente impostarlo con 1. Nell'1.3.26 e precedenti, è meglio impostarlo con 2 per maggior sicurezza.

set chanfile: il chanfile permette di tenere sotto controllo i canali "dinamici" cosicchè il bot può rientrare nel canale una volta riavviato. I canali dinamici sono quelli in cui si può far entrare il bot col comando .+chan -essi non sono definiti nel file config.
Il chanfile è comodo se si rimuove/agginge frequentemente canali dal bot, ma può essere fastidioso se si vuol aggiungere/rimuovere i canali usando il file di configurazione dal momento che i settaggi nel chanfile sovrascrivono quelli di configurazione.
Si può scegliere di non usare il chanfile scrivendo ""

channel add: si deve usare per aggiungere canali al bot. Vi sono molte opzioni per questo comando. I canali sono aggiunti nel seguente formato:
channel add #donkeys {
options
}
channel set #donkeys +option -option
channel add #horses {
options
}
channel set #horses +option -option
Tutte le opzioni e le impostazioni sono mostrate negli esempi nel file di configurazione.
Ci si accerti di aver rimosso gli esempi per #lamest e #botcentral.

set nick: serve per specificare il nome del bot.Si consiglia di non usare i caretteri [] {}\ nel nome del bot, dal momento che possono causare problemi con alcuni script Tcl, ma se vuole usarli, bisogna far precedere ognuno di tali caratteri da un backslash, per es se si vuole che il bot si chiami [NiceBot], usa set nick "\[NiceBot\]".

set altnick: se si vuol usare i caratteri [ ] { } \ nel nick sostitutivo del bot, si segua la regola del backslash descritta prima.

set servers: si può specificare più server in questa lista, nel caso il bot non possa connettersi al primo server. Il formato della lista è mostrato di seguito:
set servers {
irc.chitchat.com:6667
irc.talkworld.com:6665
irc.nice.net:6667
}
Dove possibile, sarà opportuno usare una porta diversa dalla 6667 (ci si connetta al server e si digiti /motd per avere una lista delle porte utilizzabili).
E' fondamentale usufruire di server che permettano bot (alcune shell hanno delle regole per far rispettare questo), ma a meno che il contratto con la shell non preveda il contrario, si potranno usare server che non permettono i bot come appoggio in caso il network IRC abbia pochi server per bot, in modo che il bot possa connettersi (ma ovviamente si pongano server che lo permettono in cima alla lista).

set use-ison: si lasci il settaggio a 1, se si setta con 0 si farà usare al bot il comando 'trace' e ciò potrebbe comportare una K-line (ban) da parte del server.

set strict-host: se è settato a 0, l'Eggdrop ignorerà la tilde negli ident che iniziano con ~. Settare 1 è un pochino più sicuro, ma può essere difficoltoso per la gestione della hostmask dell'utente. Se non si è sicuri di come settare, è meglio lasciare 0.

set server-cycle-wait: per default l'Eggdrop attende 60 secondi per ogni tentativo di connessione al sever. E' un po' troppo tempo, ma è neccessario per evitare di 'essere respinti' dal server Undernet (se un server riceve troppe connessioni da un particolare host in un breve periodo di tempo, bloccherà tutte le connessioni da quell'host finchè non ci sai stata una pausa nei tentativi di connessione). Se si usa Undernet e si condivide una shell con molti altri utenti di bot, si lasci questa opzione su 60, altrimenti è una buona idea scendere a qualcosa come 20.

set trigger-on-ignore: impostando 1 si diminuisce la capacità dell'Eggdrop di ignorare. Si consiglia di lasciare 0.

set bounce-bans: impostato a 1 fa rimuovere al bot ogni ban impostato dal server.

set bounce-modes: impostato a 1 fa rimuovere al bot ogni mode impostato dal server.

set learn-users: questa è un'impostazione importante che determina quali utenti saranno addati all'Eggdrop. Se si imposta 1, la gente si potrà addare al bot scrivendo 'hello' (gli utenti saranno addati con la flag impostata nel default-flags). Se si imposta 0, gli utenti non potranno addarsi - dovranno addarli un master o un owner usando il comando .adduser

unbind msg - hello *msg:hello e bind msg - myword *msg:hello: permettono di cambiare il comando 'hello' con qualcosa di diverso. Cambia myword con la parola chesi vuol sostituire al comando 'hello'. Se si ha learn-users impostato a 1, questo comando è usato solo quando ci presenta al bot.

unbind msg - ident *msg: ident e unbind msg - addhost *msg:addhost: queste righe liberano i comandi ident e addhost.
Quasi certamente vorrai di nuovo si vorrà riabilitare il comando ident, sia commentando la riga unbind
(ce invece lascia il comando /msg ident di default) sia legandola ad un altro comando bind. E' una buona idea cambiare il comando per extra sicurezza. Per legarlo ad un altro comando, diciamo 'horse', si deve aggiungere la riga bind msg - horse *msg:ident

set dcc-block: sebbene il file di configurazione di esempio raccomandi di impostare 0 (turbo DCC), questo può causare l'interruzione prematura del trasferimento DCC. Se si useranno molto i trasferimenti DCC si setti a 1024.

Per concludere, ci si assicuri di aver rimosso il comando 'die' dalla configurazione (ce ne sono un paio nascosti in vari posti). Finito di impostare il file di configurazione ci si accerti di averlo rinominato con qualcosa di diverso da eggdrop.conf.dist.
Poi (se si è impostato il file di configurazione in locale) si carichi il file nella directory in cui è installato il bot.

 

seleziona: torna all'indice della sezione

 

COMPILAZIONE DEL FILE BOTCHK


Gli script botchk e crontab sono usati per riavviare automaticamente il bot se la shell sta facendo un reboot o se il processo del bot è stato terminato per qualche altra ragione.
Si può trovare il file botchk nella directory script (nella directory dove è installato il bot).
Le versioni più moderne di Eggdrop (dalla 1.3.24i) hanno uno script incluso che configura automaticamente botchk e crontab.
In telnet, si passi direttamente alla directory script e si scriva chmod 700 autobotchk poi ./autobotchk

-dir /home/botdir -noemail, dove /home/botdir è la directory dove è installato il bot e è il nome che hai scelto per il file di configurazione.
Altrimenti, si può compilare il file botchk e inserire manualmente l'entrata crontab richiesta.
Ci sono solo quattro cose da sistemare nel file botchk, le quali sono ben spiegate. Una volta compilato il file botchk, devi aggiungere un entrata al crontab.
Ecco il metodo migliore:
1) La riga crontab dovrebbe essere:
0,10,20,30,40,50 * * * * /home/botdir/scripts/botchk >/dev/null 2>&1
Questo avvierà lo script botchk ogni 10 minuti, che controllerà che il bot sia avviato e lo avvierà se non lo è.
Bisogna solo cambiare la parte /home/botdir con il percorso corretto che ha il bot sulla shell (si scriva pwd per visualizzarlo). Si scriva la stringa in Notepad o con qualcosa con cui sia poi possibile evidenziarlo e copiarlo.
2) Si scriva crontab -e
Questo dovrebbe richiamare l' editor vi (dovrebbe apparire come una serie di linee che cominciano con ~), ma può invece aprire l'editor pico.
3) Per il vi: si prema ctrl-L; si prema i e quindi si incolli la riga crontab che creata prima; si prema Esc, si scriva: wq! poi si prema Enter (se si fa un errore, si prema Esc e si ricominci).
Per pico: si incolli la riga crontab creata prima, si prema ctrl-X, e quindi Y quando richide di salvare; si prema Enter quando richiede il nome file.
4) E' possibile vedere le entrate correnti del crontab digitando crontab -l
Per ripulire il crontab si digiti crontab -r (potrebbe essere crontab -d su alcune shell).

 


seleziona: torna all'indice della sezione

 

AVVIO DELL'EGGDROP

Fiuuuuu! Ora si è compilato, installato e configurato Eggdrop, quindi è giunto il momento di lanciarlo.
Si vada alla directory di installazione del bot, si incrocino le dita, e si scriva ./eggdrop -m config (dove config è il nome che dato al file di configurazione).
L' Eggdrop dovrebbe partire, e il bot dovrebbe apparire su IRC entro pochi minuti.
L'opzione -m crea un nuovo userfile per il bot. In futuro si dovrà solamente scrivere
./eggdrop config per avviare il bot.

Una volta che il bot è su IRC è importante che ci si presenti immediatamente al bot. Sarà necessario queralo con il comando 'hello' impostato nel file di configurazione, x es . /msg hello. Questo ti farà diventare owner del bot. Una volta fatto, si avrà bisogno di settare la password usando /msg pass .
Si può anche fare una chat in DCC col bot una volta settata la pass. Ora che l'Eggdrop è su IRC e ci si è presentati come owner, è giunto il momento di capire come usare l'Eggdrop.
Se il bot non appare su IRC o si ha qualche altro problema, si visiti #eggheads su EFnet o #eggdrops su Undernet, dovesi può trovare qualcuno che ti possa aiutare [se non si sa l'inglese si visiti pure #theblob su ircnet (NdT)].

 

seleziona: torna all'indice della sezione

 

 

 

 

simbolo: livello avanzatoVERSIONE BREVE (per esperti)

 

Se hai già esperienza con shell Unix e non credi di aver bisogno di leggere il contenuto delle pagine presenti, segui questa guida rapida per l'installazione di un Eggdrop (altrimenti vai direttamente a Come ottenere la fonte di un eggdrop)
1) scaricare un eggdrop1.4.4.tar.gz (ne trovate diverse versioni su http://www.egghelp.org)
2) fare un telnet o FTP alla shell
3) caricare eggdrop1.4.4.tar.gz via FTP
4) su telnet digitare: tar zxvf eggdrop1.4.4.tar.gz
5) digitare quindi: cd eggdrop1.4.4
6) digitare: ./configure
7) digitare: make
8) digitare: make install DEST=/home/name/botdir (vale a dire la directory dove si intende porre l'eggdrop)
9) copiare il file eggdrop.conf.dist sulla botdir se non c'è già
10) compilare il file eggdrop.conf.dist e rinominarlo con qualcosa di più appropriato (es.botnick.conf) 11) digitare: ./eggdrop -m .


Nota: l'eggdrop necessita di Tcl per essere compilato.Se il server non ha Tcl installate, bisogna scaricarle e installarle.

 

seleziona: torna all'indice della sezione

 

 

 

simbolo: livello medioCOME UTILIZZARE L'EGGDROP

 

DCC CHAT E PARTY-LINE

La stragrande maggioranza delle funzioni dell' Eggdrop sono controllate in DCC chat con il bot.
La DCC chat col bot ha prevalentemente due funzioni: come console serve per inviare comandi all'Eggdrop e in più è un'area di chat. Semplicemente la DCC chat al bot funziona come qualunque altro utente.
Si può anche fare iniziare una sessione di chat in DCC al bot scrivendo /ctcp CHAT <nick>, con il nick del prorpio bot. Questo sistema è particolarmente utile se si èi protetti da un firewall che timpedisce di iniziare una sessione in DCC.
Una volta stabilita la conessione col bot, verrà richiesta la password e poi, automaticamente, si verrà inseriti in party line (la maggiore area di chat).
Si possono, a questo punto, digitare i comandi dell'Eggdrop facendoli precedere da un punto (x es,. .help, .bots, .whom, ecc).
Tutto ciò che non è preceduto da un punto viene inviato agli altri utenti della party line, proprio come un messaggio inviato su un canale IRC
.
Esistono anche altri canali sul bot (come le party line) su cui è possibile immettersi, tanto che il bot assomiglia un po' ad un server IRC.

 

seleziona: torna all'indice della sezione

 

TELNET

E' possibile anche accedere alla console di comando e alla party line attraverso una sessione telnet col bot.
Per fare un telnet al bot, si deve semplicemente inserire hostname e porta (come specificata alla voce 'listen' nel file di configurazione) nel tuo client telnet.
Verranno richiesti il nickname e password . Una volta connessi si accederà alla console e alla party line esattamente come se si fosse aperta una sessione in DCC. Telnet è particolarmente utile per connettersi al bot quando non è possibile farlo in DCC (per es. quando il bot non è su IRC).

 

seleziona: torna all'indice della sezione

 

 

USO DELLA CONSOLE

L'Eggdrop ha un ampio sistema di aiuto interno.La prima cosa da fare, una volta aperta una sessione di chat in DCC col bot, è digitare .help per vedere la maggior parte dei comandi utilizzabili.
Per maggiori informazioni su un comando in particolare si può digitare .help seguito dal comando che interessa (es. .help adduser).
La sessione di chat in DCC non solo permette di parlare con gli altri utenti nella party line (e degli altri 'canali' interni) e usare i comandi Eggdrop, ma permette anche di controllare il bot.

Usando il comando .console, è possibile cambiare il tipo di informazioni chevengono mostrate, si può ad esempio scegliere di vedere i comandi usati dagli altri, di visualizzare i messaggi e i notice mandati al bot, i messaggi pubblici al canale, ecc.
Le impostazioni sulla console determinano anche su quale canale IRC si sta lavorando; se il bot è sui canali #donkeys e #horses, è possibile impostare la console su uno di questi.
Molti dei comandi dell'Eggdrop verranno applicati al canale corrente sulla console, ad esempio se la console è impostata sul canale #donkeys e si usa il comando .op Pippo, il bot opperà 'Pippo' su #donkeys.
Si può salvare il canale corrente sulla console usando .save

 

seleziona: torna all'indice della sezione

 

 

COMANDI ATTRAVERSO MESSAGGI

L' Eggdrop ha un numero limitato di comandi attivabili attraverso messaggi, ma alcuni di questi, come i comandi op e ident, sono importanti.
Per la lista dei comandi via messaggio, si scriva /msg help.
Comandi addizionali via messaggio possono essere aggiunti con uno script Tcl.
Si presti molta attenzione nell'usare comandi via messaggio che includono la password: se si è soliti scrivere /msg nella finestra del canale del client IRC, si potrebbe accidentalmente inviare la password al canale dove essa è visibile a tutti!

 

seleziona: torna all'indice della sezione

 

COMANDI PUBBLICI

L' Eggdrop non ha comandi pubblici impostati (comandi che si scrivono sul canale) eccetto 'seen'.
Se ovviamente si è caricato il modulo seen ( loadmodule seen nel file di configurazione) e il canale è impostato +seen, allora il bot risponderà al comando seen
nel canale.
Ci sono diversi script Tcl che aggiungono comandi pubblici all'Eggdrop, ma molti di questi script sono insicuri (permettono ad utenti malevoli di avere il controllo del tuo Eggdrop). Un buono script di comandi pubblici deve permettere solo agli utenti oppati di usare i comandi. Sebbene molti pensino che sia fico poter usare comandi pubblici senza essere oppati, questo rende il tutto poco sicuro.

 

seleziona: torna all'indice della sezione

 

 

IL FILE USER

Il file User dell'Eggdrop controlla quali utenti possono accedere al bot, e il livello di accesso che ogni utente ha. Il file User contiene anche la lista dei ban e la lista degli ignore.
La gestione dell'userfile è una delle cose fondamentali da imparare per saper usare effettivamente l'Eggdrop.
Quando si lancia per la prima volta il proprio Eggdrop e ci si presenta usando il comando hello o equivalente, si viene inseriti al primo posto ottenendo così tutti i privilegi dell'owner (se si è disabilitato learn-users, il comando hello verrà disattivato una volta che ci si sia presentati come owner).
Per vedere le entrate dell'userfile, si scriva .whois nella console.
Verrà visualizzata una cosa simile alla seguente:

HANDLE

PASS

NOTES

FLAGS

LAST

 

ProprioNick

yes

0

fjmnoptx

19:57 (partyline )

#donkeys

 

 

fjmno

18:44 fmno 14 Apr

#horses

 

 

fjmno

14 Apr

HOSTS: *!mynick@*.nice.net, *!mynick@207.324.333.*

Le informazioni qui sopra mostrano l'handle dell'utente (l'handle è semplicemente il nickname dell'utente sul bot, quello con cui il bot lo ha conosciuto e da cui lo riconosce), se ha o no la password impostata, quanti messaggi ha, tutti i suoi canali e flags, quando e dove è stati visti dal bot l'ultima volta e le proprie hostmasks. Di seguito si apprenderà come modificare l'userfile.

 

seleziona: torna all'indice della sezione

 


VISUALIZZAZIONE DI TUTTI GLI UTENTI

Per vedere tutti gli utenti nell'userfile del bot, si scriva .match * 9999.
Si avrà modo di vedere qualcosa di simile a quanto mostrato sopra per ogni utente. Aggiungere/rimuovere utenti
Ci sono tre modi in cui un utente può venire aggiunto al bot.
Se learn-users è abilitato nel file di configurazione, ognuno può mandare il messaggio col comando hello al bot e il bot lo aggiungerà con la flag di default (come impostata nel file di configurazione alla voce default-flags).
Comunque si può aggiungere un utente usando anche il comando .adduser o .+user nella console.
Se l'utente che si vuol aggiungere è in uno dei canali del bot, allora il comando .adduser è il più conveniente.
Ci si assicuri che che il canale dell'utente sia il canale corrente sulla console (si veda di nuovo Uso della console), poi si scriva .adduser <nick>

, dove nick è il nickname dell'utente che si vuol addare. L'utente sarà aggiunto all'userfile con la flag di default, la sua hostmask verrà aggiunta automaticamente.
Il comando .+user può essere usato quando una persona che vuol aggiungere non è in IRC.
Si scriva .+user con nickname e hostmask. Una volta che un utente è aggiunto deve impostare la password con il comando pass (si ricordi all'utente di scrivere / msg <pass> per impostare la password).

E' possibile anche impostare la password al posto suo con il comando .chpass (spiegato di seguito). Per rimuovere un utente dal bot, scrivere semplicemente .-user con nickname.

 

seleziona: torna all'indice della sezione

CAMBIARE LA PASSWORD DI UN UTENTE

Per impostare la password di un utente o cambiarla, si scriva .chpass
Si può non impostareaffatto la password, scrivendo .chpass senza specificare la password.

 

seleziona: torna all'indice della sezione

 

FLAGS UTENTE

Le flag determinano quali privilegi ha un utente, se può diventare o no op su un canale, quali comandi del bot può usare, ecc.
Tutte le flag sono lettere minuscole dell'alfabeto. Si puòvisualizzare la lista di tutte le flags scrivendo .help whois, ma per ora basti conoscere la flags più importanti:
v - voice
o - op
m - master
n - owner
f - friend
p - accesso alla partyline

Molte delle flag utente sono divise in due categorie - global e channel - mentre alcune flag sono solo global. Le flags v, o, m, n, e f sono esempi di flag che possono essere global o channel-specific, invece la flag p è solo global.
Le channel flag si applicano ad un canale specifico: se si dà a qualcuno la flag +o su #donkeys, l'utente potrà ottenere l'op solo su #donkeys, ma se dsi dà all'utente la flag global +o, potrà essere oppato su qualsiasi canale si trovi il bot. Le global flags sono anche molto potenti, in quanto danno accesso all'utente ai più potenti comandi del bot che l'equivalante channel flag.
Le flag sono aggiunte o rimosse ad un utente grazie al comando .chattr.
Per aggiungere una flag global o , si scriverà .chattr<nick> +o
Per aggiungere un channel-specific o devi scrivere .chattr <nick> +o <#channel>.
Rimuovere una flag è semplice: per rimuovere un global o il comando è .chattr nick -o, per rimuovere un channel o è .chattr <nick> -o <#channel>.
E' possibile inoltre aggiungere/rimuovere più flag con un solo comando, x es .chattr +fo darà all'utente le flag f e o.
Si consiglia cautela nel dare una flag global n (=owner), questa darà accesso all'utente a tutti i comandi del bot e, se si è configurato il bot in un certo modo, può dare accesso alla propria shell attraverso il comando .tcl.

 

seleziona: torna all'indice della sezione

 

AGGIUNGERE/RIMUOVERE HOSTMASK

Il comando .+host permette di aggiungere una hostmask ad un utente: .+host hyena*!hyena@*.africa.net.
Per rimuovere una hostmask di un utente usa .-host .

 

seleziona: torna all'indice della sezione

 

 

LA BAN LIST

La ban list è una parte dell'userfile specificamente riservata per immagazzinare i ban.
I ban sono aggiunti ad una ban list interna al bot (chiamata anche enforced o permanent ban list) usando il comando .+ban seguito da <nick> o <host> e 0 se il ban è permanente.
Possono anche venir aggiunti automaticamente dal bot (ad esempio in risposta ad un flood) o da uno script Tcl.
I ban interni possono anche essere global (sono applicati su tutti i canali su cui è il bot) o channel-specific.
Un ban può essere permanente o estinguersi automaticamente dopo un certo periodo impostato, e può essere 'sticky' (il bot si assicurerà che il ban sia sempre attivo sul canale).
Nota che se si sta usando +dynamicbans nei settaggi di un canale, un ban settato nella lista interna dei ban del bot, verrà rimosso dopo i minuti di ban-time (come settato nel file di configurazione), ma rimarrà nella lista interna dei ban e verrà riattivato tutte le volte che qualcuno corrispondente al ban entra sul canale.
Se si sta utilizzando +dynamicbans e si vuole che il ban sia sempre attivo sul canale, si deve rendere il ban sticky.

 

seleziona: torna all'indice della sezione

 

VISUALIZZAZIONE DELLA LISTA DEI BAN

Per vedere tutti i global ban correnti e i channel ban (per il canale corrente della console) attivi, si scriva .bans. Per vedere sia i ban attivi che quelli inattivi si scriva .bans all.
La lista mostra anche i ban che sono attivi su un canale, ma non nella lista dei ban interna del bot (questo genere di ban sono preceduti da un asterisco).

 

seleziona: torna all'indice della sezione

 

AGGIUNGERE/RIMUOVERE I BAN

I ban global sono aggiunti con .+ban (ad es .+ban *!*lamer@*.isp.net). Si può aggiungere un ban specifico di canale usando .+ban <#channel>.
I ban aggiunti usando questi comandi saranno permanenti (rimarranno nella lista dei ban interna del bot finchè qualcuno non li rimuoverà manualmente). Per rimuovere un ban esistono due modi: utilizzare la banmask o il numero di riferimento.
La lista che esce con .bans all mostrerà infatti un numero di riferimento prima di ogni ban per cui, se si volesse rimuovere il ban numero 4, si scriverà dovrai scrivere .- ban 4.
Si tenga a mente che i numeri di riferimento dei ban cambiano in base al canale settato sulla console (per es se si scrive .console #horses e poi .bans all, poi .console #donkey, poi .bans all, i numeri di riferimento dei bans potrebbero essere diversi nelle due liste mostrate).
Per rimuovere un ban con la banmask, si scriva semplicemente .-ban seguito dalla mask.

 

seleziona: torna all'indice della sezione

 

FARE UN BAN STICKY

Puoi fare un ban sticky usando il comando .stick con il numero di riferimento o la banmask. Un ban sticky verrà riattivato dal bot se qualcuno lo rimuove dal canale. Si ricordi di usare l'aiuto interno dell'Eggdrop (.help) per imparare di più sui comandi.
Una volta che hai preso confidenza con le funzioni e i comandi di base dell'Eggdrop guarda come potenziare il tuo Eggdrop.

 

seleziona: torna all'indice della sezione

 


IMPOSTAZIONI DI CANALE

Il modo in cui l'Eggdrop agisce e risponde a ciò che accade sul canale dipende dalle impostazioni del canale.Eggdrop ha molte impostazioni di canale già settati, si possono settare differenti impostazioni per ogni canale, permettendo estrema flessibilità.
Una volta creato il file di configurazione dell'Eggdrop e aggiunte le entrate per ogni canale in cui il bot risiederà, dci si dovrebbe imbattere per la prima volta nelle impostazioni dei canali.
Nella guida all'impostazione si ricordi ricordare di aver visto il seguente:
channel add #horses {
options
}
channel set #horses +option -option

Ci sono 2 battute di settaggio dei canali. La prima battuta,quella tra le parentesi graffe come un settaggio idle-kick e flood protection (x es flood-join, ecc.).
La seconda battuta è un' attivazione/disattivazione di un comando channel.
Queste opzioni riguardano comandi come autoop, dynamicbans, revenge, ecc.
Tali impostazioni sono precedute da un segno + o - per specificare rispettivamente se si vuole o no che l'impostazione sia attiva o inattiva. Per ogni ulteriore informazione su ciascuna impostazione channel e la sua funzione si faccia riferimento al file eggdrop.conf.dist del bot.

 

seleziona: torna all'indice della sezione

 

IMPOSTAZIONI DINAMICHE PER UN CANALE

Se si vuol aggiungere un canale al tuo bot o cambiare un' impostazione di un canale, non è necessario modificare il file di configurazione. L'Eggdrop ha dei comandi DCC preimpostati che permettono di aggiungere/rimuovere un canale e di cambiarne le impostazioni attraverso la console.
Per aggiungere un canale si scriva semplicemente .+chan <#channel>
Per rimuoverlo .-chan <#channel>
Le impostazioni di un canale vengono modificate usando il comando .chanset il quale funziona differentemente a secondache si stia impostando comandi come autoop, dynamicbans, ecc, o cambiando una opzione di canale come idle-kick.
Sotto ci sono alcuni esempi di utilizzo del comando .chanset:
.chanset <#channel> +enforcebans
attiva l'opzione enforceban
.chanset <#channel> -dynamicbans +autoop
disattiva l'enforceban e attiva l'autoop
.chanset <#channel> chanmode +sntk green
cambia le impostazione del canale in "+sntk green"
.chanset <#channel> idle-kick 60
imposterà il settaggio idle-kick a 60

 

seleziona: torna all'indice della sezione

 

IL CHANFILE

Dal momento che il bot non può modificare da solo il file di configurazione, i canali aggiunti col comando .+chan e i settaggi di canale modificati con .chanset hanno bisogno di essere immagazzinati in un file speciale chiamato chanfile.
Si dovrebbe ricordare di aver determinato il chanfile nel file di configurazione del file (per es set chanfile "mybot.chan").
Il chanfile assicura che ogni cambiamento che impostato usando comandi in DCC verranno ricordati anche se il bot viene disattivato e riavviato.
Un inconveniente nell'avere il chanfile è dato dal fatto che, quando il bot parte, per prima cosa legge dal file di configurazione, poi dall chanfile.Ogni impostazione di canale settata nel file di configurazione verrà sovrascritta da quelli del chanfile-se si fanno cambiamenti nel file di configurazione, questi non avranno effetto.
Per cambiare le impostazioni di un canale si dovranno usare i settaggi in DCC. Per questo può accadere spesso nelle impostazioni di un canale che esse non corrispondano a quelle specificate nel file di configurazione.
Per tale motivo alcuni scelgono di non aggiungere canali nel file di configurazione, usando invece esclusivamente i comandi in DCC per aggiungere canali e modificare le loro impostazioni.
Si può decidere di non avere chanfile scrivendo "" nel file di configurazione del bot (set chanfile ""). Questo permetterà di fare tutti i cambiamenti delle impostazioni di un canale sul file di configurazione, ma ogni cambiamento fatto usando comandi DCC non verrà ricordato dal bot.

seleziona: torna all'indice della sezione

 

 

 

simbolo: livello avanzatoPOTENZIARE L'EGGDROP

 

SETTARE UNA BOTNET

Una delle caratteristiche più interessanti dell'Eggdrop è l'interconnessione dei bot, che permette di creare una'botnet'.
Una botnet può consistere in due bot connessi tra loro quanto in centinaia di bot interconnessi.
Se si sta usando un Eggdrop per la gestione di un canale, la caratteristica più importante dei bot interconnessi è la condivisione dell'userfile.
Con la condivisione dell'userfile i bot possono tenere la propria user list, ban list e ignore list sincronizzata l'uno con l'altro.
Una botnet ha altre capacità, come permettere ai bot di opparne un altro in sicurezza e far entrare tutti i bot in un canale con un solo comando.
Interconnettere i bot può essere difficile la prima volta, ma è abbastanza semplice se si sa come fare.
La prima cosa da fare è scegliere un bot hub.
L'hub è il bot principale al quale gli altri bot nella botnet (che diventeranno bot leaf) si connetteranno.
Se si stanno usando solo due bot, è meglio usarne uno come hub e l'altro come leaf.
Il bot hub dovrebbe essere il bot più affidabile della botnet, che giri su una shell veloce, affidabile, sicura.
Una volta scelto l'hub, è il momento di impostare il link.
Una tipica botnet con pochi bots avrà la struttura mostrata sotto.


BigBoy

 

 

|--Camelback

 

`--Mallard



Qua sopra è mostrata una botnet di tre bots interconnessi.
BigBoy è il bot hub, mentre Camelblack e Mallard sono bot leaf.
Per impostare una botnet come questa bisogna aggiungere ogni bot allo userfile degli altri, poi impostare delle flag sicure per ciascuno di questi bot.
Nel procedimento seguente ci si riferirà ai nickname dei bot sopra - sostituire i nomi dei propri bot nel seguire il procedimento.

1) Per prima cosa nel file di configurazione, assicurarsi che ogni canale in cui sincronizzare le informazioni del bot (x es flags degli utenti, bans, etc.) sia impostato +shared nel file di configurazione di ciascun bot e che le modalità share e transfer siano caricati (loadmodule transfer e loadmodule share).

2)
Su BigBoy (il bot hub), si deve aggiungere i bot leaf nello userfile.Per aggiungere Camelblack e Mallard si scriva .+bot Camelback e .+bot Mallard

3)
Impostare ogni consueta flag utente per i bot.Generalmente ai bot vengono date le flags f global (friend) e o (op). Per farlo scrivere .chattr Camelback +fo e .chattr Mallard +fo

4)
Dare ai bot la flag s. Digitare: .botattr Camelback +s e .botattr Mallard +s
Questo fa condividere forzatamente il proprio userfile ai bot leaf. Se non si deisdera che i bot condividano gli utenti, saltare questo passaggio.

5) Dare ai bot la flag s per i canali in cui si vuole che sincronizzino le loro informazioni, x es se i tre bot sono su #railroad e #train, scrivere .botattr Camelback |+s #railroad e .botattr Camelback |+s #trains, poi fare lo stesso con Mallard.
In alternativa si può usare la flag g scrivendo .botattr Camelback +g, invece di impostare la flag s per ogni canale. La flag g fa semplicemente condividere le informazioni su ogni canale. Nota che se non sivuole condividere gli utenti i può saltare questo passaggio.

6) Ripetere i punti dal 2 al 5 per gli altri bots.

7) Ora è giunto il momento di impostare i bot leaf.
Iniziamo con Camelblack, perciò lasciamo BigBoy e passiamo alla console di Camelblack.
Per prima cosa è necessario conoscere l'indirizzo telnet del proprio bot hub (BigBoy), che consiste nell'host e nella porta del bot (la porta sarà quella settata nell'impostazione listen nel file di configurazione di Bigboy).
Se l'hostname di BigBoy è bigboy@steam.trains.com e la porta 11941 il suo indirizzo telnet è steam.trains.com:11941.
Ora si può aggiungere BigBoy scrivendo .+bot BigBoy steam.trains.com:11941

8) Impostare le consuete flag per BigBoy come già fatto per i bot leaf, x es .chattr BigBoy +f

9) Dare a BigBoy la flag s per ciascun canale in cui si vuole che sincronizzi le informazioni, x es se i tre bot sono su #railroad e #trains, scrivere .botattr BigBoy |+s #railroad e .botattr BigBoy |+s #trains
In alternativa si può utilizzare la flag g scrivendo .botattr BigBoy +g, invece che impostare la flag s su ciascun canale. La flag g fa semplicemente condividere le informazioni su ogni canale.Se non si desiderai che il bot condivida gli utenti saltare questo passaggio.

10) Assegnare a BogBoy le flag bot h e p scrivendo .botattr BigBoy +hp.
La flag p permette al bot di condividere passivamente il proprio userfile con il bot hub (x es il bot scarica lo userfile da BigBoy), mentre la flag h permette al bot di provare automaticamente a connettersi all'hub.
Se non si vuole che il bot condivida gli utenti saltare questo passaggio.

11)
Entro qualche minuto Camelbalck dovrebbe tentare di collegarsi a BigBoy e (se ovviamente si è impostata la flag di condivisione s) scaricare lo userfile.

12) Ripetere i punti dal 7 al 10 per ogni bot leaf.

I punti qua sopra collegheranno i tuoi bot leaf al tuo bot hub e (se hai settato la flag di condivisione) la condivisione dell'userfile sarà attivata.

 

seleziona: torna all'indice della sezione

 

Utilizzo degli script Tcl

Gli script Tcl (pronuncia 'tickle') rappresentano la via più semplice per le funzioni extra da attribuire al proprio Eggdrop.
Ci sono centinaia di scripts Tcl che aggiungono ogni sorta di capacità come funzioni avanzate di saluti all'ingresso del canale, aumentano la protezione del canale, comandi pubblici addizionali, quiz e altri giochi…la lista continua.
Gli script Tcl sono spesso compressi con gzip e hanno l'estensione del file .gz. Possono essere scompattati sotto Windows usando WinZip o sulla shell usando il comando 'gunzip', x es gunzip scritptname.tcl.gz (scriptname=il nome dello script da scompattare).
Molti script richiedono la configurazione prima di essere usati, perciò è una buona idea aprire lo script e leggere la documentazione e le impostazioni prima di aggiungere lo script al bot.
Alcuni script sono in formato Unix e non vengono visualizzati correttamente con alcuni editor di testo di Windows (come Notepad) ma vengono visualizzati bene con altri (tipo WordPad).
Per aggiungere uno script Tcl, copiare il file Tcl nella directory /script del proprio Eggdrop.
Bisogna inoltre aggiungere una linea per caricare lo script alla fine del file di configurazione del bot. Verso la fine del file di configurazione vi sono righe come queste:
source scripts/alltools.tcl
source scripts/action.fix.tcl

Se lo script da aggiungere si chiama fun.tcl si inserirà una riga come la seguente:
source scripts/fun.tcl
Una volta sistemato lo script nella directory /script e aggiunto un riferimento a questo alla fine del file di configurazione, scrivere .rehash sulla console di comando.
Questo caricherà lo script e lo attiverà per l'uso (nota: alcuni script necessitano di spegnere e riavviare il bot).
si consulti a sezione script Tcl per i migliori script e la sezione Links che contiene molti altri siti con grossi archivi di script Tcl.
Se si ha un po' di esperienza di script Tcl e si vuole scrivere personalmente delle Tcl per il proprio Eggdrop, si legga di seguito la Guida per principianti di TCL e ci si assicuri di assicurati di guardare tcl-commands.doc nella directory /doc che contiene tutte le informazioni su tutti i comandi preimpostati Tcl dell' Eggdrop.

 

seleziona: torna all'indice della sezione

 

Utilizzo delle patches

Le patches modificano direttamente il codice del proprio Eggdrop.
Sono usate principalmente per correggere bugs e in alcuni casi per aggiungere nuove proprietà o cambiare il modo in cui una determinata proprietà lavora.
Anche gli upgrades a nuove versioni di Eggdrop sono offerti sotto forma di patch.
Le patches sono più complicate da installare che uno script Tcl, e sono usate molto meno frequentemente.
Si possono trovare patches per Eggdrop nel grande archivio di script Tcl nella sezione Links.
Di solito i file patch sono distribuiti con l'estensione .patch.
E' possibile installare il file patch solo nella fonte originale dell'Eggdrop (non su quella di installazione dell' Eggdrop che è stata copiata usando make install).
Per applicare la patch bisogna copiarla nella directory da cui si è estratta la fonte dell'Eggdrop (x es /eggdrop1.3.27 directory).
Poi bisogna lanciare il programma patch - se la patch da applicare è chiamata eggdrop1.3.27+thefix.patch, scrivere questo in telnet:
patch -p1 < eggdrop1.3.27+thefix.patch
Ciò farà compiere ogni modifica necessaria al codice sorgente dell'Eggdrop. Una volta patchato il bot dovrà essere ricompilato usando make e installarlo usando make install.

 

seleziona: torna all'indice della sezione

 

Utilizzo dei file per la lingua

Molte funzioni dell'Eggdrop possono essere mostrate in una lingua diversa dall'inglese.
Questo è possibile grazie al file language.
Le informazioni seguenti si applicano alla serie 1.4 di Eggdrop che ha un miglior supporto dei linguaggi delle precedenti versioni.
L'Eggdrop 1.3 e precedenti non hanno il comando addlang, +lang e -lang di cui si parla di seguito.
I file per lelingue sono posti nella directory /language del bot.
Ci sono tre tipi di file language:
· Il file core language, core.french.lang, contiene il testo di molte funzioni centrali dell'Eggdrop.
· Il file filesys language, filesys.french.lang, contiene il testo di file system module.
· Il file wire language, wire.french.lang, contiene il testo di wire module.
Per cambiare il testo mostrato dal bot nella propria lingua, c'èbisogno del file core language.
Per il file system e il wire module per mostrare le propria lingua, c'è bisogno di un filesys aggiuntivo e del file wire language.
I file language Inglese, Tedesco e Francese sono inclusi in Eggdrop.
Si possono trovare language files per altre lingue nella sezione Eggdrop files.
Sspesso i file language variano tra versioni di bot, perciò è una buona norma prendere il language file della versione del bot che si sta usando.
I language file più vecchi generalmente funzioneranno nelle versioni più nuove di bot, ma il testo per alcune funzioni può andare perso.
Una volta ottenuto il file language, posizionarlo nella directory /language.
Se si intende usare per sempre una lingua particolare si può usare il comando addlang nel file di configurazione del bot.
Per esempio, per caricare il file french.lang so può aggiungere addlang "french" in cima alla sezione del file di configurazione del bot (si veda eggdrop.conf.dist per un esempio).
Si possono anche aggiungere/rimuovere lingue dalla console usando i comandi .+lang e .-lang, ma le lingue aggiunte con questi comandi saranno attive finchè il bot non viene spento.
Per ulteriori informazioni sul file language in uso sul tuo bot, usare il comando .lstat

 

seleziona: torna all'indice della sezione

 

Protezione del bot e sicurezza

Il bot Eggdrop ha alcuni potenziali punti deboli che possono essere utilizzati se non si difende il proprio bot accuratamente.
Di seguito ci sono alcuni suggerimenti per rendere il proprio Eggdrop più sicuro.

Disabilitare l'opzione learn-user
Permettere agli utenti di aggiungersi da soli al bot può essere conveniente, ma finche è permesso a ciascuno di aggiungersi da solo non c'è molta sicurezza (specialmente se gli utenti ottengono accesso alla party line quando si presentano al bot). L'ultima cosa si vuole, è trovare qualcuno che abbia floddato di messaggi il proprio bot e abbia aggiunto 1000 nuovi utenti.
Bisognerebbe considerare l'opportunità di disabilitare l'opzione learn-user e aggiungere manualmente gli utenti al bot usando i comandi .adduser e .+user
Se davvero si vuol permettere agli utenti di presentarsi da soli al bot bisognerebbe cambiare il comando con qualcosa di diverso da 'hello'.

Scegliere gli owners accuratamente
Stare molto attenti a dare lo stato global owner (+n) sul bot. Si dovrebbe considerare di non dare a nessun utente lo stato +n, altrimenti assicurarsi di darlo a gente che conosciuta su IRC da molto tempo e di cui ci si possa fidare.
Lo status di owner permette ad un utente di fare praticamente qualunque cosa col bot- l'ultima cosa di cui si ha bisogno è che un utente +n traditore usi il bot per scopi illeciti facendo cacciare il legittimo proprietario fuori dalla shell.

Sicurezza delle password
Non usare una password facilmente individuabile - fare una combinazione casuale di lettere maiuscole e minuscole e numeri, o due parole combinate con un numero - qualcosa che non sia una parola reale.
Stare attenti anche quando si mandaun messaggio al bot contenente la password (x es msg botnick op ) che non si stia facendo /msg in una finestra di un canale. Si può mandare la propria password ad un intero canale perché accidentalmente si è tralasciato lo slash (/) o qualcos'altro.

Cambiare o disabilitare i comandi ident e addhost
E' una buona idea cambiare i comandi 'ident' e 'addhost' per far riconoscere al bot una nuova hostmask.Cambiare questi comandi con qualcosa di diverso (come spiegato nella guida al Setup).
Per una miglior sicurezza disabilitare questi comandi senza cambiarli, sebbene questo richieda master e owner per aggiungere manualmente un nuovo hosts per gli utenti.

Usare hostmask precise
Se il proprio hostname è, per esempio cool@modem36.ppp.yourisp.net, Eggdrop trasformerà la hostmask in *!cool@*.yourisp.net. Se si è un owner o un master del bot, è importante limitare ulteriormente l'accesso facendo hostmasks ancora più specifiche- x es *!cool@*.ppp.yourisp.net o probabilmente *!cool@modem*.ppp.yourisp.net.

Abilitare protect-telnet
Per default chiunque può fare un telnet albot e tentare di individuare la password di un utente durante il prompt di registrazione. Usando protect-telnet sarà permesso di restringere l'accesso a utenti particolari. Per dare accesso telnet ad un utente quando protect-telnet è abilitato, bisogna aggiungere una speciale hostmask telnet alla registrazione dell'utente nel formato telnet!*@their.hostname.com. Esempio- se la hostmask dell'utente è *!cool@*.dudes.net, si deve aggiungere telnet!*@*.dudes.net alla lista delle sue hostmask.
Questo permette al dominio *.dudes.net di fare un telnet al bot e provare a registrarsi come utente. Nota che per default Eggdrop da all'owner la hostmask telnet!*@* hostmask. Assicurarsi di rimuovere questa hostmask e fanne una più precisa (x es telnet!*@*.ppp.yourisp.net).

Disabilitare i comandi tcl, set e binds
Usando i comandi DCC .tcl e . set, hiunque con lo stato di global owner sul bot può accedere alla shell attraverso il bot. Ovviamente questa è una brutta cosa, perciò è consigliabile che questi comandi siano slegati nel file di configurazione. Il comando .binds in alcuni casi può essere usato per fare danno, dovrebbe essere disabilitato se utilizzato.

Disabilitare il comando chanset
Un difetto dell'Eggdrop nelle versioni precedenti alla 1.3.25 permetteva agli utenti di utlizzare il comando .chanset per far compiere al bot qualunque funzione.
Bisognerebbe disabilitare il comando chanset o aggiornare la versione 1.3.25 o precedenti e assicurarsi che must-be-owner sia abilitato.

Abilitare must be owner
Questa caratteristica è presente nel 1.3.24 e successive.Permette solo ai permanent owner (come impostato nei settaggi 'owner' del file di configurazione) di usare i comandi .tcl e .set (se abilitati). Nella 1.3.25 e seguenti è anche aumentata la sicurezza del comando chanset, e nella 1.3.26 si può settare must-be-owner a 2 per permettere solamente ai permanent owner di usare il comando .dump.

Usare private-user
Se si ha una botnet con i bot che condividono i file utente, bisognerebbe considerare la possibilità di usare l'opzione private-user. Ciò può aumentare significativamente la sicurezza del bot, ma tutti i cambiamenti dell'utente (aggiungere un utente, ident/host, cambiamenti di password e flags) devono essere fatti dal bot hub. Considera che solo la versione 1.3.27 e successive hanno un private-user regolarmente funzionante- questo non è a disposizione nelle versioni precedenti- perciò se si vuol trarre vantaggio dal private-user il bot hub deve essere l'1.3.27 o successivo.

Tenere d'occhio le cose
Quando si èonline, bisognerebbe tener aperta una sessione di chat in DCC con il bot e sedersi alla console.
Assicurarsi i che siano abilitati i modi console m, b, s, c, o, e x (scrivere .console +mcobxs), così è possibile vedere qualsiasi cosa succede sul bot. Si potrebbe voler togliere le flag di console j e k se queste creano disordine, oppure anche che il bot invii per mail il log del giorno precedente, che permetta di vedere tutta l'attività che si è svolta sul bot.
Per far ciò bisogna che aggiungere una linea al crontab (se non si sa come fare leggere quella sezione della guida alle impostazioni per un esempio).
Se si vuole che il bot invii il log del giorno precedente alle 5:30am, inserire la riga
30 5 * * * mail your@email.address.com < /home/username/botdir/botlog.log.yesterday
Sostituire l'indirizzo e-mail e il percorso per il log del bot con i propri.

Usare una buona protezione flood
Molta gente crede che gli Eggdrop siano a prova di proiettile, ma la realtà è che, di default, sono abbastanza vulnerabili ai basilari tipi di flood.
Punti deboli come flood CTCP, flood a valanga, e utenti con username finti sono stati corretti nelle versioni 1.3 più nuove- ma bisogna usare i settaggi giusti.
La versione 1.3.21 e successive hanno la funzione kick-bogus che dovrebbe essere impostata su 0 per prevenire kick flood da username fittizi, mentre le versioni 1.3.24 e successive hanno la flag kick-fun che dovrebbe essere impostata a 0 per eliminare la vulnerabilità al flood a valanga.
Le versioni 1.3.26 e successive hanno l'opzione ctcp-mode che si dovrebbe impostare a 2, usando un settaggio appropriato global-flood-ctcp come quello di default 5:30.
Per maggior protezione contro i flood, dovresti considerare l'opportunità di usare uno script antiflood come sentinel.tcl, combinato come un limitatore di utenti nel canale tipo chanlimit.tcl.

Attacchi DoS
Gli attacchi Denial of Service sono diretti alla shell su cui è il bot.
Come ogni attacco è un flood di qualunque genere che causi alla shell un forte rallantamento ed eventualmente il bot potrebbe essere disconnesso da IRC.
Sfortunatamente c'è poco da fare per proteggere il bot da un serio attacco DoS, dipende dall'abilità della shell di resistere ad ogni attacco.
Scegliere una shell con un'ampia banda di connessione e un buon firewall può aiutare ad evitare che gli attacchi meno seri abbiano qualche effetto significativo sul bot, ma ci sono poche shell che sono totalmente invulnerabili.
Gli attacchi DoS, come il più noto attacco 'smurf', sono il motivo principale per cui molti canali IRC hanno un gran numero di bot su shell diverse per aiutare a proteggere il canale dal takeover che è il risultato di un attacco di questo tipo.

Sicurezza della shell
Dal momento che il numero di nuovi buchi nella sicurezza è apparentemente infinito e gli exploit appaiono nei componenti di vario gusto di Linux e FreeBSD e i servizi che sono usciti su di loro, la shell box Unix di uno fornitore commerciale di shell è sempre sotto alto rischio di essere 'hackata'.
Dal momento che la natura 'pubblica' di un account di una shel commerciale-virtualmente chiunque con poche migliaia di lire o col numero di carta di credito di qualcun altro può ottenere un account, e ci può essere poca cura da parte degli utenti che danno la propria password di accont a hacker malevoli-può accadere che poche uova marce su un sistema tentino di compromettere la sicurezza della shell e guadagnare il controllo di tutti gli account.
In alcuni casi la shell può anche venir messa in pericolo dall'esterno da un utente senza account.
Se ciò accade l'utente può ottenere anche il controllo dell'Eggdrop (ed eventualmente di tutti i bot della botnet, dipende da comesono stati settati) e controllare tutti i canali su cui risiede l'Eggdrop. Sfortunatamente, una volta che la shell è 'hackata' c'è poco che puoi fare per salvare il proprio bot e i propri canali.
Le shell private sono meno vulnerabili dagli hackers, ma a meno che si abbiano amici con lapropria shell box non si ha altra soluzione che usare un fornitore di shell commerciale.
Perciò quando si scegle un fornitore di shell ci si assicuri di sceglierne uno con una buona reputazione in fatto di sicurezza e metodi di controllo.
Un errore comune è quello di pensare che se il bot che viene hackato è un bot leaf, si possa stare tranquilli finchè il bot hub sovrascrive lo userfile del bot leaf.
In realtà l'utente può ancora controllare il bot leaf e, se si sta usando l'opzione tipica di condivisione, l'utente può ottenere il controllo di tutti i bot condivisi sulla botnet.
Inoltre, se i comandi .tcl, .set, or .chanset sono stati abilitati su questi bot, l'utente può accedere a tutte le shell attraverso i bot e fare grossi guai.
Usare private-user può essere utile ad impedire che una botnet venga danneggiata in questo modo.

 

seleziona: torna all'indice della sezione

 

Translated with permission from egghelp.org (http://www.egghelp.org ) - Tradotto con il permesso di egghelp.org (http://www.egghelp.org )

 

 

- Home - IRC - Storia - Regole - Meetings - Download e Links - Giochi - Mail - Guida Eggdrop-