myhome/.local/bin/iptables-update

43 lines
2.3 KiB
Plaintext
Raw Permalink Normal View History

#!/bin/bash
TEMP=/tmp/iptablesTemp
FINAL="/home/yorune/.config/iptables"
LINK="https://www.ipdeny.com/ipblocks/data/countries/all-zones.tar.gz"
#BLOCKEDCOUNTRIES=(ad ae af ag ai al am ao ap aq ar as at au aw ax az ba bb bd be bf bg bh bi bj bl bm bn bo bq br bs bt bw by bz ca cd cf cg ch ci ck cl cm cn co cr cu cv cw cy cz de dj dk dm do dz ec ee eg er es et eu fi fj fk fm fo fr ga gb gd ge gf gg gh gi gl gm gn gp gq gr gt gu gw gy hk hn hr ht hu id ie il im in io iq ir is it je jm jo jp ke kg kh ki km kn kp kr kw ky kz la lb lc li lk lr ls lt lu lv ly ma mc md me mf mg mh mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nc ne nf ng ni nl no np nr nu nz om pa pe pf pg ph pk pm pr ps pt pw py qa re ro rs ru rw sa sb sc sd se sg si sk sl sm sn so sr ss st sv sx sy sz tc td tg th tj tk tl tm tn to tr tt tv tw tz ua ug us uy uz va vc ve vg vivn vu wf ws ye yt za zm zw)
BLOCKEDCOUNTRIES=(af ax al dz as ad ao ai aq ag ar am aw au az bs bh bd bb by bz bj bm bt bo ba bw br io bn bg bf bi kh cm cv cf td cl cn co km cg cd ck cr ci hr cu cy dj dm do ec sv gq er ee et fk fj gf ga gm ge gh gi gd gp gu gt gn gw ht hn hk hu is in id ir iq im il jm je jo kz ke ki kp kr kw kg la lv lb ls lr ly mo mk mg mw my mv ml mt mh mq mr mu yt fm md mc mn me ms ma mz mm na nr np nc nz ni ne ng nu nf mp om pk pw ps pa py pe pr qa re ro ru rw kn lc pm vc ws sm st sa sn rs sc sl sg sk si sb so za es lk sd sr sy tw tj tz th tl tg tk to tt tn tr tm tc ug ua ae uy uz vu ve vn vg vi ye zm zw)
cd $HOME
mkdir {blocked,allzones}
curl -LO $LINK
tar xzvf all-zones.tar.gz -C allzones
rm all-zones.tar.gz
sed -n '/# CONFIGURATION:/,/# END OF CONFIG/p' $FINAL > beggining.txt
sed -n '/# END CONFIGURATION:/,/# END OF CONFIGURATION/p' $FINAL > end.txt
for blockedCountries in "${BLOCKEDCOUNTRIES[@]}"
do
mv allzones/$blockedCountries.zone blocked/
done
for f in blocked/*.zone;
do
echo "Adding $f to iptables.."
echo "" >> $TEMP
echo "# Adding zone $f" >> $TEMP
while read line; do
echo "iptables -A INPUT -s $line -j DROP" >> $TEMP
#echo "-A INPUT -s $line -j DROP" >> $TEMP
done < $f
done
cat beggining.txt > $FINAL
cat $TEMP >> $FINAL
echo "" >> $FINAL
cat end.txt >> $FINAL
rm -rf blocked allzones $TEMP beggining.txt end.txt
sh ~/.local/bin/iptables-restart
#systemctl restart iptables