Subversion Repositories ALCASAR

Rev

Rev 1071 | 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
 
7
# Active / désactive : safesearch des moteurs de recherche ainsi que le filtrage Youtube
8
# Enable / disable : search engines safesearch and Youtube filtering 
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"
882 richard 18
usage="Usage: alcasar-url_filter.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
885 richard 60
		youtube_id=`grep YOUTUBE_ID $CONF_FILE|cut -d"=" -f2`
61
		$SED "s?\&edufilter=.*?\&edufilter=$youtube_id\"?g" $DIR_DG/urlregexplist
1071 richard 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
882 richard 68
	else
69
		$SED "s?^[^#]?#&?g" $DIR_DG/urlregexplist
1071 richard 70
		$SED "/google/d" $DNSMASQ_BL_CONF
882 richard 71
	fi
72
	if [ $pureip == "On" ]
73
	then
74
		$SED "s/^\#\*ip$/*ip/g" $DIR_DG/bannedsitelist
75
	else
76
		$SED "s/^\*ip$/#*ip/g" $DIR_DG/bannedsitelist
77
	fi
885 richard 78
service dansguardian restart
1071 richard 79
service dnsmasq restart
881 richard 80
fi
81