Subversion Repositories ALCASAR

Rev

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

Rev 1554 Rev 1574
1
#!/bin/bash
1
#!/bin/bash
2
# $Id: alcasar-bypass.sh 1554 2015-01-11 22:42:51Z richard $
2
# $Id: alcasar-bypass.sh 1574 2015-03-01 23:17:07Z richard $
3
 
3
 
4
# alcasar-bypass.sh
4
# alcasar-bypass.sh
5
# by 3abtux and Rexy
5
# by 3abtux and Rexy
6
# This script is distributed under the Gnu General Public License (GPL)
6
# This script is distributed under the Gnu General Public License (GPL)
7
 
7
 
8
# activation / désactivation du contournement de l'authentification et du filtrage WEB
8
# activation / désactivation du contournement de l'authentification et du filtrage WEB
9
# enable / disable the bypass of authenticate process and filtering
9
# enable / disable the bypass of authenticate process and filtering
10
 
10
 
11
usage="Usage: alcasar-bypass.sh {--on or -on } | {--off or -off}"
11
usage="Usage: alcasar-bypass.sh {--on or -on } | {--off or -off}"
12
SED="/bin/sed -i"
12
SED="/bin/sed -i"
13
CONF_FILE="/usr/local/etc/alcasar.conf"
13
CONF_FILE="/usr/local/etc/alcasar.conf"
14
INTIF=`grep ^INTIF= $CONF_FILE|cut -d"=" -f2`				# INTernal InterFace
14
INTIF=`grep ^INTIF= $CONF_FILE|cut -d"=" -f2`				# INTernal InterFace
15
 
15
 
16
nb_args=$#
16
nb_args=$#
17
args=$1
17
args=$1
18
if [ $nb_args -eq 0 ]
18
if [ $nb_args -eq 0 ]
19
then
19
then
20
	nb_args=1
20
	nb_args=1
21
	args="-h"
21
	args="-h"
22
fi
22
fi
23
case $args in
23
case $args in
24
	-\? | -h* | --h*)
24
	-\? | -h* | --h*)
25
		echo "$usage"
25
		echo "$usage"
26
		exit 0
26
		exit 0
27
		;;
27
		;;
28
	--on | -on)	
28
	--on | -on)	
29
		/usr/local/sbin/alcasar-logout.sh all
29
		/usr/local/sbin/alcasar-logout.sh all
30
		/usr/bin/systemctl stop chilli
30
		/usr/bin/systemctl stop chilli
31
		cp -f /etc/sysconfig/network-scripts/bypass-ifcfg-$INTIF /etc/sysconfig/network-scripts/ifcfg-$INTIF
31
		cp -f /etc/sysconfig/network-scripts/bypass-ifcfg-$INTIF /etc/sysconfig/network-scripts/ifcfg-$INTIF
32
		ifup $INTIF
32
		ifup $INTIF
33
		sh /usr/local/bin/alcasar-iptables-bypass.sh
33
		sh /usr/local/bin/alcasar-iptables-bypass.sh
34
		$SED "s?^no-dhcp-interface.*?#&?g" /etc/dnsmasq.conf # dnsmasq become the DHCP server
34
		$SED "s?^no-dhcp-interface.*?#&?g" /etc/dnsmasq.conf # dnsmasq become the DHCP server
35
		/usr/bin/systemctl restart dnsmasq
35
		/usr/bin/systemctl restart dnsmasq
36
		rm -f /etc/cron.d/alcasar-daemon-watchdog # don't restart daemons (specially coova) 
36
		rm -f /etc/cron.d/alcasar-daemon-watchdog # don't restart daemons (specially coova) 
37
		echo "ALCASAR est en mode 'bypass'"
37
		echo "ALCASAR est en mode 'bypass'"
38
		echo "ALCASAR is in 'bypass' mode"
38
		echo "ALCASAR is in 'bypass' mode"
39
		;;
39
		;;
40
	--off | -off)
40
	--off | -off)
41
		cp -f /etc/sysconfig/network-scripts/default-ifcfg-$INTIF /etc/sysconfig/network-scripts/ifcfg-$INTIF
41
		cp -f /etc/sysconfig/network-scripts/default-ifcfg-$INTIF /etc/sysconfig/network-scripts/ifcfg-$INTIF
42
		ifup $INTIF
42
		ifup $INTIF
43
		$SED "s?^#no-dhcp-interface=$INTIF?no-dhcp-interface=$INTIF?g" /etc/dnsmasq.conf
43
		$SED "s?^#no-dhcp-interface=$INTIF?no-dhcp-interface=$INTIF?g" /etc/dnsmasq.conf
44
		$SED "s?^#no-dhcp-interface=tun0?no-dhcp-interface=tun0?g" /etc/dnsmasq.conf
44
		$SED "s?^#no-dhcp-interface=tun0?no-dhcp-interface=tun0?g" /etc/dnsmasq.conf
45
		$SED "s?^#no-dhcp-interface=lo?no-dhcp-interface=lo?g" /etc/dnsmasq.conf
45
		$SED "s?^#no-dhcp-interface=lo?no-dhcp-interface=lo?g" /etc/dnsmasq.conf
46
		systemctl restart dnsmasq
46
		/usr/bin/systemctl restart dnsmasq
47
		/usr/bin/systemctl start chilli
47
		/usr/bin/systemctl start chilli
48
		sh /usr/local/bin/alcasar-iptables.sh
48
		sh /usr/local/bin/alcasar-iptables.sh
49
		# activation of the "daemon-watchdog" every 18'
49
		# activation of the "daemon-watchdog" every 18'
50
		cat << EOF > /etc/cron.d/alcasar-daemon-watchdog
50
		cat << EOF > /etc/cron.d/alcasar-daemon-watchdog
51
# activation du "chien de garde" (daemon-watchdog) toutes les 18'
51
# activation du "chien de garde" (daemon-watchdog) toutes les 18'
52
*/18 * * * * root /usr/local/bin/alcasar-daemon.sh > /dev/null 2>&1
52
*/18 * * * * root /usr/local/bin/alcasar-daemon.sh > /dev/null 2>&1
53
EOF
53
EOF
54
		echo "L'authentification et le filtrage sont actifs"
54
		echo "L'authentification et le filtrage sont actifs"
55
		echo "Authentication and filtering system are enabled"
55
		echo "Authentication and filtering system are enabled"
56
;;
56
;;
57
	*)
57
	*)
58
		echo "Argument inconnu :$1";
58
		echo "Argument inconnu :$1";
59
		echo "$usage"
59
		echo "$usage"
60
		exit 1
60
		exit 1
61
		;;
61
		;;
62
esac
62
esac
63
 
63