#!/bin/sh # # junkfilter # a junk email filter system for procmail # Copyright 1997-2000 Gregory Sutter # # $Id: jf,v 1.8 2000/10/25 07:28:17 gsutter Exp $ # # Please read the file "junkfilter.readme" and the page # http://junkfilter.zer0.org/ before using junkfilter. # # jf -- unified junkfilter management # # *************************************************** # NOTA BENE: This program is unsupported, and is only # included for your convenience. It will probably # require modification for your system! # *************************************************** JFDIR=$HOME/prog/junkfilter if [ x$1 = xchk ]; then cat $JFDIR/domains/* | perl -pe 'y/[A-Z]/[a-z]/' | grep $2 elif [ x$1 = xadd -o x$1 = xcta ]; then cat $JFDIR/domains/* | perl -pe 'y/[A-Z]/[a-z]/' | egrep -q "^$2\$" && echo "$2 already in domains list" || echo $2 >> $JFDIR/domains/general elif [ x$1 = xbuild ]; then if [ x$2 = xdomains ]; then cat $JFDIR/domains/* |\ perl -pe 's/[ ]+//g; y/[A-Z]/[a-z]/; s/ //g' |\ egrep -v '^$' |\ sort | uniq |\ perl -p0e 's/\012(.)/\|$1/g; s/\./\\./g; s/\015//g; s/\|{2,}/\|/g' > $JFDIR/jf-domains echo "Done. $2 built." elif [ x$2 = xaddresses ]; then cat $JFDIR/addresses | sort |\ perl -p0e 's/\012(.)/\|$1/g; s/\015//g; s/\|{2,}/\|/g' > $JFDIR/jf-addresses echo "Done. $2 built." elif [ x$2 = xip ]; then cat $JFDIR/ip | sort |\ perl -p0e 's/\012(.)/\|$1/g; s/\./\\./g; s/\015//g; s/\|{2,}/\|/g' > $JFDIR/jf-ip echo "Done. $2 built." elif [ x$2 = xbodychk ]; then cat $JFDIR/bodychk | sort |\ perl -p0e 's/\012(.)/\|$1/g; s/\015//g; s/\|{2,}/\|/g' > $JFDIR/jf-bodychk echo "Done. $2 built." elif [ x$2 = xdialups ]; then cat $JFDIR/dialups | sort |\ perl -p0e 's/\012(.)/\|$1/g; s/\./\\./g; s/\015//g; s/\|{2,}/\|/g' > $JFDIR/jf-dialups echo "Done. $2 built." elif [ x$2 = xheaders ]; then cat $JFDIR/headers | sort |\ perl -p0e 's/\012(.)/\|$1/g; s/\015//g; s/\|{2,}/\|/g' > $JFDIR/jf-headers echo "Done. $2 built." elif [ x$2 = xwhite ]; then cat $JFDIR/white | sort |\ perl -p0e 's/\012(.)/\|$1/g; s/\015//g; s/\|{2,}/\|/g' > $JFDIR/jf-white echo "Done. $2 built." elif [ x$2 = xall ]; then jf build addresses jf build bodychk jf build dialups jf build domains jf build headers jf build ip jf build white echo "Done. $2 built." elif [ x = x ]; then echo "I can build 'addresses', 'bodychk', 'dialups', 'domains'," echo "'headers', 'ip', 'white', 'all'" exit 1 fi elif [ x$1 = xget ]; then cat $JFDIR/domains/gulf-blocks >> $JFDIR/more/gulf-blocks-old sort < $JFDIR/more/gulf-blocks-old > $JFDIR/more/gulf-blocks-tmp uniq < $JFDIR/more/gulf-blocks-tmp > $JFDIR/more/gulf-blocks-old lynx -dump -source ftp://ftp.gulf.net/pub/docs/domains.txt > $JFDIR/domains/gulf-blocks elif [ x$1 = xrel ]; then if [ ! x$2 = x ]; then JFEVER=$2 else echo "What version do you want to release? (e.g. 19990312)" exit 1 fi if [ ! -d $JFDIR/pkg/$JFEVER ]; then mkdir $JFDIR/pkg/$JFEVER else echo "That version already exists!" exit 1 fi JFEDIR=$JFDIR/pkg/$JFEVER TMPDIR=$JFDIR/tmp rm -r $TMPDIR/* rm $JFEDIR/* # jf get jf build all mkdir $TMPDIR/junkfilter-$JFEVER cp $JFDIR/* $TMPDIR/junkfilter-$JFEVER cp -R $JFDIR/domains $TMPDIR/junkfilter-$JFEVER cd $TMPDIR tar -cf - junkfilter-$JFEVER | gzip -9 > $JFEDIR/junkfilter-$JFEVER.tar.gz mv $TMPDIR/junkfilter-$JFEVER/* $JFEDIR rm $JFDIR/pkg/current rm $JFDIR/pkg/junkfilter.tar.gz cd $JFDIR/pkg ln -s $JFEVER/junkfilter-$JFEVER.tar.gz junkfilter.tar.gz ln -s $JFEVER current echo "Done. New junkfilter release in $JFEDIR." elif [ x$1 = x ]; then echo "Command syntax: jf