Subversion Repositories ALCASAR

Rev

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

Rev Author Line No. Line
881 richard 1
#/bin/bash
2
 
3
# alcasar-url_filter.sh
882 richard 4
# by REXY
881 richard 5
# This script is distributed under the Gnu General Public License (GPL)
6
 
1843 raphael.pi 7
# Active / désactive : safesearch des moteurs de recherche
8
# Enable / disable : search engines safesearch 
882 richard 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 
881 richard 11
 
12
DIR_DG="/etc/dansguardian/lists"
1377 richard 13
DNSMASQ_BL_CONF="/etc/dnsmasq-blacklist.conf"
885 richard 14
CONF_FILE="/usr/local/etc/alcasar.conf"
881 richard 15
SED="/bin/sed -i"
16
safesearch="Off"
17
pureip="Off"
1843 raphael.pi 18
usage="Usage: alcasar-url_filter_bl.sh { -safesearch_on or -safesearch_off } & { -pureip_on or --pureip_off }"
881 richard 19
nb_args=$#
882 richard 20
if [ $nb_args -le 1 ]
881 richard 21
then
882 richard 22
	echo "$usage"
23
	nb_args=0
24
else
25
	while [ $nb_args -ge 1 ]
26
	do
27
		arg=${!nb_args}
28
		case $arg in
29
		-\? | -h* | --h*)
30
			echo "$usage"
31
			exit 0
32
			;;
33
		# Safe search activation
34
		-safesearch_on | --safesearch_on)	
35
			safesearch="On"
36
			;;
37
		# Safe search desactivation
38
		-safesearch_off | --safesearch_off)	
39
			safesearch="Off"
40
			;;
41
		# pure_ip activation
42
		-pureip_on | --pureip_on)
43
			pureip="On"
44
			;;
45
		# pureip desactivation
46
		-pureip_off | --pureip_off)
47
			pureip="Off"
48
			;;
49
		*)
50
			echo "Argument inconnu :$arg";
51
			echo "$usage"
52
			exit 1
53
			;;
54
		esac
881 richard 55
	nb_args=$(expr $nb_args - 1)
882 richard 56
	done
57
	if [ $safesearch == "On" ]
58
	then
1071 richard 59
		$SED "s?^#\"?\"?g" $DIR_DG/urlregexplist # on décommente les lignes de regles
60
# add 'nosslsearch' redirection for google searching
1624 richard 61
#		$SED "/google/d" $DNSMASQ_BL_CONF # remove old google declaration
62
#		nossl_server=`host -ta nosslsearch.google.com|cut -d" " -f4`	# retrieve google nosslsearch ip
63
#		echo "# nosslsearch redirect server for google" >> $DNSMASQ_BL_CONF
64
#		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 
65
#		do
66
#			echo "address=/$gg_dnsname/$nossl_server" >> $DNSMASQ_BL_CONF
67
#		done
68
# add 'SafeSearch' redirection for google searching
1071 richard 69
		$SED "/google/d" $DNSMASQ_BL_CONF # remove old google declaration
1624 richard 70
		forcesafesearch_server=`host -ta forcesafesearch.google.com|cut -d" " -f4`	# retrieve google forcesafesearch ip
71
		echo "# SafeSearch redirect server for google" >> $DNSMASQ_BL_CONF
72
		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 
73
		do
74
			echo "address=/$gg_dnsname/$forcesafesearch_server" >> $DNSMASQ_BL_CONF
75
		done
882 richard 76
	else
77
		$SED "s?^[^#]?#&?g" $DIR_DG/urlregexplist
1071 richard 78
		$SED "/google/d" $DNSMASQ_BL_CONF
882 richard 79
	fi
80
	if [ $pureip == "On" ]
81
	then
82
		$SED "s/^\#\*ip$/*ip/g" $DIR_DG/bannedsitelist
83
	else
84
		$SED "s/^\*ip$/#*ip/g" $DIR_DG/bannedsitelist
85
	fi
1624 richard 86
systemctl restart dansguardian
87
systemctl restart dnsmasq-blacklist
881 richard 88
fi