Line 1... |
Line 1... |
1 |
#!/bin/bash
|
1 |
#!/bin/bash
|
2 |
|
2 |
|
3 |
# Id: $Id: alcasar-url_filter_wl.sh 2454 2017-12-09 18:59:31Z tom.houdayer $
|
3 |
# Id: $Id: alcasar-url_filter_wl.sh 2648 2018-11-02 22:33:33Z lucas.echard $
|
4 |
|
4 |
|
5 |
# alcasar-url_filter.sh
|
5 |
# alcasar-url_filter.sh
|
6 |
# by REXY
|
6 |
# by REXY
|
7 |
# This script is distributed under the Gnu General Public License (GPL)
|
7 |
# This script is distributed under the Gnu General Public License (GPL)
|
8 |
|
8 |
|
Line 16... |
Line 16... |
16 |
IP_WL="/usr/local/share/iptables-wl-enabled/ossi-ip-safesearch"
|
16 |
IP_WL="/usr/local/share/iptables-wl-enabled/ossi-ip-safesearch"
|
17 |
CONF_FILE="/usr/local/etc/alcasar.conf"
|
17 |
CONF_FILE="/usr/local/etc/alcasar.conf"
|
18 |
SED="/bin/sed -i"
|
18 |
SED="/bin/sed -i"
|
19 |
safesearch="Off"
|
19 |
safesearch="Off"
|
20 |
usage="Usage: alcasar-url_filter_wl.sh { -safesearch_on or -safesearch_off }"
|
20 |
usage="Usage: alcasar-url_filter_wl.sh { -safesearch_on or -safesearch_off }"
|
- |
|
21 |
|
- |
|
22 |
googledomains="google.com. google.ad. google.ae. google.com.af. google.com.ag. google.com.ai. google.al. google.am. google.co.ao. google.com.ar. google.as. google.at. google.com.au. google.az. google.ba. google.com.bd. google.be. google.bf. google.bg. google.com.bh. google.bi. google.bj. google.com.bn. google.com.bo. google.com.br. google.bs. google.bt. google.co.bw. google.by. google.com.bz. google.ca. google.cd. google.cf. google.cg. google.ch. google.ci. google.co.ck. google.cl. google.cm. google.cn. google.com.co. google.co.cr. google.com.cu. google.cv. google.com.cy. google.cz. google.de. google.dj. google.dk. google.dm. google.com.do. google.dz. google.com.ec. google.ee. google.com.eg. google.es. google.com.et. google.fi. google.com.fj. google.fm. google.fr. google.ga. google.ge. google.gg. google.com.gh. google.com.gi. google.gl. google.gm. google.gp. google.gr. google.com.gt. google.gy. google.com.hk. google.hn. google.hr. google.ht. google.hu. google.co.id. google.ie. google.co.il. google.im. google.co.in. google.iq. google.is. google.it. google.je. google.com.jm. google.jo. google.co.jp. google.co.ke. google.com.kh. google.ki. google.kg. google.co.kr. google.com.kw. google.kz. google.la. google.com.lb. google.li. google.lk. google.co.ls. google.lt. google.lu. google.lv. google.com.ly. google.co.ma. google.md. google.me. google.mg. google.mk. google.ml. google.com.mm. google.mn. google.ms. google.com.mt. google.mu. google.mv. google.mw. google.com.mx. google.com.my. google.co.mz. google.com.na. google.com.nf. google.com.ng. google.com.ni. google.ne. google.nl. google.no. google.com.np. google.nr. google.nu. google.co.nz. google.com.om. google.com.pa. google.com.pe. google.com.pg. google.com.ph. google.com.pk. google.pl. google.pn. google.com.pr. google.ps. google.pt. google.com.py. google.com.qa. google.ro. google.ru. google.rw. google.com.sa. google.com.sb. google.sc. google.se. google.com.sg. google.sh. google.si. google.sk. google.com.sl. google.sn. google.so. google.sm. google.sr. google.st. google.com.sv. google.td. google.tg. google.co.th. google.com.tj. google.tk. google.tl. google.tm. google.tn. google.to. google.com.tr. google.tt. google.com.tw. google.co.tz. google.com.ua. google.co.ug. google.co.uk. google.com.uy. google.co.uz. google.com.vc. google.co.ve. google.vg. google.co.vi. google.com.vn. google.vu. google.ws. google.rs. google.co.za. google.co.zm. google.co.zw. google.cat."
|
- |
|
23 |
|
- |
|
24 |
youtubedomains="www.youtube.com m.youtube.com youtubei.googleapis.com youtube.googleapis.com www.youtube-nocookie.com"
|
- |
|
25 |
|
21 |
nb_args=$#
|
26 |
nb_args=$#
|
22 |
if [ $nb_args -le 0 ]
|
27 |
if [ $nb_args -le 0 ]
|
23 |
then
|
28 |
then
|
24 |
echo "$usage"
|
29 |
echo "$usage"
|
25 |
nb_args=0
|
30 |
nb_args=0
|
Line 46... |
Line 51... |
46 |
exit 1
|
51 |
exit 1
|
47 |
;;
|
52 |
;;
|
48 |
esac
|
53 |
esac
|
49 |
nb_args=$(expr $nb_args - 1)
|
54 |
nb_args=$(expr $nb_args - 1)
|
50 |
done
|
55 |
done
|
51 |
forcesafesearch_server=`host -ta forcesafesearch.google.com|cut -d" " -f4` # retrieve google forcesafesearch ip
|
- |
|
52 |
if [ $safesearch == "On" ]
|
56 |
if [ $safesearch == "On" ]
|
53 |
then
|
57 |
then
|
54 |
# add 'SafeSearch' redirection for google searching
|
- |
|
55 |
$SED "/google/d" $DNSMASQ_WL_CONF # remove old google declaration
|
- |
|
56 |
if [ -e $IP_WL ]
|
58 |
if [ -e $IP_WL ]
|
57 |
then
|
59 |
then
|
58 |
rm $IP_WL # remove old google declaration
|
60 |
rm $IP_WL # remove old google declaration
|
59 |
fi
|
61 |
fi
|
- |
|
62 |
|
- |
|
63 |
# add 'SafeSearch' redirection for google searching
|
- |
|
64 |
google_safe_server=`host -ta forcesafesearch.google.com | grep "address" | cut -d" " -f4` # retrieve google forcesafesearch ip
|
- |
|
65 |
$SED "/google/d" $DNSMASQ_WL_CONF # remove old google declaration
|
60 |
echo "# SafeSearch redirect server for google" >> $DNSMASQ_WL_CONF
|
66 |
echo "# SafeSearch redirect server for google" >> $DNSMASQ_WL_CONF
|
61 |
for gg_dnsname in .google.com .google.ad .google.ae .google.com.af .google.com.ag .google.com.ai .google.al .google.am .google.co.ao .google.com.ar .google.as .google.at .google.com.au .google.az .google.ba .google.com.bd .google.be .google.bf .google.bg .google.com.bh .google.bi .google.bj .google.com.bn .google.com.bo .google.com.br .google.bs .google.bt .google.co.bw .google.by .google.com.bz .google.ca .google.cd .google.cf .google.cg .google.ch .google.ci .google.co.ck .google.cl .google.cm .google.cn .google.com.co .google.co.cr .google.com.cu .google.cv .google.com.cy .google.cz .google.de .google.dj .google.dk .google.dm .google.com.do .google.dz .google.com.ec .google.ee .google.com.eg .google.es .google.com.et .google.fi .google.com.fj .google.fm .google.fr .google.ga .google.ge .google.gg .google.com.gh .google.com.gi .google.gl .google.gm .google.gp .google.gr .google.com.gt .google.gy .google.com.hk .google.hn .google.hr .google.ht .google.hu .google.co.id .google.ie .google.co.il .google.im .google.co.in .google.iq .google.is .google.it .google.je .google.com.jm .google.jo .google.co.jp .google.co.ke .google.com.kh .google.ki .google.kg .google.co.kr .google.com.kw .google.kz .google.la .google.com.lb .google.li .google.lk .google.co.ls .google.lt .google.lu .google.lv .google.com.ly .google.co.ma .google.md .google.me .google.mg .google.mk .google.ml .google.com.mm .google.mn .google.ms .google.com.mt .google.mu .google.mv .google.mw .google.com.mx .google.com.my .google.co.mz .google.com.na .google.com.nf .google.com.ng .google.com.ni .google.ne .google.nl .google.no .google.com.np .google.nr .google.nu .google.co.nz .google.com.om .google.com.pa .google.com.pe .google.com.pg .google.com.ph .google.com.pk .google.pl .google.pn .google.com.pr .google.ps .google.pt .google.com.py .google.com.qa .google.ro .google.ru .google.rw .google.com.sa .google.com.sb .google.sc .google.se .google.com.sg .google.sh .google.si .google.sk .google.com.sl .google.sn .google.so .google.sm .google.sr .google.st .google.com.sv .google.td .google.tg .google.co.th .google.com.tj .google.tk .google.tl .google.tm .google.tn .google.to .google.com.tr .google.tt .google.com.tw .google.co.tz .google.com.ua .google.co.ug .google.co.uk .google.com.uy .google.co.uz .google.com.vc .google.co.ve .google.vg .google.co.vi .google.com.vn .google.vu .google.ws .google.rs .google.co.za .google.co.zm .google.co.zw .google.cat
|
67 |
for bing_dnsname in $googledomains
|
- |
|
68 |
do
|
- |
|
69 |
echo "address=/$bing_dnsname/$google_safe_server" >> $DNSMASQ_WL_CONF
|
- |
|
70 |
done
|
- |
|
71 |
echo "add wl_ip_allowed $google_safe_server" >> $IP_WL
|
- |
|
72 |
|
- |
|
73 |
# add 'SafeSearch' redirection for bing searching
|
- |
|
74 |
bing_safe_server=`host -ta strict.bing.com | grep "address" | cut -d" " -f4` # retrieve bing strict ip
|
- |
|
75 |
$SED "/bing/d" $DNSMASQ_WL_CONF # remove old bing declaration
|
- |
|
76 |
echo "# SafeSearch redirect server for bing" >> $DNSMASQ_WL_CONF
|
- |
|
77 |
echo "address=/www.bing.com/$bing_safe_server" >> $DNSMASQ_WL_CONF
|
- |
|
78 |
echo "add wl_ip_allowed $bing_safe_server" >> $IP_WL
|
- |
|
79 |
|
- |
|
80 |
# add 'SafeSearch' redirection for youtube searching
|
- |
|
81 |
youtube_safe_server=`host -ta restrict.youtube.com | grep "address" | cut -d" " -f4` # retrieve youtube restrict ip
|
- |
|
82 |
$SED "/youtube/d" $DNSMASQ_WL_CONF # remove old youtube declaration
|
- |
|
83 |
echo "# SafeSearch redirect server for youtube" >> $DNSMASQ_WL_CONF
|
- |
|
84 |
for yt_dnsname in $youtubedomains
|
62 |
do
|
85 |
do
|
63 |
echo "address=/$gg_dnsname/$forcesafesearch_server" >> $DNSMASQ_WL_CONF
|
86 |
echo "address=/$yt_dnsname/$youtube_safe_server" >> $DNSMASQ_WL_CONF
|
64 |
done
|
87 |
done
|
65 |
echo "add wl_ip_allowed $forcesafesearch_server" >> $IP_WL
|
88 |
echo "add wl_ip_allowed $youtube_safe_server" >> $IP_WL
|
66 |
else
|
89 |
else
|
67 |
$SED "/google/d" $DNSMASQ_WL_CONF
|
90 |
$SED "/google/d" $DNSMASQ_WL_CONF
|
- |
|
91 |
$SED "/bing/d" $DNSMASQ_WL_CONF
|
- |
|
92 |
$SED "/youtube/d" $DNSMASQ_WL_CONF
|
68 |
rm $IP_WL
|
93 |
rm $IP_WL
|
69 |
fi
|
94 |
fi
|
70 |
systemctl restart dnsmasq-whitelist
|
95 |
systemctl restart dnsmasq-whitelist
|
71 |
fi
|
96 |
fi
|
72 |
|
- |
|