Utente:TheNoise: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
m
nessun oggetto della modifica
mNessun oggetto della modifica
Riga 1: Riga 1:
==Introduzione==
==Contatti==


In questa guida spiegher� come sostituire il filtro antispam di evolution (che usa spamassassin) con un filtro molto pi� veloce (in quanto bayesiano): bogofilter.
: Antonio (The_Noise) Ingargiola
Usando Evolution ho notato che il filtro antispam che richiede l'uso di spamassassin � molto lento soprattutto inserendo i controlli esterni (ovvero ogni mail viene confrontata con una lista di mail-spam note). Vi sar� capitato forse anche di usare Thunderbird che include un filtro anti-spam bayesiano (� un tecnica statistica) e di notare che questo tipo di filtro � molto pi� veloce ed ugualmente accurato (non so in termini assoluti quale sia il migliore ma per usi SOHO entrambi sono ampiamente soddisfacenti).
: Indirizzo email: debian at fastwebnet dot it
: Indirizzo jabber: the_noise@jabber.linux.it


� possibile usare un filtro bayesiano anche con evolution, con conseguente aumento della velocit�. A tal scopo basta usare bogofilter, un filtro antispam bayessiano da linea di comando. Per i pi� smaliziati descriver� sinteticamente il procedimento, gli altri troveranno informazioni pi� dettagliate nel seguito. In pratica basta usare la funzionalit� di evolution di creare filtri che come condizione di verifica discriminano il valore di ritorno di un programma al quale � stata mandata in pipe l'email. � molto pi� semplice di quello che sembra in realt�. Il vantaggio di velocit� � notevole anche perch� si possono filtrare prima tutte le mail delle mailing list e mandare al filtro antispam solo le altre email. Lo svantaggio � che, usando una tecnica statistica, bisogna inizialmente "istruire" bogofilter a riconoscere lo spam, ma la cosa non presenta problemi se si dispone gi� di alcune decine di email di spam.
== Guide sul wiki ==
* http://guide.debianizzati.org/images/swirl.png [[Guida a Grub]]
* [[Usare Fotocamere Digitali]]
* [[Antispam in Evolution con Bogofilter]]
* [[Installare i driver eagle-adsl]]
* [[Modem adsl Telindus ND220]]
* [[Bash tips]]
* [[Debian Kernel Howto]]
* [[Note sull'installazione di Debian]]
* [[Esempio configurazione kernel]]
* [[Low-latency 2.6 kernel per applicazioni audio realtime]]
* [[Udev e Debian]] ''in collaborazione con [[Utente:Tindal|Tindal]]''
* [[Script: Confronto Configurazioni Kernel]]
* [[Damn Small Linux su chiavetta usb]]
* [[Gestire gli HD: stato di salute, badblocks e ripristino dati]]
* [[Gimp: rendere un logo trasparente]]
* [[Ekiga: installazione e configurazione]]
* [[Patch Con Kolivas: incrementare le prestazioni desktop]]
* [[ifplugd: connessione automatica]]
* [[LaTeX e Vim]]
* [[Python e Vim]]
* [[Desktop Search su Debian Etch: Installare Tracker]]


== Altri contributi minori ==
* [[Condividere la connessione a internet]]
* [[Colorare bash]]


==Usare bogofilter sulle mailbox di Evolution==
== Pagine create come centri di raccolta collaborativa di informazioni ==
* [[Installare i driver eci-adsl]]
* [[Installare i driver unicorn (BeWAN)]]
* [[Modem adsl Aethra Starmodem]]


Evolution mette le mail in /home/$USER/.evolution/mail/local/, un file (in formato mbox) per ogni cartella che abbiamo in Evolution. Le email della cartella "Posta in arrivo" compreso lo spam ("da Cestinare") st� tutta nel file Inbox: evolution aggiunge infatti un header che gli permette di distinguere lo spam dall'ham (prosciutto in inglese: tutto ci� che non � spam). Ora, per istruire bogofilter � molto pi� comodo di disporre dello spam in un file separato. A tal scopo apriamo evolution e spostiamo tutta la posta in "Da cestinare" in una nuova cartella che chiameremo fantasiosamente Spam.
== Progetti di traduzione collaborativa ==
A questo punto non dimenticarsi di svuotare la cartella "posta indesiderata" e poi quella "da cestinare".
* [[Pagina di manuale di module-assistant]]


Per istruire ora bogofilter su cosa sia spam, scriveremo in un terminale dalla cartella /home/$USER/.evolution/mail/local/:
== Dove ho messo il naso? ==
* [[Speciale:Contributions/TheNoise|Lista modifiche su wiki]]


<pre>
== Software libero ==
    $ cat Spam | bogofilter -M -s
* [http://pyplotsuite.sourceforge.net/ PyPlotSuite Homepage: creazione e visualizzazione di grafici 2D e immagini con python e matplotlib.]
</pre>




dove "Spam" � la cartella di evolution (qui file mbox) in cui abbiamo spostato lo spam. Se per errore abbiamo indicato come spam un file di mail "pulite" possiamo annullare l'operazione con lo stesso comando sostituendo -S al posto di -s.
== Miei Link ==
=== Elettronica ===
* [http://qucs.sourceforge.net/index.html Quite Universal Circuit Simulator]
* [http://www.lis.inpg.fr/realise_au_lis/kicad/ Kicad]
* [http://www.geda.seul.org/ gEDA]
* [http://opencircuitdesign.com/ Open Circuit Design]
==== Microcontrollori ====
* [http://linuxgazette.net/issue79/sebastian.html Getting started with PIC 16F84 on GNU/Linux]
* [http://www.linuxfocus.org/Italiano/November2004/article352.shtml Programmazione dei microcontollori AVR con GCC, libc 1.0.4]
* [http://www.rentron.com/Myke4.htm Build Your Own Programmer for the PICMicro with the "ELCheapo"]
* [http://www.captain.at/electronic-index.php Captain Universe - Electronics]
* [http://www.avrfreaks.com/ www.avrfreaks.com]
* [http://www.bobblick.com/techref/projects/picprog/picprog.html Classic PIC Programmer]
* [http://ouwehand.net/~peter/lcd/lcd.shtml How to control a HD44780-based Character-LCD]


Per indicare quali mail non sono spam scriveremo invece:


<pre>
=== Linux Audio ===
    $ cat Inbox | bogofilter -M -n
==== Pagine introduttive ====
</pre>
* [http://www.emillo.net/audio_midi Il mondo dell'audio e del MIDI in GNU/Linux]
* [http://ccrma.stanford.edu/planetccrma/software/ Planet CCRMA at home]: qui si trova una lista e una breve descrizione dei principali programmi audio per GNU/Linux.
* '''[http://linux-sound.org/ Sound & MIDI Software For Linux]''': La lista in assoluto più completa di tutto il software audio & midi per GNU/Linux, mantenuta dal mitico ''Dave Philips''.


==== Guide ====
* [http://esaracco.free.fr/documentations/linuxaudio/linuxaudio/ How to create music with GNU/Linux]
* [http://www.helgo.net/gavel/linuxmusic/ Mathias Linux Music Page]


Potremo ripetere il precendente comando anche per gli altri file corrispondenti a posta "pulita". Ad esempio io l'ho anche eseguito sugli altri file che contenevano i messaggi delle mailing list a cui sono iscritto. Se abbiamo indicato come mail "pulite" un file contentente spam, possiamo annullare l'operazione con lo stesso comando sostituendo -N al posto di -n.
==== Sound Processing ====
* [http://www.crca.ucsd.edu/~msp/techniques/latest/book-html/ Theory and Techniques of Electronic Music]
* [http://www.faqs.org/docs/sp/ Introduction to Sound Processing]


Per vedere quanto adesso sia chiara a bogofilter la differenza tra spam e ham possiamo visualizzare un diagramma con il comando (dalla home):
==== Recording & Mastering ====
* [http://users.sarai.net/~ish/contents.html Audio Recording on Linux]
* [http://www.theprojectstudiohandbook.com/directory.htm The Project Studio Handbook]
* [http://jamin.sourceforge.net/en/tutorial.html Mastering with JAMin and Ardour]
* [http://jamin.sourceforge.net/en/loudness.html Mastering tips: Loudness]


<pre>
==== Hardware Hacks ====
    $ bogoutil -H ~/.bogofilter/wordlist.db
* [http://www.djcj.org/LAU/quicktoots/toots/el-cheapo/ El-Cheapo Howto]
</pre>
* [http://www.dplay.com/dv/balance/balance.html Balancing Act]


==== Kernel & Drivers ====
* [http://people.redhat.com/mingo/realtime-preempt/ Realtime-Preemtion]: Patch per ottenere latenze inferiori al ms in GNU/Linux.
* [http://www.ubuntustudio.com/wiki/index.php/Breezy:Rlimits-Aware_PAM Rlimits-Aware_PAM]: nuovo semplice approccio per consentire agli utenti del gruppo audio di eseguire applicazioni realtime. Basta installare il pacchetto e potrete lanciare jack in modalità realtime!
* [http://members.optusnet.com.au/ckolivas/kernel/ Kernel patch homepage of Con Kolivas]: homepage delle patch ck. Migliorano la responsività del sistema da molti punti di vista. Ad esempio potrete sottoporre il sitema a qualsiasi carico (aggiornamento distribuzione, compilazione kernel...) e non noterete mai nessun rallentamento nell'uso interattivo (questo dando la proirità SCHED_IDLE ai processi pesanti di sfondo).
* [http://ck.kolivas.org/faqs/audio_hints Con Kolivas Audio Hints]: consigli del famoso kernel hacker per ottimizzare il sistema per scopi audio (soprattutto controller IDE e filesystem).
* [http://alsa.opensrc.org/AlsaOpensrcOrg Alsa Wiki]


dovremmo vedere un istogramma con due massimi nettamente distinti, questo vuol dire che a bogofilter � abbastanza chiara la differenza tra spam e ham. Ad esempio ecco come appare il mio istogramma, dopo aver inserito alcune centinaia di email come ham e una ottantina di mail come spam:
==== Programmi Preferiti ====
* [http://www.nongnu.org/om-synth/ Om Synth]
* [http://home.jps.net/~musound/whysynth.html WhySynth]
* [http://dssi.sourceforge.net/ DSSI]
* [http://www.ladspa.org/ LADSPA]
* [http://aqualung.sourceforge.net/ Aqualung]
* [http://freewheeling.sourceforge.net/ Freewheeling]
* [http://jackit.sourceforge.net/ Jack Audio Connection Kit]
* [http://ardour.org/ Ardour]
* [http://www.hydrogen-music.org/ Hydrogen]


<pre>
    Histogram
    score  count  pct  histogram
    0.00    59199 81.65 ################################################
    0.05      178  0.25 #
    0.10      114  0.16 #
    0.15      114  0.16 #
    0.20      139  0.19 #
    0.25      159  0.22 #
    0.30      139  0.19 #
    0.35      147  0.20 #
    0.40      160  0.22 #
    0.45      201  0.28 #
    0.50      151  0.21 #
    0.55      187  0.26 #
    0.60      150  0.21 #
    0.65      155  0.21 #
    0.70      243  0.34 #
    0.75      227  0.31 #
    0.80      251  0.35 #
    0.85      324  0.45 #
    0.90      356  0.49 #
    0.95    9905 13.66 #########
    tot    72499
    hapaxes:  ham  30363 (41.88%), spam      2 ( 0.00%)
      pure:  ham  59036 (81.43%), spam    9161 (12.64%)
</pre>
importante che l'istrogramma che ne risulta sia molto simile a questo: cio con 2 picchi separati e distinti (uno su 0.00 e l'altro su 0.95). Se abbiamo giocato troppo con i comandi per l'addestramento pu darsi che il risultato sia diverso. Allora si consiglia di prendere il file wordlist.db (che si trova in /home/$USER/.bogofilter) cancellarlo e crearne uno nuovo con lo stesso nome. Non serve a nulla disinstallare i pacchetti del programma per poi reinstallarli.
Ovviamente il nuovo file sar vuoto e necessiter un'altra volta dell'addestramento.
Se l'istogramma simile a quello mostrato allora possiamo dare in pipe una mail di prova "messaggio" che salviamo da qualche parte:
<pre>
    $ cat messaggio | bogofilter
</pre>
Se il valore di ritorno (echo $?) 0 la mail sar spam, se 1 sar ham, se 2 bogofilter incerto.
Da qui si capisce come sia possibile costruire un piccolo script al quale mandare in pasto (in pipe, tecnicamente) le nostre mail ed a seconda del valore di ritorno evolution sposter o meno il messagio nella cartella dello Spam. Un esempio il seguente:
<pre>
    #!/bin/sh
    # antispam - Wrapper per bogofilter
    #
    # Dare in pipe a questo script l'email da controllare
    # Ritorna:
    #  0  per lo spam
    #  1  per l'ham
    #  2  se il messaggio e' incerto
    #
    SPAMBOX="/home/$USER/.evolution/mail/local/Spam"
    HAMBOX="/home/$USER/.evolution/mail/local/Inbox"
    # Commentare se non si vuole istruire bogofilter sullo spam ogni volta
    # che si scarica la posta
    cat $SPAMBOX | bogofilter -M -s
   
    # Commentare se non si vuole istruire bogofilter sull'ham ogni volta
    # che si scarica la posta
    cat $HAMBOX | bogofilter -M -n
   
    # Controlla il messaggio dato in pipe (legge lo stdin)
    bogofilter
    # Valore di ritorno
    RESULT=$?
    echo $RESULT
    exit $RESULT
</pre>
Potete, ad esempio, salvare lo script precedente col nome antispam, copiarlo nel PATH (ad es. /usr/local/bin/) e renderlo eseguibile (chmod +x antispam). Ogni volta che viene mandato in pipe una email a questo script, bogofilter viene aggiornato su cosa spam e su cosa no e poi ci dir se il messagio passato spam o meno.
==Configurare Evolution per l'uso di bogofilter==
Non ci resta ora che configurare Evolution. Disabilitiamo innanzi tutto il filtro antispam integrato di evolution. Si trova in "Modifica/Preferenze/Preferenze di posta/Indesiderata". Poi creiamo un nuovo filtro per la posta in entrata. Come condizione di verifica del filtro (riquadro '''Se''') mettiamo "In pipe a programma", come nome del programma il nome dello script (/usr/local/antispam) e come valore di ritorno 0. Ora baster aggiungere l'azione da compiere (riquadro '''allora''') che sar ovviamente "Sposta nella cartella" Spam.
Ultimo consiglio che do quello di inserire il filtro antispam alla fine della lista filtri (se ne avete altri), spostandolo in basso. Inserendo poi negli altri filtri come azione oltre a "Sposta nella cartella" anche "Arresta l'elaborazione" in modo che se il messagio corrisponde al filtro non verr pi processato dai filtri successivi. In questo modo arriveranno a bogofilter molti meno messaggi e l'elaborazione sar ancora pi veloce. Io uso questo metodo perch non arriva spam alle mailng list a cui sono iscritto. Se vi arrivase spam anche dalle mailing list, potete non usarlo e fare filtrare tutto a bogofilter.
==Conclusioni==
Concludo dicendo che questa solo una delle implementazioni possibili. Ad esempio per velocizzare ulteriormente il controllo antispam si possono commentare i cat nello script, e poi di tanto in tanto aggiornare a mano bogofilter su cosa spam e cosa ham. Oppure si pu usare questo procedimento con una altro programma di posta (MUA) diverso da Evolution.Le possibilit sono infinite. Spero di essere riuscito a spiegare la logica delle cose (piuttosto che aver dato una soluzione bell'e pronta) in modo che ognuno di voi possa adattare quanto detto per rispondere alle proprie esigenze, e anche (perch no) al proprio capriccio. E, in fondo, non proprio questo il bello di usare software libero?
Happy hacking!


----
----
Autore: [[Utente:TheNoise|~ The_Noise]]
'''Sentiti libero di contribuire e ampliare i contenuto di questo wiki!'''
[[Categoria:Desktop]]
[[Categoria:Tips&Tricks]]
1 760

contributi

Menu di navigazione