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:
parent
1437f7c891
commit
c563970355
7
conf/china
Normal file
7
conf/china
Normal 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
53
conf/dialog.sh
Executable 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
7
conf/korea
Normal 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
7
conf/sinokorea
Normal 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
|
33
dialog.sh
33
dialog.sh
@ -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
|
|
@ -13,13 +13,14 @@ if [[ $EUID -ne 0 ]]; then
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
apt-get update
|
apt-get update
|
||||||
apt-get install -y ipset
|
apt-get install -y ipset dialog
|
||||||
mkdir /etc/ipset
|
mkdir /etc/ipset
|
||||||
ipset create blacklist hash:net
|
ipset create blacklist hash:net
|
||||||
iptables -I INPUT -m set --match-set blacklist src -j DROP
|
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
|
chmod a+x /etc/cron.daily/blacklist
|
||||||
time /etc/cron.daily/blacklist
|
time /etc/cron.daily/blacklist
|
||||||
|
source conf/dialog.sh
|
||||||
iptables-save > /etc/iptables.up.rules
|
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 ipset restore < /etc/ipset.up.rules" /etc/network/interfaces
|
||||||
sed -i -e "\$apre-up iptables-restore < /etc/iptables.up.rules" /etc/network/interfaces
|
sed -i -e "\$apre-up iptables-restore < /etc/iptables.up.rules" /etc/network/interfaces
|
||||||
|
Loading…
Reference in New Issue
Block a user