Subversion Repositories ALCASAR

Rev

Rev 1843 | Rev 2454 | 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 2223 2017-05-14 14:38:01Z 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
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
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
36
		-safesearch_on | --safesearch_on)	
37
			safesearch="On"
38
			;;
39
		# Safe search desactivation
40
		-safesearch_off | --safesearch_off)	
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
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
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
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
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