| 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
|