1
0
mirror of https://github.com/mail-in-a-box/mailinabox.git synced 2025-04-21 03:02:09 +00:00

added dialog and blocks for korea as well as China

This commit is contained in:
ChiefGyk 2016-06-29 14:45:36 -04:00
parent 1437f7c891
commit c563970355
7 changed files with 77 additions and 35 deletions

7
conf/china Normal file
View File

@ -0,0 +1,7 @@
#!/bin/bash
curl http://www.okean.com/antispam/iptables/rc.firewall.china > /tmp/china.sh
chmod +x /tmp/china.sh
source /tmp/china.sh
rm -f /tmp/china.sh
ipset save > /etc/ipset.up.rules
iptables-save > /etc/iptables.up.rules

53
conf/dialog.sh Executable file
View File

@ -0,0 +1,53 @@
#!/bin/bash
HEIGHT=15
WIDTH=40
CHOICE_HEIGHT=4
BACKTITLE="Do you want to block China and/or Korea?"
TITLE="Country Block"
MENU="A lot of spam originates from Korea and China. If you don't plan on having to ever have those countries connect to your server you may block them. \
This will update weekly, and block all IP blocks to those countries \
Choose one of the following options:"
OPTIONS=(1 "China"
2 "Korea"
3 "China and Korea")
CHOICE=$(dialog --clear \
--backtitle "$BACKTITLE" \
--title "$TITLE" \
--menu "$MENU" \
$HEIGHT $WIDTH $CHOICE_HEIGHT \
"${OPTIONS[@]}" \
2>&1 >/dev/tty)
clear
case $CHOICE in
1)
echo "Bombing China"
echo iptables-persistent iptables-persistent/autosave_v4 boolean true | debconf-set-selections
echo iptables-persistent iptables-persistent/autosave_v6 boolean true | debconf-set-selections
cp china /etc/cron.weekly/china
chmod +x /etc/cron.weekly/china
time /etc/cron.weekly/china
apt-get install -y iptables-persistent
;;
2)
echo "Starting the Korean war again"
echo iptables-persistent iptables-persistent/autosave_v4 boolean true | debconf-set-selections
echo iptables-persistent iptables-persistent/autosave_v6 boolean true | debconf-set-selections
cp korea /etc/cron.weekly/korea
chmod +x /etc/cron.weekly/korea
time /etc/cron.weekly/korea
apt-get install -y iptables-persistent
;;
3)
echo "Blocking almost 1/3 of the world"
echo iptables-persistent iptables-persistent/autosave_v4 boolean true | debconf-set-selections
echo iptables-persistent iptables-persistent/autosave_v6 boolean true | debconf-set-selections
cp sinokorea /etc/cron.weekly/sinokorea
chmod +x /etc/cron.weekly/sinokorea
time /etc/cron.weekly/sinokorea
apt-get install -y iptables-persistent
;;
esac

7
conf/korea Normal file
View File

@ -0,0 +1,7 @@
#!/bin/bash
curl http://www.okean.com/antispam/iptables/rc.firewall.korea > /tmp/korea.sh
chmod +x /tmp/korea.sh
source /tmp/korea.sh
rm -f /tmp/korea.sh
ipset save > /etc/ipset.up.rules
iptables-save > /etc/iptables.up.rules

7
conf/sinokorea Normal file
View File

@ -0,0 +1,7 @@
#!/bin/bash
curl http://www.okean.com/antispam/iptables/rc.firewall.sinokorea > /tmp/sinokorea.sh
chmod +x /tmp/sinokorea.sh
source /tmp/sinokorea.sh
rm -f /tmp/sinokorea.sh
ipset save > /etc/ipset.up.rules
iptables-save > /etc/iptables.up.rules

View File

@ -1,33 +0,0 @@
#!/bin/bash
HEIGHT=15
WIDTH=40
CHOICE_HEIGHT=4
BACKTITLE="Backtitle here"
TITLE="Title here"
MENU="Choose one of the following options:"
OPTIONS=(1 "China"
2 "Korea"
3 "China and Korea")
CHOICE=$(dialog --clear \
--backtitle "$BACKTITLE" \
--title "$TITLE" \
--menu "$MENU" \
$HEIGHT $WIDTH $CHOICE_HEIGHT \
"${OPTIONS[@]}" \
2>&1 >/dev/tty)
clear
case $CHOICE in
1)
echo "You chose Option 1"
;;
2)
echo "You chose Option 2"
;;
3)
echo "You chose Option 3"
;;
esac

View File

@ -13,13 +13,14 @@ if [[ $EUID -ne 0 ]]; then
exit
fi
apt-get update
apt-get install -y ipset
apt-get install -y ipset dialog
mkdir /etc/ipset
ipset create blacklist hash:net
iptables -I INPUT -m set --match-set blacklist src -j DROP
cp blacklist /etc/cron.daily/blacklist
cp conf/blacklist /etc/cron.daily/blacklist
chmod a+x /etc/cron.daily/blacklist
time /etc/cron.daily/blacklist
source conf/dialog.sh
iptables-save > /etc/iptables.up.rules
sed -i -e "\$apre-up ipset restore < /etc/ipset.up.rules" /etc/network/interfaces
sed -i -e "\$apre-up iptables-restore < /etc/iptables.up.rules" /etc/network/interfaces