emq-TE1/menu/menu-mmdvm

173 lines
5.7 KiB
Bash

#!/bin/bash
if [ -f "/opt/wdp5" ]
then
echo "found file"
else
cat > /opt/wdp5 <<- "EOFX"
###########################################
# Select number port, MMDVMHost Dashboard #
###########################################
Web-Dashboar-Port: 80
EOFX
fi
cat > /bin/menu-mmdvm <<- "EOF"
#!/bin/bash
while : ; do
choix=$(whiptail --title "Raspbian Proyect HP3ICC Menu MMDVMHost" --menu "Suba o Baje con las flechas del teclado y seleccione el numero de opcion." 24 50 16 \
1 " Editar MMDVMHost " \
2 " Editar DMRGateway " \
3 " Editar YSFGateway " \
4 " Editar YSF2DMR " \
5 " Start&Restart service MMDVM " \
6 " Stop service MMDVM " \
7 " Dashboard ON " \
8 " Dashboard Off " \
9 " Editar Puerto http " \
10 " Editar HTML " \
11 " Editar Dashboard " \
12 " Update Dashboard TG Name " \
13 " Menu Principal " 3>&1 1>&2 2>&3)
exitstatus=$?
#on recupere ce choix
#exitstatus=$?
if [ $exitstatus = 0 ]; then
echo "Your chosen option:" $choix
else
echo "You chose cancel."; break;
fi
# case : action en fonction du choix
case $choix in
1)
sudo nano /opt/MMDVMHost/MMDVM.ini;;
2)
sudo nano /opt/DMRGateway/DMRGateway.ini;;
3)
sudo nano /opt/YSFGateway2/YSFGateway.ini;;
4)
sudo nano /opt/YSF2DMRGW/YSF2DMR.ini;;
5)
sudo systemctl stop mmdvmh.service
if cat /opt/MMDVMHost/MMDVM.ini | grep ServiceStart=0 >/dev/null 2>&1
then
sudo systemctl disable mmdvmh.service
elif cat /opt/MMDVMHost/MMDVM.ini | grep ServiceStart=1 >/dev/null 2>&1
then
python3 /opt/data-mmdvm.py &&
sudo systemctl start mmdvmh.service
sudo systemctl enable mmdvmh.service
fi
sudo systemctl stop ysfgw.service
if cat /opt/YSFGateway2/YSFGateway.ini | grep ServiceStart=0 >/dev/null 2>&1
then
sudo systemctl disable ysfgw.service
elif cat /opt/YSFGateway2/YSFGateway.ini | grep ServiceStart=1 >/dev/null 2>&1
then
sudo systemctl start ysfgw.service
sudo systemctl enable ysfgw.service
fi
sudo systemctl stop ysf2dmrgw.service
if cat /opt/YSF2DMRGW/YSF2DMR.ini | grep ServiceStart=0 >/dev/null 2>&1
then
sudo systemctl disable ysf2dmrgw.service
elif cat /opt/YSF2DMRGW/YSF2DMR.ini | grep ServiceStart=1 >/dev/null 2>&1
then
sudo systemctl start ysf2dmrgw.service
sudo systemctl enable ysf2dmrgw.service
fi
sudo systemctl stop dmrgw.service
if cat /opt/DMRGateway/DMRGateway.ini | grep ServiceStart=0 >/dev/null 2>&1
then
sudo systemctl disable dmrgw.service
elif cat /opt/DMRGateway/DMRGateway.ini | grep ServiceStart=1 >/dev/null 2>&1
then
sudo systemctl start dmrgw.service
sudo systemctl enable dmrgw.service
fi
;;
6)
sudo systemctl stop mmdvmh.service && sudo systemctl disable mmdvmh.service && systemctl stop ysf2dmrgw.service && sudo systemctl stop dmrgw.service ;;
7)
if sudo systemctl status http.server-mmdvmh.service |grep "service; enabled;" >/dev/null 2>&1
then
sudo systemctl disable http.server-mmdvmh.service
fi
if sudo systemctl status http.server-mmdvmh.service |grep active >/dev/null 2>&1
then
sudo systemctl stop http.server-mmdvmh.service
fi
if sudo systemctl status logtailer-mmdvmh.service |grep "service; enabled;" >/dev/null 2>&1
then
sudo systemctl disable logtailer-mmdvmh.service
fi
if sudo systemctl status logtailer-mmdvmh.service |grep active >/dev/null 2>&1
then
sudo systemctl stop logtailer-mmdvmh.service
fi
variable80=$(grep "Web-Dashboar-Port:" /opt/wdp5 | grep -Eo '[A.0-9]{1,9}')
if [ -z "$variable80" ]
then variable80=80
fi
sudo sed -i "s/ExecStart=.*/ExecStart=\/usr\/bin\/python3 -m http.server $variable80 --directory \/opt\/MMDVMHost-Websocketboard\/html/g" /lib/systemd/system/http.server-mmdvmh.service &&
systemctl daemon-reload &&
if sudo netstat -tuln | grep -q "0.0.0.0:$variable80 "; then
whiptail --title "Check Port" --msgbox "El puerto $variable80 esta ocupado , The port $variable80 is busy" 0 50
else
if ! sudo systemctl status http.server-mmdvmh.service |grep "service; enabled;" >/dev/null 2>&1
then
sudo systemctl enable http.server-mmdvmh.service
fi
if ! sudo systemctl status logtailer-mmdvmh.service |grep "service; enabled;" >/dev/null 2>&1
then
sudo systemctl enable logtailer-mmdvmh.service
fi
sudo systemctl start http.server-mmdvmh.service
sudo systemctl start logtailer-mmdvmh.service
fi ;;
8)
sudo systemctl stop logtailer-mmdvmh.service && sudo systemctl disable logtailer-mmdvmh.service && sudo systemctl stop http.server-mmdvmh.service && sudo systemctl disable http.server-mmdvmh.service && cronedit.sh '* */24 * * *' 'sh /bin/tg-name.sh' remove ;;
9)
if sudo systemctl status http.server-mmdvmh.service |grep active >/dev/null 2>&1
then
sudo systemctl stop http.server-mmdvmh.service
fi
sudo nano /opt/wdp5 &&
variable80=$(grep "Web-Dashboar-Port:" /opt/wdp5 | grep -Eo '[A.0-9]{1,9}')
if [ -z "$variable80" ]
then variable80=80
fi
sudo sed -i "s/ExecStart=.*/ExecStart=\/usr\/bin\/python3 -m http.server $variable80 --directory \/opt\/MMDVMHost-Websocketboard\/html/g" /lib/systemd/system/http.server-mmdvmh.service &&
systemctl daemon-reload &&
if sudo netstat -tuln | grep -q "0.0.0.0:$variable80 "; then
whiptail --title "Check Port" --msgbox "El puerto $variable80 esta ocupado , The port $variable80 is busy" 0 50
else
if sudo systemctl status http.server-mmdvmh.service |grep "service; enabled;" >/dev/null 2>&1
then
sudo systemctl start http.server-mmdvmh.service
fi
fi ;;
10)
sudo nano /opt/MMDVMHost-Websocketboard/html/index.html ;;
11)
sudo nano /opt/MMDVMHost-Websocketboard/html/js/config.js ;;
12)
bash -c "$(curl -fsSL https://gitlab.com/hp3icc/emq-TE1/-/raw/main/menu/tgname.sh)";;
13)
break;
esac
done
exit 0
EOF
################################################################################################################
chmod +x /bin/menu-mmdvm
ln -sf /bin/menu-mmdvm /bin/MENU-MMDVM
chmod +x /bin/MENU*