Subversion Repositories ALCASAR

Rev

Rev 1867 | Rev 2262 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log

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