Subversion Repositories ALCASAR

Rev

Rev 2454 | Rev 2662 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log

Rev 2454 Rev 2648
Line 1... Line 1...
1
#!/bin/bash
1
#!/bin/bash
2
 
2
 
3
# Id: $Id: alcasar-url_filter_wl.sh 2454 2017-12-09 18:59:31Z tom.houdayer $
3
# Id: $Id: alcasar-url_filter_wl.sh 2648 2018-11-02 22:33:33Z lucas.echard $
4
 
4
 
5
# alcasar-url_filter.sh
5
# alcasar-url_filter.sh
6
# by REXY
6
# by REXY
7
# This script is distributed under the Gnu General Public License (GPL)
7
# This script is distributed under the Gnu General Public License (GPL)
8
 
8
 
Line 16... Line 16...
16
IP_WL="/usr/local/share/iptables-wl-enabled/ossi-ip-safesearch"
16
IP_WL="/usr/local/share/iptables-wl-enabled/ossi-ip-safesearch"
17
CONF_FILE="/usr/local/etc/alcasar.conf"
17
CONF_FILE="/usr/local/etc/alcasar.conf"
18
SED="/bin/sed -i"
18
SED="/bin/sed -i"
19
safesearch="Off"
19
safesearch="Off"
20
usage="Usage: alcasar-url_filter_wl.sh { -safesearch_on or -safesearch_off }"
20
usage="Usage: alcasar-url_filter_wl.sh { -safesearch_on or -safesearch_off }"
-
 
21
 
-
 
22
googledomains="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."
-
 
23
 
-
 
24
youtubedomains="www.youtube.com m.youtube.com youtubei.googleapis.com youtube.googleapis.com www.youtube-nocookie.com"
-
 
25
 
21
nb_args=$#
26
nb_args=$#
22
if [ $nb_args -le 0 ]
27
if [ $nb_args -le 0 ]
23
then
28
then
24
	echo "$usage"
29
	echo "$usage"
25
	nb_args=0
30
	nb_args=0
Line 46... Line 51...
46
			exit 1
51
			exit 1
47
			;;
52
			;;
48
		esac
53
		esac
49
	nb_args=$(expr $nb_args - 1)
54
	nb_args=$(expr $nb_args - 1)
50
	done
55
	done
51
	forcesafesearch_server=`host -ta forcesafesearch.google.com|cut -d" " -f4`	# retrieve google forcesafesearch ip
-
 
52
	if [ $safesearch == "On" ]
56
	if [ $safesearch == "On" ]
53
	then
57
	then
54
# add 'SafeSearch' redirection for google searching
-
 
55
		$SED "/google/d" $DNSMASQ_WL_CONF # remove old google declaration
-
 
56
		if [ -e $IP_WL ]
58
		if [ -e $IP_WL ]
57
		then
59
		then
58
			rm $IP_WL # remove old google declaration
60
			rm $IP_WL # remove old google declaration
59
		fi
61
		fi
-
 
62
 
-
 
63
		# add 'SafeSearch' redirection for google searching
-
 
64
		google_safe_server=`host -ta forcesafesearch.google.com | grep "address" | cut -d" " -f4`	# retrieve google forcesafesearch ip
-
 
65
		$SED "/google/d" $DNSMASQ_WL_CONF # remove old google declaration
60
		echo "# SafeSearch redirect server for google" >> $DNSMASQ_WL_CONF
66
		echo "# SafeSearch redirect server for google" >> $DNSMASQ_WL_CONF
61
		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
		for bing_dnsname in $googledomains
62
		do
68
		do
63
			echo "address=/$gg_dnsname/$forcesafesearch_server" >> $DNSMASQ_WL_CONF
69
			echo "address=/$bing_dnsname/$google_safe_server" >> $DNSMASQ_WL_CONF
64
		done
70
		done
65
		echo "add wl_ip_allowed $forcesafesearch_server" >> $IP_WL
71
		echo "add wl_ip_allowed $google_safe_server" >> $IP_WL
-
 
72
 
-
 
73
		# add 'SafeSearch' redirection for bing searching
-
 
74
		bing_safe_server=`host -ta strict.bing.com | grep "address" | cut -d" " -f4`	# retrieve bing strict ip
-
 
75
		$SED "/bing/d" $DNSMASQ_WL_CONF # remove old bing declaration
-
 
76
		echo "# SafeSearch redirect server for bing" >> $DNSMASQ_WL_CONF
-
 
77
		echo "address=/www.bing.com/$bing_safe_server" >> $DNSMASQ_WL_CONF
-
 
78
		echo "add wl_ip_allowed $bing_safe_server" >> $IP_WL
-
 
79
 
-
 
80
		# add 'SafeSearch' redirection for youtube searching
-
 
81
		youtube_safe_server=`host -ta restrict.youtube.com | grep "address" | cut -d" " -f4`	# retrieve youtube restrict ip
-
 
82
		$SED "/youtube/d" $DNSMASQ_WL_CONF # remove old youtube declaration
-
 
83
		echo "# SafeSearch redirect server for youtube" >> $DNSMASQ_WL_CONF
-
 
84
		for yt_dnsname in $youtubedomains
-
 
85
		do
-
 
86
			echo "address=/$yt_dnsname/$youtube_safe_server" >> $DNSMASQ_WL_CONF
-
 
87
		done
-
 
88
		echo "add wl_ip_allowed $youtube_safe_server" >> $IP_WL
66
	else
89
	else
67
		$SED "/google/d" $DNSMASQ_WL_CONF
90
		$SED "/google/d" $DNSMASQ_WL_CONF
-
 
91
		$SED "/bing/d" $DNSMASQ_WL_CONF
-
 
92
		$SED "/youtube/d" $DNSMASQ_WL_CONF
68
		rm $IP_WL
93
		rm $IP_WL
69
	fi
94
	fi
70
systemctl restart dnsmasq-whitelist
95
	systemctl restart dnsmasq-whitelist
71
fi
96
fi
72
 
-