2223 |
tom.houday |
1 |
#!/bin/bash
|
1843 |
raphael.pi |
2 |
|
2223 |
tom.houday |
3 |
# Id: $Id: alcasar-url_filter_wl.sh 2262 2017-05-29 20:19:03Z tom.houdayer $
|
|
|
4 |
|
1843 |
raphael.pi |
5 |
# alcasar-url_filter.sh
|
|
|
6 |
# by REXY
|
|
|
7 |
# This script is distributed under the Gnu General Public License (GPL)
|
|
|
8 |
|
|
|
9 |
# Active / désactive : safesearch des moteurs de recherche
|
|
|
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
|
|
|
12 |
# Enable / disable : filter of urls containing ip address instead of domain name
|
|
|
13 |
|
|
|
14 |
TINY_CONF="/etc/tinyproxy/tinyproxy.conf"
|
|
|
15 |
DNSMASQ_WL_CONF="/etc/dnsmasq-whitelist.conf"
|
1852 |
raphael.pi |
16 |
IP_WL="/usr/local/share/iptables-wl-enabled/ossi-ip-safesearch"
|
1843 |
raphael.pi |
17 |
CONF_FILE="/usr/local/etc/alcasar.conf"
|
|
|
18 |
SED="/bin/sed -i"
|
|
|
19 |
safesearch="Off"
|
|
|
20 |
usage="Usage: alcasar-url_filter_wl.sh { -safesearch_on or -safesearch_off }"
|
|
|
21 |
nb_args=$#
|
|
|
22 |
if [ $nb_args -le 0 ]
|
|
|
23 |
then
|
|
|
24 |
echo "$usage"
|
|
|
25 |
nb_args=0
|
|
|
26 |
else
|
|
|
27 |
while [ $nb_args -ge 1 ]
|
|
|
28 |
do
|
|
|
29 |
arg=${!nb_args}
|
|
|
30 |
case $arg in
|
|
|
31 |
-\? | -h* | --h*)
|
|
|
32 |
echo "$usage"
|
|
|
33 |
exit 0
|
|
|
34 |
;;
|
|
|
35 |
# Safe search activation
|
|
|
36 |
-safesearch_on | --safesearch_on)
|
|
|
37 |
safesearch="On"
|
|
|
38 |
;;
|
|
|
39 |
# Safe search desactivation
|
|
|
40 |
-safesearch_off | --safesearch_off)
|
|
|
41 |
safesearch="Off"
|
|
|
42 |
;;
|
|
|
43 |
*)
|
|
|
44 |
echo "Argument inconnu :$arg";
|
|
|
45 |
echo "$usage"
|
|
|
46 |
exit 1
|
|
|
47 |
;;
|
|
|
48 |
esac
|
|
|
49 |
nb_args=$(expr $nb_args - 1)
|
|
|
50 |
done
|
|
|
51 |
forcesafesearch_server=`host -ta forcesafesearch.google.com|cut -d" " -f4` # retrieve google forcesafesearch ip
|
|
|
52 |
if [ $safesearch == "On" ]
|
|
|
53 |
then
|
|
|
54 |
# add 'SafeSearch' redirection for google searching
|
|
|
55 |
$SED "/google/d" $DNSMASQ_WL_CONF # remove old google declaration
|
1876 |
raphael.pi |
56 |
if [ -e $IP_WL ]
|
|
|
57 |
then
|
|
|
58 |
rm $IP_WL # remove old google declaration
|
|
|
59 |
fi
|
1843 |
raphael.pi |
60 |
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
|
|
|
62 |
do
|
|
|
63 |
echo "address=/$gg_dnsname/$forcesafesearch_server" >> $DNSMASQ_WL_CONF
|
|
|
64 |
done
|
1867 |
raphael.pi |
65 |
echo "add wl_ip_allowed $forcesafesearch_server" >> $IP_WL
|
1843 |
raphael.pi |
66 |
else
|
|
|
67 |
$SED "/google/d" $DNSMASQ_WL_CONF
|
1852 |
raphael.pi |
68 |
rm $IP_WL
|
1843 |
raphael.pi |
69 |
fi
|
|
|
70 |
systemctl restart dnsmasq-whitelist
|
|
|
71 |
fi
|
|
|
72 |
|