File: jf

package info (click to toggle)
junkfilter 19990331-1
  • links: PTS
  • area: main
  • in suites: potato
  • size: 336 kB
  • ctags: 6
  • sloc: sh: 155; makefile: 36
file content (137 lines) | stat: -rwxr-xr-x 4,216 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#!/bin/sh
#
# JF -- unified junkfilter management
#
# $Id: jf,v 1.3 1999/03/16 03:25:38 gsutter Exp $
#
# junkfilter
# a junk e-mail filter system for procmail
# Copyright 1997-98, Gregory Sutter <gsutter@pobox.com>
#
# Please read the file "junkfilter.readme" and the page
# http://www.pobox.com/~gsutter/junkfilter/ before using
# junkfilter.  junkfilter is copyright 1997-98 Gregory
# Sutter and is licensed under the terms of the GNU
# General Public License, version 2.  See the file
# junkfilter.readme for details.

# ***************************************************
# 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 = xadd ]; then
	echo $2 >> $JFDIR/domains/general

elif [ x$1 = xchk ]; then
	cat $JFDIR/domains/* | perl -pe 'y/[A-Z]/[a-z]/' | grep $2

elif [ x$1 = xcta ]; then
	cat $JFDIR/domains/* | perl -pe 'y/[A-Z]/[a-z]/' | grep $2 || 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 <command> <option>"
	echo "commands: add [domain], chk [domain], cta [domain], build [option],"
	echo "          get (new gulf-blocks domains file), rel (build release)"
	echo "options: addresses, domains, bodychk, dialups, ip, headers, white"
fi

#eof