Updated README.md
Rename files and removed .sh
This commit is contained in:
59
shorewall-blacklist
Executable file
59
shorewall-blacklist
Executable file
@ -0,0 +1,59 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Shorewall blacklist file
|
||||
# blacklist file
|
||||
#
|
||||
BLACKLIST="/etc/shorewall/blacklist"
|
||||
CUSTOM="/etc/shorewall/custom-blacklist"
|
||||
|
||||
#
|
||||
# get URL
|
||||
#
|
||||
|
||||
URL[0]="http://feeds.dshield.org/block.txt"
|
||||
URL[1]="http://www.spamhaus.org/drop/drop.lasso"
|
||||
|
||||
#Counrtry BlockLists
|
||||
COUNTRY=(cn tw tr mx il id ua za)
|
||||
IPDENY="http://www.ipdeny.com/ipblocks/data/countries"
|
||||
|
||||
#
|
||||
# Don't Edit After this line
|
||||
#
|
||||
|
||||
# Temporary dump staging folder
|
||||
TMP=$(mktemp -d -t tmp.XXXXXXXXXX)
|
||||
#
|
||||
# @method to delete Temporary folder
|
||||
#
|
||||
function finish {
|
||||
rm -rf "$TMP"
|
||||
}
|
||||
trap finish EXIT
|
||||
|
||||
echo "Downloading new blacklists...."
|
||||
|
||||
#Blank out existing blacklists
|
||||
cat /dev/null > "$TMP/blacklist"
|
||||
cat /dev/null > $BLACKLIST
|
||||
|
||||
#Add custom entries
|
||||
if [[ -s $CUSTOM ]]; then
|
||||
cat $CUSTOM >> "$TMP/blacklist"
|
||||
fi
|
||||
|
||||
## top 20 attacking class C (/24)
|
||||
wget -q -O - ${URL[0]} | sed '1,/Start/d' | sed '/#/d' | awk '{print $1,$3}' | sed 's/ /\//' >> "$TMP/blacklist"
|
||||
|
||||
## Spamhaus DROP List
|
||||
wget -q -O - ${URL[1]} | sed '1,/Expires/d' | awk '{print $1}' >> "$TMP/blacklist"
|
||||
|
||||
## Country Blocklists
|
||||
for BLOCK in ${COUNTRY[*]}; do
|
||||
wget -q -O - $IPDENY/$BLOCK.zone | awk '{print $1}' >> "$TMP/blacklist"
|
||||
done
|
||||
|
||||
#Remove duplicate entries
|
||||
sort "$TMP/blacklist" | uniq -c | awk '{print $2}' > $BLACKLIST
|
||||
|
||||
shorewall refresh
|
Reference in New Issue
Block a user