emq-TE1/install/xlxd.sh

288 lines
8.7 KiB
Bash

#!/bin/bash
# Nombre del script
SCRIPT_NAME="xlx.sh"
# Registra el inicio en /opt/curl.txt
echo "Inicio: $SCRIPT_NAME" >> /opt/curl.txt
if [[ $EUID -ne 0 ]]; then
whiptail --title "sudo su" --msgbox "requiere ser usuario root , escriba (sudo su) antes de entrar a menu / requires root user, type (sudo su) before entering menu" 0 50
exit 0
fi
if systemctl status xlxd.service |grep active >/dev/null 2>&1
then service xlxd stop
fi
if [ -f "/opt/wdp10" ]
then
echo "found file"
else
cat > /opt/wdp10 <<- "EOFX"
#########################################
# Select number port, XLXD Dashboard #
#########################################
Web-Dashboar-name: XLX
Web-Dashboar-Port: 80
Web-Dashboar-dns:
Web-Dashboar-dir: /opt/xlxd/dashboard
XLX-XRFNUM:
XLX-CONTRIE:
XLX-DESCRIPTION:
XLX-NMODU:
XLX-YSFMODU:
XLX-YSFPOR:
XLX-AMBIP:
XLX-AMBPOR:
XLX-EMAIL:
XLX-CALLSIGN:
EOFX
fi
apt update
#
WHO=$(whoami)
if [ "$WHO" != "root" ]
then
echo ""
echo "You Must be root to run this script!!"
exit 0
fi
if [ ! -e "/etc/debian_version" ]
then
echo ""
echo "This script is only tested in Debian 9 and x64 cpu Arch. "
exit 0
fi
DEP="git build-essential"
DEP2="git build-essential"
DEP3="git build-essential"
VERSION=$(sed 's/\..*//' /etc/debian_version)
if [ $VERSION = 9 ]
then
apt-get -y install $DEP
elif [ $VERSION = 10 ]
then
apt-get -y install $DEP2
elif [ $VERSION = 11 ]
then
apt-get -y install $DEP3
fi
###################################################
##stop dashboard &xlx
wdp=/opt/wdp10
wsn0=$(grep "Web-Dashboar-name:" $wdp | grep -oP 'Web-Dashboar-name:\s*\K.*')
if [ -f "/etc/nginx/sites-enabled/$wsn0" ]; then
rm /etc/nginx/sites-enabled/$wsn0
fi
if [ -f "/etc/nginx/sites-enabled/000" ]; then
rm /etc/nginx/sites-enabled/000
fi
sudo systemctl restart nginx
if [ -f "/etc/init.d/xlxd" ]; then
systemctl stop xlxd
fi
if [ -f "/etc/init.d/xlxd" ]; then
rm /etc/init.d/xlxd
fi
sudo update-rc.d -f xlxd remove
#
if [ ! -d "/opt/xlx-bk" ]; then
mkdir /opt/xlx-bk
fi
source_folder="/xlxd"
backup_folder="/opt/xlx-bk"
# Verifica si la carpeta /xlxd/ existe
if [ -d "$source_folder" ]; then
# Verifica si la carpeta /xlxd/ no está vacía
if [ "$(ls -A $source_folder)" ]; then
# La carpeta no está vacía, realiza la copia de archivos
files_to_backup=(
"xlxd.terminal"
"xlxd.interlink"
"xlxd.whitelist"
)
for file in "${files_to_backup[@]}"; do
if [ -e "$source_folder/$file" ]; then
cp "$source_folder/$file" "$backup_folder/$file"
echo "Copia de $file realizada con éxito."
else
echo "El archivo $file no existe en la carpeta $source_folder."
fi
done
else
# La carpeta está vacía
echo "La carpeta $source_folder está vacía. No se realizará la copia."
fi
else
# La carpeta no existe
echo "La carpeta $source_folder no existe. No se realizará la copia."
fi
###################################################
#emqte1-xlx
if [ -f "/etc/init.d/xlxd" ]
then
service xlxd stop
#echo "found file"
fi
if [ -f "/etc/init.d/xlxd" ]
then
rm /etc/init.d/xlxd
#echo "found file"
fi
if [ -d "/root/reflector-install-files" ]
then
rm -r /root/reflector-install-files/
#echo "found file"
fi
if [ -d "/root/xlxd" ]
then
rm -r /root/xlxd/
#echo "found file"
fi
if [ -d "/xlxd" ]
then
rm -r /xlxd/
#echo "found file"
fi
if [ -d "/opt/xlxd" ]
then
rm -r /opt/xlxd/
#echo "found file"
fi
if [ -d "/var/www/xlxd" ]
then
rm -r /var/www/xlxd/
#echo "found file"
fi
for file in "/usr/local/bin/"xlxd*; do
# Verificar si el archivo existe y es un archivo regular
if [ -f "$file" ]; then
rm "$file"
fi
done
for file in "/usr/local/etc/"xlxd*; do
# Verificar si el archivo existe y es un archivo regular
if [ -f "$file" ]; then
rm "$file"
fi
done
#######################
#INSTALL
echo "------------------------------------------------------------------------------"
cd /opt
git clone https://github.com/LX3JL/xlxd.git
#git clone https://github.com/iu5jae/xlxd.git
#git clone https://github.com/n7tae/new-xlxd.git xlxd
#cd /opt/xlxd/
#mv dashboard.xlx dashboard
#mv dashboard.xrf dashboard2
cd /opt/xlxd/src/
echo "------------------------------------------------------------------------------"
#######################
#dash1
sudo sed -i "s/mailto:<?php echo.*/mailto:<?php echo \$PageOptions['ContactEmail']; ?>\"><?php echo \$PageOptions['ContactEmail']; ?><\/a> <\/div> <p><a title=\"Raspbian Proyect by HP3ICC © <?php \$cdate=date(\"Y\"); if (\$cdate > \"2018\") {\$cdate=\"2018-\".date(\"Y\");} echo \$cdate; ?>\" target=\"_blank\" href=https:\/\/gitlab.com\/hp3icc\/easy-xlxd\/>Script project: easy-xlxd<\/a>/" /opt/xlxd/dashboard/index.php
sed -i "s/600/300/g" /opt/xlxd/dashboard/pgs/config.inc.php
sed -i "s/tmp/xlxd/g" /opt/xlxd/dashboard/pgs/config.inc.php
sed -i "s/'ShowFullIP'/'ShowLast2ByteOfIP'/g" /opt/xlxd/dashboard/pgs/config.inc.php
sed -i "s/Int./XLX Module/g" /opt/xlxd/dashboard/pgs/config.inc.php
sed -i "s/Regional/XLX Module/g" /opt/xlxd/dashboard/pgs/config.inc.php
sed -i "s/National/XLX Module/g" /opt/xlxd/dashboard/pgs/config.inc.php
sed -i "s/\/tmp\/callinghome.php/\/xlxd\/callinghome.php/g" /opt/xlxd/dashboard/pgs/config.inc.php
sed -i "s/'Active'] = false/'Active'] = true/g" /opt/xlxd/dashboard/pgs/config.inc.php
##dash2
sudo sed -i "s/mailto:<?php echo.*/mailto:<?php echo \$PageOptions['ContactEmail']; ?>\"><?php echo \$PageOptions['ContactEmail']; ?><\/a> <\/div> <p><a title=\"Raspbian Proyect by HP3ICC © <?php \$cdate=date(\"Y\"); if (\$cdate > \"2018\") {\$cdate=\"2018-\".date(\"Y\");} echo \$cdate; ?>\" target=\"_blank\" href=https:\/\/gitlab.com\/hp3icc\/easy-xlxd\/>Script project: easy-xlxd<\/a>/" /opt/xlxd/dashboard2/index.php
sed -i "s/600/300/g" /opt/xlxd/dashboard2/pgs/config.inc.php
sed -i "s/tmp/xlxd/g" /opt/xlxd/dashboard2/pgs/config.inc.php
sed -i "s/'ShowFullIP'/'ShowLast2ByteOfIP'/g" /opt/xlxd/dashboard2/pgs/config.inc.php
sed -i "s/Int./XLX Module/g" /opt/xlxd/dashboard2/pgs/config.inc.php
sed -i "s/Regional/XLX Module/g" /opt/xlxd/dashboard2/pgs/config.inc.php
sed -i "s/National/XLX Module/g" /opt/xlxd/dashboard2/pgs/config.inc.php
sed -i "s/\/tmp\/callinghome.php/\/xlxd\/callinghome.php/g" /opt/xlxd/dashboard2/pgs/config.inc.php
sed -i "s/'Active'] = false/'Active'] = true/g" /opt/xlxd/dashboard2/pgs/config.inc.php
########
#sed -i "s/define NB_OF_MODULES.*/define NB_OF_MODULES 34/g" /opt/xlxd/src/main.h
#sed -i "s/define YSF_AUTOLINK_ENABLE.*/define YSF_AUTOLINK_ENABLE 1/g" /opt/xlxd/src/main.h
#sed -i "s/437000000/434000000/g" /opt/xlxd/src/main.h
###########
wget -q --no-check-certificate -r 'https://docs.google.com/uc?export=download&id=1ZD-z5RanPPUpA2vm65mh_2elp3IH_q4x' -O /opt/xlxd/dashboard/favicon.ico
cp /opt/xlxd/dashboard/favicon.ico /opt/xlxd/dashboard2/favicon.ico
cp /opt/xlxd/src/main.h /opt/xlx-bk/main.h
cp /opt/xlxd/dashboard/pgs/config.inc.php /opt/xlx-bk/config.inc1.php
cp /opt/xlxd/dashboard2/pgs/config.inc.php /opt/xlx-bk/config.inc2.php
chown -R www-data:www-data /opt/xlxd/dashboard/
chown -R www-data:www-data /opt/xlxd/dashboard2/
###########
#sudo chmod +x /etc/init.d/xlxd
sudo chmod -R +x /opt/xlxd/*
sudo chmod -R 777 /var/log/*
#make clean
#make
#make install
#####################################################################################
cat > /lib/systemd/system/rebooter-xlxd.service <<- "EOF"
[Unit]
Description=Rebooter-xlxd
[Service]
User=root
ExecStart=/usr/local/bin/rebooter-xlxd.sh
[Install]
WantedBy=default.target
EOF
#
#######################################
sudo cat > /usr/local/bin/rebooter-xlxd.sh <<- "EOF"
#!/bin/bash
#sleep 30
while :
do
if systemctl status xlxd.service |grep Error >/dev/null 2>&1
then service xlxd restart
fi
sleep 30
done
EOF
chmod +x /usr/local/bin/rebooter-xlxd.sh
######################################
sudo systemctl daemon-reload
wdp=/opt/wdp10
wsn0=$(grep "Web-Dashboar-name:" $wdp | grep -oP 'Web-Dashboar-name:\s*\K.*')
if [ -f "/etc/nginx/sites-enabled/$wsn0" ]; then
rm /etc/nginx/sites-enabled/$wsn0
fi
if [ -f "/etc/nginx/sites-enabled/000" ]; then
rm /etc/nginx/sites-enabled/000
fi
sudo systemctl restart nginx
sudo systemctl disable rebooter-xlxd.service
sudo systemctl stop rebooter-xlxd.service
if [ -f "/etc/init.d/xlxd" ]; then
systemctl stop xlxd
fi
if [ -f "/etc/init.d/xlxd" ]; then
rm /etc/init.d/xlxd
fi
if [ -f "/etc/systemd/system/xlxd.service" ]; then
rm /etc/systemd/system/xlxd.service
fi
if [ -f "/lib/systemd/system/xlxd.service" ]; then
rm /lib/systemd/system/xlxd.service
fi
sudo update-rc.d -f xlxd remove
#sudo reboot
echo "Finalizado: $SCRIPT_NAME" >> /opt/curl.txt