Subversion Repositories ALCASAR

Rev

Rev 1852 | Go to most recent revision | Details | Last modification | View Log

Rev Author Line No. Line
1843 raphael.pi 1
#/bin/bash
2
 
3
# alcasar-url_filter.sh
4
# by REXY
5
# This script is distributed under the Gnu General Public License (GPL)
6
 
7
# Active / désactive : safesearch des moteurs de recherche
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
10
# Enable / disable : filter of urls containing ip address instead of domain name 
11
 
12
TINY_CONF="/etc/tinyproxy/tinyproxy.conf"
13
DNSMASQ_WL_CONF="/etc/dnsmasq-whitelist.conf"
14
IP_WL="/usr/local/share/ossi-ip-wl"
15
CONF_FILE="/usr/local/etc/alcasar.conf"
16
SED="/bin/sed -i"
17
safesearch="Off"
18
usage="Usage: alcasar-url_filter_wl.sh { -safesearch_on or -safesearch_off }"
19
nb_args=$#
20
if [ $nb_args -le 0 ]
21
then
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
		*)
42
			echo "Argument inconnu :$arg";
43
			echo "$usage"
44
			exit 1
45
			;;
46
		esac
47
	nb_args=$(expr $nb_args - 1)
48
	done
49
	forcesafesearch_server=`host -ta forcesafesearch.google.com|cut -d" " -f4`	# retrieve google forcesafesearch ip
50
	if [ $safesearch == "On" ]
51
	then
52
# add 'SafeSearch' redirection for google searching
53
		$SED "/google/d" $DNSMASQ_WL_CONF # remove old google declaration
54
		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 
56
		do
57
			echo "address=/$gg_dnsname/$forcesafesearch_server" >> $DNSMASQ_WL_CONF
58
		done
59
		$SED "/$forcesafesearch_server/d" $IP_WL
60
		echo "add whitelist_ip_allowed $forcesafesearch_server" >> $IP_WL
61
	else
62
		$SED "/google/d" $DNSMASQ_WL_CONF
63
		$SED "/$forcesafesearch_server/d" $IP_WL
64
	fi
65
systemctl restart dnsmasq-whitelist
66
fi
67