Psotnic 0.2.x HOWTO [IT]
Questo file contiene le basi che sono necessarie per il setup (e l'uso) del bot irc psotnic.
Per favore leggete questo file prima di fare qualsiasi domanda.
Buona lettura.
***
please note that all translated howtos are based upon english version and they might be outdated
if you cannot find something in this document please check english version. --pks
***
1. Opzioni del file di configurazione
Opzioni obbligatorie per ogni bot |
nick | nickname del bot |
realname | realname del bot |
nickappend | una serie di caratteri che verranno aggiunti al nick nel caso sia occupato (esempio: -|`^, questi settaggi saranno presi in considerazione solo se `altuidnick' è settato a 0) |
myipv4 | indirizzo ip del bot (esempio: 88.45.56.15, 0.0.0.0 vuol dire qualsiasi indirizzo ip) |
Opzioni obbligatorie per il bot hub |
listen | la porta alla quale il bot hub è in ascolto per le connessioni dai bot slave e dagli owners (esempio: 12345) |
ownerpass | l'md5sum della password di owner (la password principale) per la partyline (per avere un hash md5 esegui ./psotnic -p) |
Opzioni obbligatorie per i bot slave |
listen | la porta alla quale il bot slave è in ascolto per le connessioni dai bot leafe (esempio: 12345) |
hub | ip, porta, password del bot hub (esempio: 123.123.123.123 9000 una_password) |
Opzioni obbligatorie per i bot leaf |
hub | ip, porta, password e l'handle del bot slave (esempio: 111.111.111.111 8000 una_password slave1) |
Opzioni aggiuntive per i bot leaf |
alt | ip, porta del bot slave alternativo (esempio: 1111.111.222.222 9000, può essere settato più volte) |
Opzioni aggiuntive per tutti i bot |
ident | username del bot (default: l'username dell'account) |
handle | handle del bot che è visibile nella partyline (default: uguale al nick) |
vhost | indirizzo ipv4 o ipv6 (esempio: 217.2.3.54 o 3ffe:2f4:56:35:0:0:0:23), gli hostname non sono supportati (default: viene determinato dal sistema operativo) |
logfile | file dove il bot loggerà alcune azioni (default: /dev/null :) |
userlist | l'userlist (alias userfile) verrà salvata qui (default: $nick.ul) |
altuidnick | attiva/disattiva il cambio del nick a 0 quando il nick è occupato |
ctcptype | risposta al ctcp version (default: casuale). Opzioni disponibili: 0 = nessuna, 1 = psotnic, 2 = irssi, 3 = epic, 4 = lice, 5 = bitchx, 6 = dzony loker, 7 = luzik, 8 = mirc 6.14 |
keepnick | keepnick (default: 0) |
kickreason | messaggio del kick usato da kick vari |
limitreason | messaggio del kick usato quando qualcuno modifica il limite del canale |
partreason | messaggio dei part |
quitreason | messaggio dei quit |
cyclereason | messaggio dei cycle :) |
Opzioni aggiuntive per tutti i bot, queste possono essere settate più volte |
server | indirizzo ipv4 (o anche ipv6 dalla versione 0.2.3) e porta del server irc (esempio: 218.234.456.123 6667) |
server6 | indirizzo ipv6 e porta del server irc (esempio: 3ffe:2f4:56:35:0:0:0:23 6667) (opzione non presente a partire dalla versione 0.2.3) |
Nota che a partire dalla versione 0.2.3 il file di configurazione può essere modificato dalla partyline, per favore leggi la sezione 7 per i dettagli.
2. Settare la botnet
* Settare il bot hub
Prima di tutto copia il file hub.conf dalla directory cfg-examples alla directory dove si trova il binario del psotnic. Quindi editalo :). La prossima cosa necessaria da fare è criptare il file di configurazione, per farlo esegui `psotnic -c config.file'. Questo dovrebbe o restituire una serie di errori o semplicemente dirti che è andato tutto bene. Ora che hai il file di configurazione criptato puoi avviare il bot, per farlo esegui `psotnic config.file`, è anche opportuno muovere il file di configurazone non criptato in qualche posto sicuro, per ovvie ragione.
Adesso che il bot è avviato telnettalo (telnet ip port) ed inserisci la tua password di owner (non l'hash md5), se la password è corretta il bot dovrebbe chiederti il login e la password. Dopo aver creato l'account il bot chiuderà la connessione, quindi telnetta di nuovo e fornisci la password di owner, il login e la password dell'account creato. Ora che sei entrato nella partyline per la prima volta scrivi `.help', questo dovrebbe darti una lista di tutti i comandi disponibili, fai pratica, male non fa ;p
* Settare i bot slave
Principalmente è come sopra, ma con tre differenze, la prima differenza è che devi usare il file conf.slave invece di conf.hub, la seconda è che non devi settare la password di owner, la terza è che non devi telnettare nel bot slave. Il resto è uguale.
Dopo aver avviato il bot slave dovresti vedere dei nuovi messaggi in partyline, se non vedi nessun tentativo di connessione vuol dire che l'ip nel file di configurazione del bot slave è sbagliato.
Adesso è il momento di informare il bot hub che abbiamo un nuovo bot slave, per farlo scrivi questi comandi in partyline:
.+bot handle IP
.+host handle nick*!ident@vhost (solo quando lo slave è in irc)
.chattr handle s
.chpass handle una_password (la password è la stessa di quella nel file di configurazione del bot slave al settaggio hub)
* Settare i bot leaf
E' uguale a settare un bot slave tranne che per due differenze, la prima è che devi usare il file conf.leaf invece di conf.slave, la seconda è che dovrai scrivere `.chattr bot l' invece di `.chattr bot s'.
3. Settaggi
Settaggi che possono essere controllati dal comando .set |
cycle-delay | ritardo dei cycle |
rejoin-delay | tempo dopo il quale il bot joina il canale se è stato kickato |
rejoin-fail-delay | tempo dopo il quale il bot joina il canale se l'ultimo join non ha avuto successo |
hub-conn-delay | tempo dopo il quale il bot prova a riconnettersi all'hub |
irc-conn-delay | tempo dopo il quale il bot prova a riconnettersi a irc |
auth-time | tempo dopo il quale tutte le connessioni non autorizzate vengono chiuse |
private-ctcp | attiva/disattiva le risposte ai ctcp privati per tutti i bot |
ops-per-mode | numero di op in una linea quando ci sono nemici nel canale |
ask-for-op-delay | tempo dopo il quale il bot chiede l'op se non è stato ancora oppato |
getop-op-check | attiva/disattiva il controllo che verifica che un bot che sta richiedendo l'op sia gia oppato |
conn-timeout | tempo dopo il quale tutte le connessioni autorizzate inattive vengono chiuse |
keep-nick-check-delay | questo settaggio imposta ogni quanto tempo il bot deve controllare se il suo nick è disponibile |
remember-old-keys | attiva/disattiva il salvataggio delle vecchie key dei canali |
telnet-owners | se è settato a 0 gli owners non possono connettersi via telnet, se è settato a 1 tutti gli owners che hanno le flag +pt possono connettersi all'hub via telnet, se è settato a 2 solo gli owners che hanno le flag +pt e il loro ip aggiunto nella lista host possono connettersi. |
max-matches | numero massimo di corrispondenze da mostrare con .match |
perip-max-shown-cons | numero massimo di tentativi di connessione da un IP da mostrare |
perip-burst-size | numero massimo di connessioni non autorizzate da un IP |
perip-burst-time | tempo dopo il quale viene resettato il contatore delle connessioni |
perip-ignore-time | per quanto tempo ignorare l'ip che ha raggiunto il limite massimo di connessioni non autorizzate |
synflood-max-conns | numero massimo di tutte le connessioni non registrate |
synflood-ignore-time | per quanto tempo ignorare tutti gli ip |
bIe-mode-bounce-time | tempo dopo il quale il bot rimuoverà i modi di canale b/e/I |
wasop-cache-time | questo settaggio imposta quanto tempo il bot deve mantenere le informazioni sullo stato degli op durante un netsplit |
away-time | il bot sarà away per questo tempo |
chat-time | il bot non sarà away per questo tempo |
between-msg-delay | ogni quanto tempo il bot invierà messaggi quando non è away (antiidle) |
randomness | casualità dell'antidile/away |
public-away | attiva/disattiva messaggi di away pubblici |
ident-clones | numero massimo di utenti con lo stesso ident in un canale |
host-clones | numero massimo di utenti con lo stesso hostname/classe C in un canale |
proxy-clones | numero massimo di utenti con dominio simile e senza ident in un canale |
clone-life-time | tempo dopo il quale i cloni vengono cancellati dalla lista cloni |
critical-bots | se i bot in un canale sono inferiori a questo numero, i bot chiuderanno il canale (+i) |
quarantine-time | tempo dopo il quale vengono aggiunti gli host a un bot (i bot senza host non entreranno nei canali) |
4. Settaggi locali/di canale
Settaggi che possono essere controllati dal comando .chset #canale |
aop-bots | numero di bot a cui verrà assegnata la funzione di oppare gli user +ao quando joinano |
bot-aop-bots | numero di bot a cui verrà assegnata la funzione di oppare i bot quando joinano |
punish-bots | numero di bot a cui verrà assegnata la funzione di kickare gli user che fanno qualcosa di male |
getop-bots | numero di bot a cui verrà richiesto l'op da parte di un altro bot |
invite-bots | numero di bot a cui verrà richiesto l'invito da parte di un altro bot |
guardian-bots | numero di bot che controllano i modi di canale |
channel-ctcp | attiva/disattiva la risposta alle richieste ctcp di canale |
enforce-bans | attiva/disattiva il ban enforcing (=kicka gli user che coincidono con un ban appena messo) |
enforce-limits | attiva/disattiva il limit enforcing, se qualcuno con la flag +n setta un limite minore del numero degli utenti i bot elimineranno gli utenti in eccesso |
stop-nethack | attiva/disattiva il kick degli user -f quando ricevono l'op dal server irc |
limit | attiva/disattiva il settaggio automatico del limite da parte dei bot |
limit-time | ogni quanto ricontrollare il limite |
limit-offset | di quanto aumentare il limite rispetto agli utenti presenti |
limit-bots | numero di bot a cui verrà assegnata la funzione di settare il limite |
limit-tolerance | tolleranza del limite, questo settaggio previene cambiamenti frequenti del limite |
owner-limit-time | l'owner è autorizzato a cambiare il limite entro questo lasso di tempo |
takeover | attiva/disattiva modalità takeover |
bitch | attiva/disattiva modalità bitch |
wasoptest | attiva/disattiva il salvataggio dello stato degli op che splittano |
clonecheck | attiva/disattiva il controllo dei cloni |
dynamic-bans | attiva/disattiva la rimossione di ban vecchi dalla lista dei ban |
dynamic-invites | attiva/disattiva la rimossione di inviti vecchi dalla lista degli inviti |
dynamic-exempts | attiva/disattiva la rimossione di except vecchi dalla lista except |
lockdown | attiva/disattiva la chiusura del canale se il numero dei bot è arrivato a un livello critico |
lockdown-time | inutilizzato ;-) |
backup-mode-delay | ... |
5. Flag
flag globali |
x | owner principale (controllo completo) |
s | super owner (accesso alla partyline, modifiche ai bot, modifiche della flag -s negli handle) |
n | owner normale (accesso alla partyline, modifiche della flag -n negli handle) |
t | accesso telnet (è necessario anche il +p per potersi connettere) |
p | accesso alla partyline |
m | master (non ha accesso alla partyline, può oppare una persona alla volta, non può modificare i modi del canale) |
f | friend (non può oppare, ma può ricevere l'op dal server irc, non viene considerato come shit) |
o | op (semplice @) |
v | voice |
a | modalità automatica (combinata con +o o +v, dà l'op/voice automaticamente) |
d | deop (l'user viene kickato quando riceve l'op) |
q | quiet (all'user viene tolto il voice quando lo riceve) |
k | kick (l'user viene kickato quando joina) |
c | clone (l'user è esonerato dall'algoritmo di controllo cloni) |
i | invite (l'user viene automaticamente invitato se viene kickato e il canale è pieno o chiuso (+i)) |
r | reop (l'user viene rioppato automaticamente se deoppato) |
flag locali |
n | owner di canale (controllo completo sul canale, l'user non può deoppare/kickare/bannare i bot e connettersi in partyline - a meno che non abbia le flag globali +pt, allora potrà modificare tutti gli handle del canale) |
x|s|t|p | those flags are not allowed, other flags behave like the global flags ;) |
flag dei bot |
h | il bot è hub |
s | il bot è slave |
l | il bot è leaf |
y | può caricare moduli |
p | può informare la botnet se cambia host |
6. Moduli
Molte persone hanno problemi, quindi eccovi alcune informazioni su come caricare i moduli.
Prima di tutto devi avere una versione non statica di psotnic (si, significa che non si possono caricare moduli sulla versione statica). Dopo aver estratto il pacchetto di psotnic, entra nella directory framework, a seconda della versione del bot dovresti vedere molti file (nel caso del 0.2.2) o alcuni files e due directory (nel caso del 0.2.3). Se stai usando 0.2.2 esegui semplicemente make clean && make all, questo dovrebbe compilare tutti i moduli, se ricevi errori vuol dire che qualcosa è andato storto ed è un problema tuo. Se usi 0.2.3 esegui make op && make spam (solo questi due moduli hanno un port, se vuoi puoi fare il port degli altri). Dopo aver compilato i moduli (nome_modulo.so <- questo è il modulo, non nome_modulo.cpp) devi editare il file di configurazione. In ogni caso (0.2.2 e 0.2.3) devi aggiungere la seguente linea alla configurazione per caricare un modulo:
load /path/alla/home/psotnic/framework/nome_modulo.so
quindi cripta il file di configurazione e avvia il bot. Questo è tutto.
7. Editare il file di configurazione dalla partyline (dalla 0.2.3rc1)
Tutti i bot 0.2.3 hanno un comando per editare le opzioni di configurazione dalla partyline, per avere la configurazione corrente scrivere:
.bc nomebot cfg
Questo dovrebbe mostrare qualcosa tipo questo:
(nomebot) cfg: nick nomebot
(nomebot) cfg: realname Psotnic C++ Edition
e cosi via...
Puoi cambiare un'opzione scrivendo:
.bc nomebot cfg
Ad esempio:
.bc nomebot cfg kickreason blah blah
[15:08] #tu# bc nomebot cfg kickreason blah blah
(nomebot) cfg: kickreason has been set to blah blah
Per salvare i cambiamenti devi scrivere:
.bc nomebot cfg-save
Alcune opzioni di configurazione possono essere settati più volte, ad esempio l'opzione server o alt.
Per aggiungere 3 server scrivi semplicemente:
.bc nomebot cfg server 1.1.1.1 1111
.bc nomebot cfg server 2.2.2.2 2222
.bc nomebot cfg server 3.3.3.3 3333
Per rimuovere il secondo scrivi:
.bc nomebot cfg -server 2.2.2.2 2222
Questo è tutto, non dimenticarti di salvare la configurazione :)
8. Risoluzione degli host al join (solo su linux)
Tutti i psotnic 0.2.3 sono equipaggiati con un resolver asincrono, sfortunatamente solo dalla rc9 funziona bene, quindi se hai una versione vecchia dovresti aggiornarla.
Per abilitare il resolver setta l'opzione di configurazione resolve-threads ad un valore accettabile (per esempio 4), più alto è il valore più saranno le risoluzioni effettuate simultaneamente, ricorda solo che su linux ogni thread crea un nuovo processo. Dopo aver settato questa opzione riavvia il bot.
Per vedere le statistiche del resolver scrivi:
.status nomebot
9. Fine
Queste sono le descrizioni generali delle cose che di solito vi creano problemi, se trovi qualche errore fammi sapere, lo sistemerò appena possibile.
--
matrix (admin{at}areaunix.org)
|
|