Portál AbcLinuxu, 6. května 2025 01:02
#!/bin/sh #---------------------------------------- # FUNCTIONS #---------------------------------------- function mylog() { MYLOG_CURRENT=`date "+%Y-%m-%d %H:%M:%S"` echo "$MYLOG_ID $MYLOG_CURRENT $1" >> $MYLOG } #---------------------------------------- # PREPARE DIRECTORIES AND VARIABLES #---------------------------------------- MYLOG=/var/log/bogofilter.log MYDIR=/data/scripts/bogowrap MBXS_SPAM=$MYDIR/mbxs_spam MBXS_NOSPAM=$MYDIR/mbxs_nospam export PATH="/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin" export WORDLIST_DIR=$MYDIR/wordlists case "$1" in "-l") #-------------------------------------------- # LEARNING #-------------------------------------------- mkdir $WORDLIST_DIR 2> /dev/null mkdir $WORDLIST_DIR.tmp 2> /dev/null rm -f $WORDLIST_DIR.tmp/*.db 2> /dev/null [ "$2" = "-e" ] || cp -f $WORDLIST_DIR/* $WORDLIST_DIR.tmp/ 2> /dev/null mylog "Bogofilter learning started (prepare)." SPAM_COUNT=`find $MBXS_SPAM -follow | grep -c ""` mylog "Bogofilter learning of $SPAM_COUNT spam messages started." find $MBXS_SPAM -follow | egrep "\.$" | nice -n 10 awk '{system("cat \""$1"\" | \ bogofilter -s -d "ENVIRON["WORDLIST_DIR"]".tmp")}' mylog "Bogofilter learning of $SPAM_COUNT nospam messages started." [ $? -eq 0 ] && find $MBXS_NOSPAM -follow -printf "%TY%Tm%Td %p\n" | egrep "\.$" | sort | \ tail -$SPAM_COUNT | nice -n 10 awk '{system("cat \""$2"\" | \ bogofilter -n -d "ENVIRON["WORDLIST_DIR"]".tmp")}' if [ $? -eq 0 ] then rm -f $WORDLIST_DIR/goodlist.db 2> /dev/null bogoutil -d $WORDLIST_DIR.tmp/goodlist.db | bogoutil -l $WORDLIST_DIR/goodlist.db rm -f $WORDLIST_DIR/spamlist.db 2> /dev/null bogoutil -d $WORDLIST_DIR.tmp/spamlist.db | bogoutil -l $WORDLIST_DIR/spamlist.db fi mylog "Bogofilter learning finished." exit $? ;; "-a") #-------------------------------------------- # ANALYZING #-------------------------------------------- SPAM=No MYFILE=$MYDIR`tempfile` mkdir $SPAM_TREZOR 2> /dev/null cp "$2" "$MYFILE" bogofilter -I "$MYFILE" -O "$2" -p -d $WORDLIST_DIR [ $? -eq 0 ] && SPAM=Yes mylog "Bogofilter analysis of $2 done (X-Bogosity: $SPAM)." rm -f "$MYFILE" ;; *) echo "Syntax : bogowrap [-l [-e]|-aA idea na zaver. Proc vyse uvedeny princip pouzivat pouze na spam? Proc jej nevyuzit i pro bezne zatridovani zprav metodou 'by example'?]" echo "Options : -l ... learn" echo " -a ... analyze message " echo " -e ... learn and emty wordlists, used with -l" exit 0 ;; esac
maps_rbl_domains = relays.ordb.org, bl.spamcop.net, dnsbl.njabl.orgna inych mailserveroch tiez jednoducho nastavitelne. bye
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.