1 |
#!/bin/bash
|
1 |
#!/bin/bash
|
2 |
|
2 |
|
3 |
# Id: $Id: alcasar-url_filter_bl.sh 2521 2018-04-02 19:46:16Z armand.ito $
|
3 |
# Id: $Id: alcasar-url_filter_bl.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 |
|
9 |
# Active / désactive : safesearch des moteurs de recherche
|
9 |
# Active / désactive : safesearch des moteurs de recherche
|
10 |
# Enable / disable : search engines safesearch
|
10 |
# Enable / disable : search engines safesearch
|
11 |
# Active / désactive : le filtrage des url contenant une adresse ip à la place d'un nom de domaine
|
11 |
# Active / désactive : le filtrage des url contenant une adresse ip à la place d'un nom de domaine
|
12 |
# Enable / disable : filter of urls containing ip address instead of domain name
|
12 |
# Enable / disable : filter of urls containing ip address instead of domain name
|
13 |
|
13 |
|
14 |
DIR_DG="/etc/e2guardian/lists"
|
14 |
DIR_DG="/etc/e2guardian/lists"
|
15 |
DNSMASQ_BL_CONF="/etc/dnsmasq-blacklist.conf"
|
15 |
DNSMASQ_BL_CONF="/etc/dnsmasq-blacklist.conf"
|
16 |
CONF_FILE="/usr/local/etc/alcasar.conf"
|
16 |
CONF_FILE="/usr/local/etc/alcasar.conf"
|
17 |
SED="/bin/sed -i"
|
17 |
SED="/bin/sed -i"
|
18 |
safesearch="Off"
|
18 |
safesearch="Off"
|
19 |
pureip="Off"
|
19 |
pureip="Off"
|
20 |
usage="Usage: alcasar-url_filter_bl.sh { -safesearch_on or -safesearch_off } & { -pureip_on or --pureip_off }"
|
20 |
usage="Usage: alcasar-url_filter_bl.sh { -safesearch_on or -safesearch_off } & { -pureip_on or --pureip_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 1 ]
|
27 |
if [ $nb_args -le 1 ]
|
23 |
then
|
28 |
then
|
24 |
echo "$usage"
|
29 |
echo "$usage"
|
25 |
nb_args=0
|
30 |
nb_args=0
|
26 |
else
|
31 |
else
|
27 |
while [ $nb_args -ge 1 ]
|
32 |
while [ $nb_args -ge 1 ]
|
28 |
do
|
33 |
do
|
29 |
arg=${!nb_args}
|
34 |
arg=${!nb_args}
|
30 |
case $arg in
|
35 |
case $arg in
|
31 |
-\? | -h* | --h*)
|
36 |
-\? | -h* | --h*)
|
32 |
echo "$usage"
|
37 |
echo "$usage"
|
33 |
exit 0
|
38 |
exit 0
|
34 |
;;
|
39 |
;;
|
35 |
# Safe search activation
|
40 |
# Safe search activation
|
36 |
-safesearch_on | --safesearch_on)
|
41 |
-safesearch_on | --safesearch_on)
|
37 |
safesearch="On"
|
42 |
safesearch="On"
|
38 |
;;
|
43 |
;;
|
39 |
# Safe search desactivation
|
44 |
# Safe search desactivation
|
40 |
-safesearch_off | --safesearch_off)
|
45 |
-safesearch_off | --safesearch_off)
|
41 |
safesearch="Off"
|
46 |
safesearch="Off"
|
42 |
;;
|
47 |
;;
|
43 |
# pure_ip activation
|
48 |
# pure_ip activation
|
44 |
-pureip_on | --pureip_on)
|
49 |
-pureip_on | --pureip_on)
|
45 |
pureip="On"
|
50 |
pureip="On"
|
46 |
;;
|
51 |
;;
|
47 |
# pureip desactivation
|
52 |
# pureip desactivation
|
48 |
-pureip_off | --pureip_off)
|
53 |
-pureip_off | --pureip_off)
|
49 |
pureip="Off"
|
54 |
pureip="Off"
|
50 |
;;
|
55 |
;;
|
51 |
*)
|
56 |
*)
|
52 |
echo "Argument inconnu :$arg";
|
57 |
echo "Argument inconnu :$arg";
|
53 |
echo "$usage"
|
58 |
echo "$usage"
|
54 |
exit 1
|
59 |
exit 1
|
55 |
;;
|
60 |
;;
|
56 |
esac
|
61 |
esac
|
57 |
nb_args=$(expr $nb_args - 1)
|
62 |
nb_args=$(expr $nb_args - 1)
|
58 |
done
|
63 |
done
|
59 |
if [ $safesearch == "On" ]
|
64 |
if [ $safesearch == "On" ]
|
60 |
then
|
65 |
then
|
61 |
$SED "s?^#\"?\"?g" $DIR_DG/urlregexplist # on décommente les lignes de regles
|
66 |
$SED "s?^#\"?\"?g" $DIR_DG/urlregexplist # on décommente les lignes de regles
|
62 |
# add 'nosslsearch' redirection for google searching
|
- |
|
63 |
# $SED "/google/d" $DNSMASQ_BL_CONF # remove old google declaration
|
- |
|
64 |
# nossl_server=`host -ta nosslsearch.google.com|cut -d" " -f4` # retrieve google nosslsearch ip
|
- |
|
65 |
# echo "# nosslsearch redirect server for google" >> $DNSMASQ_BL_CONF
|
- |
|
66 |
# 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 |
|
67 |
# do
|
- |
|
68 |
# echo "address=/$gg_dnsname/$nossl_server" >> $DNSMASQ_BL_CONF
|
- |
|
69 |
# done
|
- |
|
70 |
# add 'SafeSearch' redirection for google searching
|
68 |
# add 'SafeSearch' redirection for google searching
|
71 |
$SED "/google/d" $DNSMASQ_BL_CONF # remove old google declaration
|
69 |
$SED "/google/d" $DNSMASQ_BL_CONF # remove old google declaration
|
72 |
forcesafesearch_server=`host -ta forcesafesearch.google.com|cut -d" " -f4` # retrieve google forcesafesearch ip
|
70 |
google_safe_server=`host -ta forcesafesearch.google.com|cut -d" " -f4` # retrieve google forcesafesearch ip
|
73 |
echo "# SafeSearch redirect server for google" >> $DNSMASQ_BL_CONF
|
71 |
echo "# SafeSearch redirect server for google" >> $DNSMASQ_BL_CONF
|
74 |
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
|
72 |
for gg_dnsname in $googledomains
|
75 |
do
|
73 |
do
|
76 |
echo "address=/$gg_dnsname/$forcesafesearch_server" >> $DNSMASQ_BL_CONF
|
74 |
echo "address=/$gg_dnsname/$google_safe_server" >> $DNSMASQ_BL_CONF
|
77 |
done
|
75 |
done
|
- |
|
76 |
|
- |
|
77 |
# add 'SafeSearch' redirection for bing searching
|
- |
|
78 |
$SED "/bing/d" $DNSMASQ_BL_CONF # remove old bing declaration
|
- |
|
79 |
bing_safe_server=`host -ta strict.bing.com | grep "address" | cut -d" " -f4` # retrieve bing strict ip
|
- |
|
80 |
echo "# SafeSearch redirect server for bing" >> $DNSMASQ_BL_CONF
|
- |
|
81 |
echo "address=/www.bing.com/$bing_safe_server" >> $DNSMASQ_BL_CONF
|
- |
|
82 |
|
- |
|
83 |
# add 'SafeSearch' redirection for youtube searching
|
- |
|
84 |
$SED "/youtube/d" $DNSMASQ_BL_CONF # remove old youtube declaration
|
- |
|
85 |
youtube_safe_server=`host -ta restrict.youtube.com | grep "address" | cut -d" " -f4` # retrieve youtube restrict ip
|
- |
|
86 |
echo "# SafeSearch redirect server for youtube" >> $DNSMASQ_BL_CONF
|
- |
|
87 |
for yt_dnsname in $youtubedomains
|
- |
|
88 |
do
|
- |
|
89 |
echo "address=/$yt_dnsname/$youtube_safe_server" >> $DNSMASQ_BL_CONF
|
- |
|
90 |
done
|
- |
|
91 |
|
78 |
else
|
92 |
else
|
79 |
$SED "s?^[^#]?#&?g" $DIR_DG/urlregexplist
|
93 |
$SED "s?^[^#]?#&?g" $DIR_DG/urlregexplist
|
80 |
$SED "/google/d" $DNSMASQ_BL_CONF
|
94 |
$SED "/google/d" $DNSMASQ_BL_CONF
|
- |
|
95 |
$SED "/bing/d" $DNSMASQ_BL_CONF
|
- |
|
96 |
$SED "/youtube/d" $DNSMASQ_BL_CONF
|
81 |
fi
|
97 |
fi
|
82 |
if [ $pureip == "On" ]
|
98 |
if [ $pureip == "On" ]
|
83 |
then
|
99 |
then
|
84 |
$SED "s/^\#\*ip$/*ip/g" $DIR_DG/bannedsitelist
|
100 |
$SED "s/^\#\*ip$/*ip/g" $DIR_DG/bannedsitelist
|
85 |
else
|
101 |
else
|
86 |
$SED "s/^\*ip$/#*ip/g" $DIR_DG/bannedsitelist
|
102 |
$SED "s/^\*ip$/#*ip/g" $DIR_DG/bannedsitelist
|
87 |
fi
|
103 |
fi
|
88 |
systemctl restart e2guardian
|
104 |
systemctl restart e2guardian
|
89 |
systemctl restart dnsmasq-blacklist
|
105 |
systemctl restart dnsmasq-blacklist
|
90 |
fi
|
106 |
fi
|
91 |
|
107 |
|