Bogofilter
Bogofilter är ett hjälpmedel för att sortera bort oönskat innehåll från din el-post. Med hjälp av statistisk analys av brevhuvud och innehåll, så avgör Bogofilter om brevet är önskat eller oönskat (eller kanske mittemellan). Det är ett utmärkt sätt att filtrera bort spam.
Att installera
Bogofilter är installerat på vår mailserver Igloo, och för att börja använda det så är det bara att följa dessa steg:
Logga först av allt in på Igloo.
Kör därefter programmet bogosetup, som kommer att skapa en katalog vid namn /var/bogofilter/\$USER (där din databas med statistik kommer att hamna) och en konfigurationsfil vid namn ~/.bogofilter.cf (som talar om var databasen finns).
Nu kan du börja använda Bogofilter, om du vill, men det är en mycket bra idé att först fylla på databasen med lite information om vilken sorts brev du vill ha, och vilken sorts brev du inte vill ha. Ju fler brev som finns registrerade i databasen, desto bättre klassificeringar kommer Bogofilter att göra.
Säg att du under till exempel en veckas tid har sparat en kopia av alla önskade brev du fått i en mapp, kallad good, och alla oönskade brev i en annan mapp, kallad spam. Ifall du använder till exempel Pine eller Mutt så lagras mapparna i mbox-format, vilket innebär att varje mapp är en fil i din hemkatalog. (Det går bra att använda andra mappformat också, men då får du själv läsa i dokumentationen till Bogofilter hur du ska göra för att använda dessa mappar.)
Instruera därefter Bogofilter att analysera dessa filer och uppdatera databasen:
bogofilter -n < good
bogofilter -s < spam
Ifall du vill, så kan du nu kontrollera vad för information som har lagrats, med hjälp av programmet Bogoutil:
bogoutil -w /var/bogofilter/$USER
Skriv ett ord och tryck enter, så kommer Bogoutil att tala om hur många gånger det ordet har förekommit i ett önskat respektive oönskat brev. Avsluta genom att trycka Ctrl-D.
Att använda
Det vanligaste sättet att använda Bogofilter är att köra det från Procmail. För att göra det, så lägger du enklast till följande rader i din ~/.procmailrc:
BOGOFILTER=/usr/local/bin/bogofilter
:0fw
| $BOGOFILTER -peu
:0:
* ^X-Bogosity: Yes\>
spam
Dessa rader innebär att varje brev som anländer kommer att skickas vidare till Bogofilter, som kommer att analysera det och avgöra om det är önskat eller oönskat. Därefter kommer Bogofilter att själv uppdatera databasen med det nya brevet, och lägga till en extra rad i brevhuvudet som talar om vad Bogofilter kom fram till angående brevet.
Ifall Bogofilter kom fram till att brevet var oönskat, så kommer Procmail att lägga det i mappen spam.
Ibland tar Bogofilter fel, och klassificerar ett oönskat brev som önskat, eller tvärtom. Ifall man, som ovan, låter Bogofilter uppdatera sin databas automatiskt, så är det viktigt att man för varje sådan felklassificering instruerar Bogofilter om att det var fel. I både Pine och Mutt kan man göra detta genom att trycka | (pipe message to program) och ange någon av följande kommandorader.
Brevet är felaktigt klassificerat som önskat, det är egentligen oönskat:
bogofilter -Ns
Brevet är felaktigt klassificerat som oönskat, det är egentligen önskat:
bogofilter -Sn
Detta är något som man antagligen vill göra till ett makro. Den som använder Mutt kan till exempel skriva såhär i sin ~/.muttrc:
macro index S |'bogofilter -Ns'\n "re-register as spam"
macro pager S |'bogofilter -Ns'\n "re-register as spam"
macro index Z |'bogofilter -Sn'\n "re-register as non-spam"
macro pager Z |'bogofilter -Sn'\n "re-register as non-spam"
Mer information
Det ovan nämnda sättet att använda Bogofilter är bara ett av flera möjliga. Till exempel används genomgående orden önskad respektive oönskad post för att betona att Bogofilter inte sorterar specifikt spam, utan vad som helst som finns registrerat i databasen. Det går alltså utmärkt att få Bogofilter att till exempel släppa igenom reklam för tveksamma kinesiska mediciner, men sortera bort alla brev på engelska, om man nu skulle känna för att göra något sådant.
Det går även att få Bogofilter att inte bara klassificera ett brev som önskat eller oönskat, utan man kan få klassificeringen osäkert också, om man vill.
Därtill finns det en uppsjö av olika parametrar att ställa in, och man kan hålla sin databas liten och smidig genom att rensa i den med jämna mellanrum, och mer därtill. Hemsidan för Bogofilter är en startpunkt för mycket intressant läsning.
Länkar
- http://bogofilter.sourceforge.net/ - hemsida