Subversion Repositories ALCASAR

Rev

Rev 1056 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log

Rev 1056 Rev 1071
1
#/bin/bash
1
#/bin/bash
2
 
2
 
3
# alcasar-url_filter.sh
3
# alcasar-url_filter.sh
4
# by REXY
4
# by REXY
5
# This script is distributed under the Gnu General Public License (GPL)
5
# This script is distributed under the Gnu General Public License (GPL)
6
 
6
 
7
# Active / désactive : safesearch des moteurs de recherche ainsi que le filtrage Youtube
7
# Active / désactive : safesearch des moteurs de recherche ainsi que le filtrage Youtube
8
# Enable / disable : search engines safesearch and Youtube filtering 
8
# Enable / disable : search engines safesearch and Youtube filtering 
9
# Active / désactive : le filtrage des url contenant une adresse ip à la place d'un nom de domaine
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 
10
# Enable / disable : filter of urls containing ip address instead of domain name 
11
 
11
 
12
DIR_DG="/etc/dansguardian/lists"
12
DIR_DG="/etc/dansguardian/lists"
-
 
13
DNSMASQ_BL_CONF="/etc/dnsmasq-blackhole.conf"
13
CONF_FILE="/usr/local/etc/alcasar.conf"
14
CONF_FILE="/usr/local/etc/alcasar.conf"
14
SED="/bin/sed -i"
15
SED="/bin/sed -i"
15
safesearch="Off"
16
safesearch="Off"
16
pureip="Off"
17
pureip="Off"
17
usage="Usage: alcasar-url_filter.sh { -safesearch_on or -safesearch_off } & { -pureip_on or --pureip_off }"
18
usage="Usage: alcasar-url_filter.sh { -safesearch_on or -safesearch_off } & { -pureip_on or --pureip_off }"
18
nb_args=$#
19
nb_args=$#
19
if [ $nb_args -le 1 ]
20
if [ $nb_args -le 1 ]
20
then
21
then
21
	echo "$usage"
22
	echo "$usage"
22
	nb_args=0
23
	nb_args=0
23
else
24
else
24
	while [ $nb_args -ge 1 ]
25
	while [ $nb_args -ge 1 ]
25
	do
26
	do
26
		arg=${!nb_args}
27
		arg=${!nb_args}
27
		case $arg in
28
		case $arg in
28
		-\? | -h* | --h*)
29
		-\? | -h* | --h*)
29
			echo "$usage"
30
			echo "$usage"
30
			exit 0
31
			exit 0
31
			;;
32
			;;
32
		# Safe search activation
33
		# Safe search activation
33
		-safesearch_on | --safesearch_on)	
34
		-safesearch_on | --safesearch_on)	
34
			safesearch="On"
35
			safesearch="On"
35
			;;
36
			;;
36
		# Safe search desactivation
37
		# Safe search desactivation
37
		-safesearch_off | --safesearch_off)	
38
		-safesearch_off | --safesearch_off)	
38
			safesearch="Off"
39
			safesearch="Off"
39
			;;
40
			;;
40
		# pure_ip activation
41
		# pure_ip activation
41
		-pureip_on | --pureip_on)
42
		-pureip_on | --pureip_on)
42
			pureip="On"
43
			pureip="On"
43
			;;
44
			;;
44
		# pureip desactivation
45
		# pureip desactivation
45
		-pureip_off | --pureip_off)
46
		-pureip_off | --pureip_off)
46
			pureip="Off"
47
			pureip="Off"
47
			;;
48
			;;
48
		*)
49
		*)
49
			echo "Argument inconnu :$arg";
50
			echo "Argument inconnu :$arg";
50
			echo "$usage"
51
			echo "$usage"
51
			exit 1
52
			exit 1
52
			;;
53
			;;
53
		esac
54
		esac
54
	nb_args=$(expr $nb_args - 1)
55
	nb_args=$(expr $nb_args - 1)
55
	done
56
	done
56
	if [ $safesearch == "On" ]
57
	if [ $safesearch == "On" ]
57
	then
58
	then
58
		$SED "s?^#\"?\"?g" $DIR_DG/urlregexplist #on décommente les lignes de regles
59
		$SED "s?^#\"?\"?g" $DIR_DG/urlregexplist # on décommente les lignes de regles
59
		youtube_id=`grep YOUTUBE_ID $CONF_FILE|cut -d"=" -f2`
60
		youtube_id=`grep YOUTUBE_ID $CONF_FILE|cut -d"=" -f2`
60
		$SED "s?\&edufilter=.*?\&edufilter=$youtube_id\"?g" $DIR_DG/urlregexplist
61
		$SED "s?\&edufilter=.*?\&edufilter=$youtube_id\"?g" $DIR_DG/urlregexplist
-
 
62
# add 'nosslsearch' redirection for google searching
-
 
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
		echo "address=/www.google.com/$nossl_server" >> $DNSMASQ_BL_CONF
-
 
67
		echo "address=/www.google.fr/$nossl_server" >> $DNSMASQ_BL_CONF
61
	else
68
	else
62
		$SED "s?^[^#]?#&?g" $DIR_DG/urlregexplist
69
		$SED "s?^[^#]?#&?g" $DIR_DG/urlregexplist
-
 
70
		$SED "/google/d" $DNSMASQ_BL_CONF
63
	fi
71
	fi
64
	if [ $pureip == "On" ]
72
	if [ $pureip == "On" ]
65
	then
73
	then
66
		$SED "s/^\#\*ip$/*ip/g" $DIR_DG/bannedsitelist
74
		$SED "s/^\#\*ip$/*ip/g" $DIR_DG/bannedsitelist
67
	else
75
	else
68
		$SED "s/^\*ip$/#*ip/g" $DIR_DG/bannedsitelist
76
		$SED "s/^\*ip$/#*ip/g" $DIR_DG/bannedsitelist
69
	fi
77
	fi
70
 
-
 
71
service dansguardian restart
78
service dansguardian restart
-
 
79
service dnsmasq restart
72
fi
80
fi
73
 
81
 
74
 
82