Subversion Repositories ALCASAR

Rev

Rev 1867 | Rev 2223 | Go to most recent revision | Details | Compare with Previous | 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"
1852 raphael.pi 14
IP_WL="/usr/local/share/iptables-wl-enabled/ossi-ip-safesearch"
1843 raphael.pi 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
1876 raphael.pi 54
		if [ -e $IP_WL ]
55
		then
56
			rm $IP_WL # remove old google declaration
57
		fi
1843 raphael.pi 58
		echo "# SafeSearch redirect server for google" >> $DNSMASQ_WL_CONF
59
		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 
60
		do
61
			echo "address=/$gg_dnsname/$forcesafesearch_server" >> $DNSMASQ_WL_CONF
62
		done
1867 raphael.pi 63
		echo "add wl_ip_allowed $forcesafesearch_server" >> $IP_WL
1843 raphael.pi 64
	else
65
		$SED "/google/d" $DNSMASQ_WL_CONF
1852 raphael.pi 66
		rm $IP_WL
1843 raphael.pi 67
	fi
68
systemctl restart dnsmasq-whitelist
69
fi
70