Subversion Repositories ALCASAR

Rev

Rev 2223 | Rev 2521 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log

Rev Author Line No. Line
2223 tom.houday 1
#!/bin/bash
881 richard 2
 
2223 tom.houday 3
# Id: $Id: alcasar-url_filter_bl.sh 2454 2017-12-09 18:59:31Z tom.houdayer $
4
 
881 richard 5
# alcasar-url_filter.sh
882 richard 6
# by REXY
881 richard 7
# This script is distributed under the Gnu General Public License (GPL)
8
 
1843 raphael.pi 9
# Active / désactive : safesearch des moteurs de recherche
2454 tom.houday 10
# Enable / disable : search engines safesearch
882 richard 11
# Active / désactive : le filtrage des url contenant une adresse ip à la place d'un nom de domaine
2454 tom.houday 12
# Enable / disable : filter of urls containing ip address instead of domain name
881 richard 13
 
14
DIR_DG="/etc/dansguardian/lists"
1377 richard 15
DNSMASQ_BL_CONF="/etc/dnsmasq-blacklist.conf"
885 richard 16
CONF_FILE="/usr/local/etc/alcasar.conf"
881 richard 17
SED="/bin/sed -i"
18
safesearch="Off"
19
pureip="Off"
1843 raphael.pi 20
usage="Usage: alcasar-url_filter_bl.sh { -safesearch_on or -safesearch_off } & { -pureip_on or --pureip_off }"
881 richard 21
nb_args=$#
882 richard 22
if [ $nb_args -le 1 ]
881 richard 23
then
882 richard 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
2454 tom.houday 36
		-safesearch_on | --safesearch_on)
882 richard 37
			safesearch="On"
38
			;;
39
		# Safe search desactivation
2454 tom.houday 40
		-safesearch_off | --safesearch_off)
882 richard 41
			safesearch="Off"
42
			;;
43
		# pure_ip activation
44
		-pureip_on | --pureip_on)
45
			pureip="On"
46
			;;
47
		# pureip desactivation
48
		-pureip_off | --pureip_off)
49
			pureip="Off"
50
			;;
51
		*)
52
			echo "Argument inconnu :$arg";
53
			echo "$usage"
54
			exit 1
55
			;;
56
		esac
881 richard 57
	nb_args=$(expr $nb_args - 1)
882 richard 58
	done
59
	if [ $safesearch == "On" ]
60
	then
1071 richard 61
		$SED "s?^#\"?\"?g" $DIR_DG/urlregexplist # on décommente les lignes de regles
62
# add 'nosslsearch' redirection for google searching
1624 richard 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
2454 tom.houday 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
1624 richard 67
#		do
68
#			echo "address=/$gg_dnsname/$nossl_server" >> $DNSMASQ_BL_CONF
69
#		done
70
# add 'SafeSearch' redirection for google searching
1071 richard 71
		$SED "/google/d" $DNSMASQ_BL_CONF # remove old google declaration
1624 richard 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
2454 tom.houday 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
1624 richard 75
		do
76
			echo "address=/$gg_dnsname/$forcesafesearch_server" >> $DNSMASQ_BL_CONF
77
		done
882 richard 78
	else
79
		$SED "s?^[^#]?#&?g" $DIR_DG/urlregexplist
1071 richard 80
		$SED "/google/d" $DNSMASQ_BL_CONF
882 richard 81
	fi
82
	if [ $pureip == "On" ]
83
	then
84
		$SED "s/^\#\*ip$/*ip/g" $DIR_DG/bannedsitelist
85
	else
86
		$SED "s/^\*ip$/#*ip/g" $DIR_DG/bannedsitelist
87
	fi
1624 richard 88
systemctl restart dansguardian
89
systemctl restart dnsmasq-blacklist
881 richard 90
fi