DiGiTaL RiOt

Voci categorizzate come ‘eMule’

Prima release seria per eMule Log Checker

Ottobre 7, 2007 · 1 Commento

elalogo.png

Ho terminato la prima release seria di emule Log Checker (o Analyzer non fa differenza XD), in cui ho implementato alcune opzioni da riga di comando , l’opzione di help ed un mitico File README!!! :D

È disponibile un archivio zip contenente lo script e la documentazione, basta cliccare sul link download

P.S. In caso decidiate di scaricare il file, vi sarei davvero grato se lasciaste un commento all’articolo di presentazione presente al sito bubbledev.altervista.org, giusto per rendermi conto del numero di downloads e per ricevere feedback da voi (potete anche utilizzare la mail)

Categorie: Progetti · Programmazione · eMule · perl

eMule Log Analyzer

Ottobre 2, 2007 · Lascia un Commento

elalogo.png

Ciao a tutti! non pubblico articoli ormai da qualche giorno… sono stato parecchio impegnato XD….tanto per farvi un esempio, oggi è inziata l’università (matricola di ingegneria informatica)!!!!

Ma basta parlare di me…. ecco la novità: ho cominciato a scrivere un tool che potrebbe servire a molti di voi: un analizzatore dei log di eMule, che ,pensate un po, ho chiamato eMule Log analyzer :P .

Il funzionamente è molto semplice: una volta editato il file per definire la versione del client in uso (il default è aMule, utilizzata dal sottoscritto) vi basta eseguire in un interprete Perl lo scriptino e vedrete magicamente comparire la lista degli ultimi download registrati dal Logfile di eMule!.
Per il momento ho inserito pochissime opzioni da riga di comando e soprattutto, le opzioni sono ancora pochissime, diciamo che in questi giorni non avrò il tempo di annoiarmi ;)

Attenzione: Ci tengo a ribadire che è una versione mooolto giovane, mancano molte feature e potrebbero esserci bug, in definitiva il codice potrebbe cambiare di parecchio…. mi impegnerò anche a commentare il codice tranquilli!!!

Se avete consigli o idee per migliorare lo script, postate! ;)

 #!/usr/bin/perl -w
##############################################################
####		eMule Log Analyzer (unofficial)		  ####
####		Scritto da fatmatt Cikkense@gmail.com	  ####
####		Rilasciato sotto licenza GPL		  ####
##############################################################
###Analizza il log di emule ed estrae i download completati###
##############################################################  

#SETUP VARIABILI
$CLIENT = "aMule";
$USER = $ENV{USER};
$PATH = "/home/".$USER."/.".$CLIENT;
#ATTENZIONE: la variabile PATH è pensata per sistemi Linux, se usate un sistema operativo diverso dovete cambiarla a mano  

#È possibile che certi clients impostino una directory diversa, in caso, decommenta e setta a mano questa variabile:
#$PATH = "";  

open(STREAM,"<$PATH/logfile") || die("ERRORE: Impossibile leggere il file di log di $CLIENT\n");
my @files;
while (<STREAM>) {
	#Perl permette di scrivere codice poco Human readable XD
	if (m/(.*)Download completato:(.*)/) {
		push(@files,"Data: ".$1."---------------File:".$2);
	}  

}
close(STREAM);
#@files è un array con la lista dei file  

#Parsing delle opzioni da riga di comando
if ($args[0]) {
	$opt = $args[0];
} else {
	$opt = "normal"
}
unless ($args[0]) {
	print "Attenzione: Nessuna opzione indicata! avvio in modalità normale\n";
	print "Lista file completati salvati nel file di log di $CLIENT : \n";
	foreach my $file (@files) {
		print $file."\n";
	}
}
if ($opt eq "-s" || $opt eq "--store") {
	if (-d "/home/$USER/.eMuleLogChecker") {
		print "Esiste già un file di log per eMuleLogCheker, non ne verrà creato uno nuovo\n";
	} else {
		mkdir("/home/$USER/.eMuleLogChecker") || die("ERRORE: Impossibile creare la directory per i log di eMuleLogChecker");
	}
	open(STREAM,">>/home/$USER/.eMuleLogChecker/eMuleLogChecker.log") || die("ERRORE: Impossibile creare il log di eMuleLogChecker");
	foreach my $downloaded (@files) {
		print STREAM $downloaded."\n";
	}
	close(STREAM);
	print "ATTENZIONE: I download ricavati dal file di log di $CLIENT sono stati aggiunti al file di log di eMuleLogChecker\n";
}
elsif ($opt eq "-l" || $opt eq "--listed") {
print "Ecco la lista dei file scaricati:\n";
}

Categorie: Progetti · eMule · perl