Subversion Repositories ALCASAR

Rev

Rev 3312 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log

Rev 3312 Rev 3326
Line 1... Line 1...
1
#!/bin/bash
1
#!/bin/bash
2
# $Id: alcasar-conf.sh 3312 2026-01-07 13:52:38Z rexy $
2
# $Id: alcasar-conf.sh 3326 2026-03-01 22:35:33Z rexy $
3
 
3
 
4
# alcasar-conf.sh
4
# alcasar-conf.sh
5
# by REXY
5
# by 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
 
Line 31... Line 31...
31
INT_DNS_mode=`grep ^INT_DNS_ACTIVE= $CONF_FILE|cut -d"=" -f2`
31
INT_DNS_mode=`grep ^INT_DNS_ACTIVE= $CONF_FILE|cut -d"=" -f2`
32
HOSTNAME=`grep ^HOSTNAME= $CONF_FILE|cut -d"=" -f2`
32
HOSTNAME=`grep ^HOSTNAME= $CONF_FILE|cut -d"=" -f2`
33
DOMAIN=`grep ^DOMAIN= $CONF_FILE|cut -d"=" -f2`
33
DOMAIN=`grep ^DOMAIN= $CONF_FILE|cut -d"=" -f2`
34
DOMAIN=${DOMAIN:=lan}
34
DOMAIN=${DOMAIN:=lan}
35
DNS1=`grep ^DNS1= $CONF_FILE | cut -d'=' -f2` 		# To configure WL domain names
35
DNS1=`grep ^DNS1= $CONF_FILE | cut -d'=' -f2` 		# To configure WL domain names
36
HTTPS_LOGIN=`grep ^HTTPS_LOGIN= $CONF_FILE | cut -d'=' -f2`
-
 
37
SED="/bin/sed -i"
36
SED="/bin/sed -i"
38
 
37
 
39
private_network_calc ()
38
private_network_calc ()
40
{
39
{
41
	PRIVATE_PREFIX=`/bin/ipcalc -p $PRIVATE_IP $PRIVATE_NETMASK |cut -d"=" -f2`				# prefixe du réseau (ex. 24)
40
	PRIVATE_PREFIX=`/bin/ipcalc -p $PRIVATE_IP $PRIVATE_NETMASK |cut -d"=" -f2`				# prefixe du réseau (ex. 24)
Line 274... Line 273...
274
		ORGANISME=`grep ^ORGANISM= $CONF_FILE|cut -d"=" -f2-`
273
		ORGANISME=`grep ^ORGANISM= $CONF_FILE|cut -d"=" -f2-`
275
		BL_SAFESEARCH=`grep ^BL_SAFESEARCH= $CONF_FILE|cut -d"=" -f2`
274
		BL_SAFESEARCH=`grep ^BL_SAFESEARCH= $CONF_FILE|cut -d"=" -f2`
276
		WL_SAFESEARCH=`grep ^WL_SAFESEARCH= $CONF_FILE|cut -d"=" -f2`
275
		WL_SAFESEARCH=`grep ^WL_SAFESEARCH= $CONF_FILE|cut -d"=" -f2`
277
		BL_PUREIP=`grep ^BL_PUREIP= $CONF_FILE|cut -d"=" -f2`
276
		BL_PUREIP=`grep ^BL_PUREIP= $CONF_FILE|cut -d"=" -f2`
278
		DHCP_mode=`grep ^DHCP= $CONF_FILE|cut -d"=" -f2`
277
		DHCP_mode=`grep ^DHCP= $CONF_FILE|cut -d"=" -f2`
-
 
278
		HTTPS_LOGIN=`grep ^HTTPS_LOGIN= $CONF_FILE | cut -d'=' -f2`
279
		if [ "$PARENT_SCRIPT" != "alcasar.sh" ] # don't launch on install stage
279
		if [ "$PARENT_SCRIPT" != "alcasar.sh" ] # don't launch on install stage
280
		then
280
		then
281
			if [ "$DHCP_mode" = "off" ] || [ "$DHCP_mode" = "Off" ] || [ "$DHCP_mode" = "OFF" ]
281
			if [ "$DHCP_mode" = "off" ] || [ "$DHCP_mode" = "Off" ] || [ "$DHCP_mode" = "OFF" ]
282
			then
282
			then
283
				$DIR_BIN/alcasar-dhcp.sh --off
283
				$DIR_BIN/alcasar-dhcp.sh --off
Line 316... Line 316...
316
# Reload the local dns configuration
316
# Reload the local dns configuration
317
			$DIR_BIN/alcasar-dns-local.sh --reload
317
			$DIR_BIN/alcasar-dns-local.sh --reload
318
# Logout everybody
318
# Logout everybody
319
			$DIR_BIN/alcasar-logout.sh all
319
			$DIR_BIN/alcasar-logout.sh all
320
# Services stop
320
# Services stop
321
			echo -n "Stop services : "
321
			echo -n "Stop services : " # don't stop httpd as it can run this script (reloading)
322
			for i in ntpd e2guardian unbound unbound-whitelist unbound-blacklist unbound-blackhole chilli network httpd
322
			for i in ntpd e2guardian unbound unbound-whitelist unbound-blacklist unbound-blackhole chilli network
323
			do
323
			do
324
				/usr/bin/systemctl stop $i && echo -n "$i, "
324
				/usr/bin/systemctl stop $i && echo -n "$i, "
325
			done
325
			done
326
			echo
326
			echo
327
# set network configuration 
327
# set network configuration 
Line 376... Line 376...
376
		$SED "s?^nas1_ip:.*?nas1_ip: $PRIVATE_IP?g" /etc/freeradius-web/naslist.conf
376
		$SED "s?^nas1_ip:.*?nas1_ip: $PRIVATE_IP?g" /etc/freeradius-web/naslist.conf
377
# CoovaChilli
377
# CoovaChilli
378
		$SED "s?^uamallowed.*?uamallowed\t$HOSTNAME,$HOSTNAME.$DOMAIN?g" /etc/chilli.conf
378
		$SED "s?^uamallowed.*?uamallowed\t$HOSTNAME,$HOSTNAME.$DOMAIN?g" /etc/chilli.conf
379
		$SED "s?^locationname.*?locationname\t$HOSTNAME.$DOMAIN?g" /etc/chilli.conf
379
		$SED "s?^locationname.*?locationname\t$HOSTNAME.$DOMAIN?g" /etc/chilli.conf
380
		$SED "s?^domain.*?domain\t\t$DOMAIN?g" /etc/chilli.conf
380
		$SED "s?^domain.*?domain\t\t$DOMAIN?g" /etc/chilli.conf
381
		[ "`grep ^HTTPS_LOGIN= $CONF_FILE | cut -d'=' -f2`" == "on" ] && chilli_login_protocol="https" || chilli_login_protocol="http"
381
		[ "$HTTPS_LOGIN" = "on" ] && chilli_login_protocol="https" || chilli_login_protocol="http"
382
		$SED "s?^uamserver.*?uamserver\t$chilli_login_protocol:\/\/$HOSTNAME.$DOMAIN\/intercept.php?" /etc/chilli.conf
382
		$SED "s?^uamserver.*?uamserver\t$chilli_login_protocol:\/\/$HOSTNAME.$DOMAIN\/intercept.php?" /etc/chilli.conf
383
		$SED "s?^radiusnasid.*?radiusnasid\t$HOSTNAME.$DOMAIN?g" /etc/chilli.conf
383
		$SED "s?^radiusnasid.*?radiusnasid\t$HOSTNAME.$DOMAIN?g" /etc/chilli.conf
384
		$SED "s?^net.*?net\t\t$PRIVATE_NETWORK_MASK?g" /etc/chilli.conf
384
		$SED "s?^net.*?net\t\t$PRIVATE_NETWORK_MASK?g" /etc/chilli.conf
385
		$SED "s?^dns1.*?dns1\t\t$PRIVATE_IP?g" /etc/chilli.conf
385
		$SED "s?^dns1.*?dns1\t\t$PRIVATE_IP?g" /etc/chilli.conf
386
		$SED "s?^dns2.*?dns2\t\t$PRIVATE_IP?g" /etc/chilli.conf
386
		$SED "s?^dns2.*?dns2\t\t$PRIVATE_IP?g" /etc/chilli.conf
Line 476... Line 476...
476
		$SED "s?^password =.*?password = $DB_PASS?g" /etc/gammu_smsd_conf
476
		$SED "s?^password =.*?password = $DB_PASS?g" /etc/gammu_smsd_conf
477
# HTTPS login (Y/n)
477
# HTTPS login (Y/n)
478
        if [ "$HTTPS_LOGIN" = "on" ] || [ "$HTTPS_LOGIN" = "On" ] || [ "$HTTPS_LOGIN" = "ON" ]
478
        if [ "$HTTPS_LOGIN" = "on" ] || [ "$HTTPS_LOGIN" = "On" ] || [ "$HTTPS_LOGIN" = "ON" ]
479
        then
479
        then
480
			$SED "s?^HTTPS_LOGIN=.*?HTTPS_LOGIN=on?" $CONF_FILE
480
			$SED "s?^HTTPS_LOGIN=.*?HTTPS_LOGIN=on?" $CONF_FILE
481
			$SED "s?^HTTPS_CHILLI=.*?HTTPS_CHILLI=on?" $CONF_FILE
-
 
482
			$SED "s?^uamserver.*?uamserver\thttps://$HOSTNAME.$DOMAIN/intercept.php?" /etc/chilli.conf
481
			$SED "s?^uamserver.*?uamserver\thttps://$HOSTNAME.$DOMAIN/intercept.php?" /etc/chilli.conf
483
			$SED "s?^#redirssl.*?redirssl?" /etc/chilli.conf
482
			$SED "s?^#redirssl.*?redirssl?" /etc/chilli.conf
484
			$SED "s?^#uamuissl.*?uamuissl?" /etc/chilli.conf
483
			$SED "s?^#uamuissl.*?uamuissl?" /etc/chilli.conf
485
		else
484
		else
486
			$SED "s?^HTTPS_LOGIN=.*?HTTPS_LOGIN=off?" $CONF_FILE
485
			$SED "s?^HTTPS_LOGIN=.*?HTTPS_LOGIN=off?" $CONF_FILE
487
			$SED "s?^HTTPS_CHILLI=.*?HTTPS_CHILLI=off?" $CONF_FILE
-
 
488
			$SED "s?^uamserver.*?uamserver\thttp://$HOSTNAME.$DOMAIN/intercept.php?" /etc/chilli.conf
486
			$SED "s?^uamserver.*?uamserver\thttp://$HOSTNAME.$DOMAIN/intercept.php?" /etc/chilli.conf
489
			$SED "s?^redirssl.*?#&?" /etc/chilli.conf
487
			$SED "s?^redirssl.*?#&?" /etc/chilli.conf
490
			$SED "s?^uamuissl.*?#&?" /etc/chilli.conf
488
			$SED "s?^uamuissl.*?#&?" /etc/chilli.conf
491
		fi
489
		fi
492
# Services start
490
# Services start
Line 498... Line 496...
498
			do
496
			do
499
				sleep 1
497
				sleep 1
500
				/usr/bin/systemctl start $i && echo -n ", $i"
498
				/usr/bin/systemctl start $i && echo -n ", $i"
501
			done
499
			done
502
			$DIR_BIN/alcasar-bl.sh -reload && echo -n ", unbound-blacklist, unbound-whitelist, e2guardian, iptables"
500
			$DIR_BIN/alcasar-bl.sh -reload && echo -n ", unbound-blacklist, unbound-whitelist, e2guardian, iptables"
503
			/usr/bin/systemctl restart httpd && echo -n ", httpd"
501
			/usr/bin/systemctl reload httpd && echo -n ", httpd"
504
		fi
502
		fi
505
# Email user registration
503
# Email user registration
506
		$SED "s?^smtpd_banner =.*?smtpd_banner = $HOSTNAME.$DOMAIN ESMTP?g" /etc/postfix/main.cf
504
		$SED "s?^smtpd_banner =.*?smtpd_banner = $HOSTNAME.$DOMAIN ESMTP?g" /etc/postfix/main.cf
507
		$SED "s?^myhostname =.*?myhostname = $HOSTNAME.$DOMAIN?g" /etc/postfix/main.cf
505
		$SED "s?^myhostname =.*?myhostname = $HOSTNAME.$DOMAIN?g" /etc/postfix/main.cf
508
		export PARENT_SCRIPT # if "alcasar.sh" then avoid some process
506
		export PARENT_SCRIPT # if "alcasar.sh" then avoid some process