Subversion Repositories ALCASAR

Rev

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

Rev 2223 Rev 2454
1
#!/bin/bash
1
#!/bin/bash
2
 
2
 
3
# Id: $Id: alcasar-url_filter_bl.sh 2223 2017-05-14 14:38:01Z tom.houdayer $
3
# Id: $Id: alcasar-url_filter_bl.sh 2454 2017-12-09 18:59:31Z tom.houdayer $
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/dansguardian/lists"
14
DIR_DG="/etc/dansguardian/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
nb_args=$#
21
nb_args=$#
22
if [ $nb_args -le 1 ]
22
if [ $nb_args -le 1 ]
23
then
23
then
24
	echo "$usage"
24
	echo "$usage"
25
	nb_args=0
25
	nb_args=0
26
else
26
else
27
	while [ $nb_args -ge 1 ]
27
	while [ $nb_args -ge 1 ]
28
	do
28
	do
29
		arg=${!nb_args}
29
		arg=${!nb_args}
30
		case $arg in
30
		case $arg in
31
		-\? | -h* | --h*)
31
		-\? | -h* | --h*)
32
			echo "$usage"
32
			echo "$usage"
33
			exit 0
33
			exit 0
34
			;;
34
			;;
35
		# Safe search activation
35
		# Safe search activation
36
		-safesearch_on | --safesearch_on)	
36
		-safesearch_on | --safesearch_on)
37
			safesearch="On"
37
			safesearch="On"
38
			;;
38
			;;
39
		# Safe search desactivation
39
		# Safe search desactivation
40
		-safesearch_off | --safesearch_off)	
40
		-safesearch_off | --safesearch_off)
41
			safesearch="Off"
41
			safesearch="Off"
42
			;;
42
			;;
43
		# pure_ip activation
43
		# pure_ip activation
44
		-pureip_on | --pureip_on)
44
		-pureip_on | --pureip_on)
45
			pureip="On"
45
			pureip="On"
46
			;;
46
			;;
47
		# pureip desactivation
47
		# pureip desactivation
48
		-pureip_off | --pureip_off)
48
		-pureip_off | --pureip_off)
49
			pureip="Off"
49
			pureip="Off"
50
			;;
50
			;;
51
		*)
51
		*)
52
			echo "Argument inconnu :$arg";
52
			echo "Argument inconnu :$arg";
53
			echo "$usage"
53
			echo "$usage"
54
			exit 1
54
			exit 1
55
			;;
55
			;;
56
		esac
56
		esac
57
	nb_args=$(expr $nb_args - 1)
57
	nb_args=$(expr $nb_args - 1)
58
	done
58
	done
59
	if [ $safesearch == "On" ]
59
	if [ $safesearch == "On" ]
60
	then
60
	then
61
		$SED "s?^#\"?\"?g" $DIR_DG/urlregexplist # on décommente les lignes de regles
61
		$SED "s?^#\"?\"?g" $DIR_DG/urlregexplist # on décommente les lignes de regles
62
# add 'nosslsearch' redirection for google searching
62
# add 'nosslsearch' redirection for google searching
63
#		$SED "/google/d" $DNSMASQ_BL_CONF # remove old google declaration
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
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
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 
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
#		do
67
#		do
68
#			echo "address=/$gg_dnsname/$nossl_server" >> $DNSMASQ_BL_CONF
68
#			echo "address=/$gg_dnsname/$nossl_server" >> $DNSMASQ_BL_CONF
69
#		done
69
#		done
70
# add 'SafeSearch' redirection for google searching
70
# add 'SafeSearch' redirection for google searching
71
		$SED "/google/d" $DNSMASQ_BL_CONF # remove old google declaration
71
		$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
72
		forcesafesearch_server=`host -ta forcesafesearch.google.com|cut -d" " -f4`	# retrieve google forcesafesearch ip
73
		echo "# SafeSearch redirect server for google" >> $DNSMASQ_BL_CONF
73
		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 
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
75
		do
75
		do
76
			echo "address=/$gg_dnsname/$forcesafesearch_server" >> $DNSMASQ_BL_CONF
76
			echo "address=/$gg_dnsname/$forcesafesearch_server" >> $DNSMASQ_BL_CONF
77
		done
77
		done
78
	else
78
	else
79
		$SED "s?^[^#]?#&?g" $DIR_DG/urlregexplist
79
		$SED "s?^[^#]?#&?g" $DIR_DG/urlregexplist
80
		$SED "/google/d" $DNSMASQ_BL_CONF
80
		$SED "/google/d" $DNSMASQ_BL_CONF
81
	fi
81
	fi
82
	if [ $pureip == "On" ]
82
	if [ $pureip == "On" ]
83
	then
83
	then
84
		$SED "s/^\#\*ip$/*ip/g" $DIR_DG/bannedsitelist
84
		$SED "s/^\#\*ip$/*ip/g" $DIR_DG/bannedsitelist
85
	else
85
	else
86
		$SED "s/^\*ip$/#*ip/g" $DIR_DG/bannedsitelist
86
		$SED "s/^\*ip$/#*ip/g" $DIR_DG/bannedsitelist
87
	fi
87
	fi
88
systemctl restart dansguardian
88
systemctl restart dansguardian
89
systemctl restart dnsmasq-blacklist
89
systemctl restart dnsmasq-blacklist
90
fi
90
fi
91
 
91