Compare commits

...

4 Commits

Author SHA1 Message Date
Esteban Mackay Q. 6ac3ffb720 Update xlxd.sh 2025-01-28 23:56:26 -05:00
Esteban Mackay Q. 910a41bb08 root msg 2025-01-28 23:51:51 -05:00
Esteban Mackay Q. 644e806ed5 Update install.sh 2025-01-28 23:33:01 -05:00
Esteban Mackay Q. 977347631c . 2025-01-28 22:53:50 -05:00
16 changed files with 190 additions and 229 deletions

View File

@ -1,9 +1,20 @@
#!/bin/bash
# Verificar si el usuario tiene permisos de root
if [[ $EUID -ne 0 ]]; then
echo "Este script debe ejecutarse como usuario ROOT"
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 1
fi
# Detectar el sistema operativo y su versión
if [ -f "/etc/os-release" ]; then
. /etc/os-release
OS=$ID
VERSION=$VERSION_ID
else
echo "No se pudo detectar el sistema operativo."
exit 1
fi
# Actualizar la lista de paquetes una vez al principio
apt-get update
@ -19,22 +30,26 @@ else
fi
# Lista de aplicaciones para verificar e instalar
apps=("sudo" "curl" "git" "make" "build-essential" "libusb-1.0-0-dev" "python" "python3" "python3-full" "python3-pip" "chkconfig" "libi2c-dev" "i2c-tools" "lm-sensors" "python3-websockets" "python3-gpiozero" "python3-psutil" "python3-serial" "wget" "python3-dev" "python3-venv" "libffi-dev" "libssl-dev" "cargo" "pkg-config" "sed" "default-libmysqlclient-dev" "libmysqlclient-dev" "zip" "unzip" "python3-distutils" "python3-twisted" "python3-bitarray" "rrdtool" "openssl" "wavemon" "gcc" "g++" "cmake" "libasound2-dev" "libudev-dev" "gpsd" "libgps-dev" "gpsd-clients" "gpsd-tools" "chrony" "libsamplerate0-dev")
apps="sudo curl git make build-essential libusb-1.0-0-dev python3 python3-pip libi2c-dev i2c-tools lm-sensors wget python3-dev python3-venv libffi-dev libssl-dev cargo pkg-config sed libmariadb-dev zip unzip rrdtool openssl wavemon gcc g++ cmake libasound2-dev libudev-dev gpsd libgps-dev gpsd-clients gpsd-tools chrony libsamplerate0-dev"
# Función para verificar e instalar una aplicación
check_and_install() {
app=$1
if ! dpkg -s $app 2>/dev/null | grep -q "Status: install ok installed"; then
echo "$app no está instalado. Instalando..."
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y $app
echo "$app instalado correctamente."
DEBIAN_FRONTEND=noninteractive apt-get install -y $app || true
if dpkg -s $app 2>/dev/null | grep -q "Status: install ok installed"; then
echo "$app instalado correctamente."
else
echo "No se pudo instalar $app. Continuando con la siguiente aplicación..."
fi
else
echo "$app ya está instalado."
fi
}
# Verificar e instalar cada aplicación
for app in "${apps[@]}"; do
for app in $apps; do
check_and_install $app
done
@ -51,9 +66,8 @@ python3 -m venv myenv
source myenv/bin/activate
# Instalar pip en el entorno virtual
if [ -f "/opt/get-pip.py" ]
then
rm /opt/get-pip.*
if [ -f "/opt/get-pip.py" ]; then
rm /opt/get-pip.*
fi
wget https://bootstrap.pypa.io/pip/get-pip.py
python3 get-pip.py
@ -68,9 +82,6 @@ python3 -m pip install cryptography Twisted bitstring MarkupSafe bitarray config
# Desactivar el entorno virtual
deactivate
#pip install cryptography pyopenssl autobahn Twisted bitstring MarkupSafe bitarray configparser aprslib attrs wheel service_identity pyOpenSSL mysqlclient tinydb ansi2html mysql-connector-python pandas xlsxwriter cursor pynmea2 maidenhead flask folium mysql-connector resettabletimer setproctitle requests libscrc Pyro5
cd /opt
# Instalar Rust y configurar versión
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
source $HOME/.cargo/env
@ -78,68 +89,21 @@ source $HOME/.cargo/env
rustup install 1.72.0
rustup default 1.72.0
if [ -f "/etc/os-release" ]; then
source /etc/os-release
if [ "$VERSION_ID" == "12" ]; then
/usr/bin/python3 -m pip install --break-system-packages pyOpenSSL
/usr/bin/python3 -m pip install --break-system-packages autobahn
/usr/bin/python3 -m pip install --break-system-packages jinja2
/usr/bin/python3 -m pip install --break-system-packages dmr-utils3
/usr/bin/python3 -m pip install --break-system-packages ansi2html
/usr/bin/python3 -m pip install --break-system-packages aprslib
/usr/bin/python3 -m pip install --break-system-packages tinydb
/usr/bin/python3 -m pip install --break-system-packages mysqlclient
/usr/bin/python3 -m pip install --break-system-packages setproctitle
/usr/bin/python3 -m pip install --break-system-packages pynmea2
/usr/bin/python3 -m pip install --break-system-packages maidenhead
/usr/bin/python3 -m pip install --break-system-packages Twisted
/usr/bin/python3 -m pip install --break-system-packages spyne
/usr/bin/python3 -m pip install --break-system-packages Pyro5
/usr/bin/python3 -m pip install --break-system-packages bitstring
/usr/bin/python3 -m pip install --break-system-packages bitarray
/usr/bin/python3 -m pip install --break-system-packages dmr_utils3
/usr/bin/python3 -m pip install --break-system-packages configparser
/usr/bin/python3 -m pip install --break-system-packages resettabletimer
/usr/bin/python3 -m pip install --break-system-packages setuptools
/usr/bin/python3 -m pip install --break-system-packages wheel
/usr/bin/python3 -m pip install --break-system-packages MarkupSafe
/usr/bin/python3 -m pip install --break-system-packages service-identity
else
/usr/bin/python3 -m pip install --upgrade pyOpenSSL
/usr/bin/python3 -m pip install --upgrade autobahn
/usr/bin/python3 -m pip install --upgrade jinja2
/usr/bin/python3 -m pip install --upgrade dmr-utils3
/usr/bin/python3 -m pip install --upgrade ansi2html
/usr/bin/python3 -m pip install --upgrade aprslib
/usr/bin/python3 -m pip install --upgrade tinydb
/usr/bin/python3 -m pip install --upgrade mysqlclient
/usr/bin/python3 -m pip install --upgrade setproctitle
/usr/bin/python3 -m pip install --upgrade pynmea2
/usr/bin/python3 -m pip install --upgrade maidenhead
/usr/bin/python3 -m pip install --upgrade Twisted
/usr/bin/python3 -m pip install --upgrade spyne
/usr/bin/python3 -m pip install --upgrade Pyro5
/usr/bin/python3 -m pip install --upgrade bitstring
/usr/bin/python3 -m pip install --upgrade bitarray
/usr/bin/python3 -m pip install --upgrade dmr_utils3
/usr/bin/python3 -m pip install --upgrade configparser
/usr/bin/python3 -m pip install --upgrade resettabletimer
/usr/bin/python3 -m pip install --upgrade setuptools
/usr/bin/python3 -m pip install --upgrade wheel
/usr/bin/python3 -m pip install --upgrade MarkupSafe
/usr/bin/python3 -m pip install --upgrade service-identity
fi
fi
sudo pip3 uninstall -y twisted --quiet
sudo pip3 install twisted --quiet
# Instalación de módulos pip según el sistema operativo
if [ "$OS" == "debian" ] && [ "$VERSION" == "12" ]; then
/usr/bin/python3 -m pip install --break-system-packages pyOpenSSL autobahn jinja2 dmr-utils3 ansi2html aprslib tinydb mysqlclient setproctitle pynmea2 maidenhead Twisted spyne Pyro5 bitstring bitarray dmr_utils3 configparser resettabletimer setuptools wheel MarkupSafe service-identity
else
/usr/bin/python3 -m pip install --upgrade pyOpenSSL autobahn jinja2 dmr-utils3 ansi2html aprslib tinydb mysqlclient setproctitle pynmea2 maidenhead Twisted spyne Pyro5 bitstring bitarray dmr_utils3 configparser resettabletimer setuptools wheel MarkupSafe service-identity
fi
echo "Instalación completa."
####################
# Configuración adicional (timezone, cron, etc.)
sudo timedatectl set-timezone America/Panama
######################################################################################################################
# Cronedit
######################################################################################################################
# Crear script para editar cronjobs
cat > /usr/local/bin/cronedit.sh <<- "EOF"
cronjob_editor () {
# usage: cronjob_editor '<interval>' '<command>' <add|remove>
@ -157,24 +121,23 @@ elif [[ "$3" == remove ]] ;then
fi
}
cronjob_editor "$1" "$2" "$3"
EOF
sudo chmod +x /usr/local/bin/cronedit.sh
# Limpiar archivos temporales
if [ -f "/opt/curl.txt" ]; then
rm /opt/curl.txt
rm /opt/curl.txt
fi
if [ -f "/opt/curl-final.txt" ]; then
rm /opt/curl-final.txt
rm /opt/curl-final.txt
fi
####################
echo iniciando instalacion
# Ejecutar scripts de instalación adicionales
echo "Iniciando instalación de scripts adicionales..."
bash -c "$(curl -fsSLk https://gitlab.com/hp3icc/emq-TE1/-/raw/main/install/ipv6off.sh)" &&
bash -c "$(curl -fsSLk https://gitlab.com/hp3icc/emq-TE1/-/raw/main/install/rpiswap.sh)" &&
bash -c "$(curl -fsSLk https://gitlab.com/hp3icc/emq-TE1/-/raw/main/install/rm.sh)" &&
bash -c "$(curl -fsSLk https://gitlab.com/hp3icc/emq-TE1/-/raw/main/install/dvswitch.sh)" &&
bash -c "$(curl -fsSLk https://gitlab.com/hp3icc/emq-TE1/-/raw/main/install/direwolf.sh)" &&
#bash -c "$(curl -fsSLk https://gitlab.com/hp3icc/emq-TE1/-/raw/main/install/pymultimonng.sh)"
bash -c "$(curl -fsSLk https://gitlab.com/hp3icc/emq-TE1/-/raw/main/install/ysfreflector.sh)" &&
bash -c "$(curl -fsSLk https://gitlab.com/hp3icc/emq-TE1/-/raw/main/install/mmdvm.sh)" &&
bash -c "$(curl -fsSLk https://gitlab.com/hp3icc/emq-TE1/-/raw/main/install/ysfgateway2.sh)" &&
@ -200,13 +163,13 @@ bash -c "$(curl -fsSLk https://gitlab.com/hp3icc/emq-TE1/-/raw/main/install/xlxd
bash -c "$(curl -fsSLk https://gitlab.com/hp3icc/emq-TE1/-/raw/main/menu/data-mmdvm.sh)" &&
bash -c "$(curl -fsSLk https://gitlab.com/hp3icc/emq-TE1/-/raw/main/install/n-manager.sh)" &&
bash -c "$(curl -fsSLk https://gitlab.com/hp3icc/emq-TE1/-/raw/main/install/wifi-connect.sh)"
echo install menu
#
echo "Instalación de menús..."
bash -c "$(curl -fsSLk https://gitlab.com/hp3icc/emq-TE1/-/raw/main/menu/menu-aprs)" &&
bash -c "$(curl -fsSLk https://gitlab.com/hp3icc/python-aprs-beacon/-/raw/main/menu.sh)" &&
bash -c "$(curl -fsSLk https://gitlab.com/hp3icc/emq-TE1/-/raw/main/menu/menu-dvs)" &&
bash -c "$(curl -fsSLk https://gitlab.com/hp3icc/emq-TE1/-/raw/main/menu/menu-dw)" &&
bash -c "$(curl -fsSLk https://gitlab.com/hp3icc/emq-TE1/-/raw/main/menu/menu-fdmr)" &&
#bash -c "$(curl -fsSLk https://gitlab.com/hp3icc/emq-TE1/-/raw/main/menu/menu-mm-rtl)"
bash -c "$(curl -fsSLk https://gitlab.com/hp3icc/emq-TE1/-/raw/main/menu/menu-mmdvm)" &&
bash -c "$(curl -fsSLk https://gitlab.com/hp3icc/emq-TE1/-/raw/main/menu/menu-noip)" &&
bash -c "$(curl -fsSLk https://gitlab.com/hp3icc/emq-TE1/-/raw/main/menu/menu-reboot)" &&
@ -215,7 +178,6 @@ bash -c "$(curl -fsSLk https://gitlab.com/hp3icc/emq-TE1/-/raw/main/menu/menu-ys
bash -c "$(curl -fsSLk https://gitlab.com/hp3icc/emq-TE1/-/raw/main/menu/menu-ysf2dmr)" &&
bash -c "$(curl -fsSLk https://gitlab.com/hp3icc/emq-TE1/-/raw/main/menu/menu-ufw)" &&
bash -c "$(curl -fsSLk https://gitlab.com/hp3icc/emq-TE1/-/raw/main/menu/menu-ysf2ysf)" &&
#bash -c "$(curl -fsSLk https://gitlab.com/hp3icc/easy-hbl/-/raw/main/menu-hbl.sh)"
bash -c "$(curl -fsSLk https://gitlab.com/hp3icc/emq-TE1/-/raw/main/menu/menu-nxdn2dmr)" &&
bash -c "$(curl -fsSLk https://gitlab.com/hp3icc/emq-TE1/-/raw/main/menu/menu-p25r)" &&
bash -c "$(curl -fsSLk https://gitlab.com/hp3icc/emq-TE1/-/raw/main/menu/menu-wifi-manager)" &&
@ -223,29 +185,27 @@ bash -c "$(curl -fsSLk https://gitlab.com/hp3icc/emq-TE1/-/raw/main/menu/menu-as
bash -c "$(curl -fsSLk https://gitlab.com/hp3icc/emq-TE1/-/raw/main/menu/menu-xlx)" &&
bash -c "$(curl -fsSLk https://gitlab.com/hp3icc/emq-TE1/-/raw/main/menu/menu-ip)"
############################
# Configuración adicional para Raspberry Pi
bash -c "$(curl -fsSLk https://gitlab.com/hp3icc/emq-TE1/-/raw/main/install/raspberry.sh)"
# pip install --no-cache-dir --upgrade cryptography pyopenssl autobahn Twisted dmr_utils3 bitstring jinja2 MarkupSafe bitarray configparser aprslib attrs wheel service_identity pyOpenSSL mysqlclient tinydb ansi2html mysql-connector-python pandas xlsxwriter cursor pynmea2 maidenhead flask folium mysql-connector resettabletimer setproctitle requests libscrc Pyro5
# Habilitar servicio gotty
sudo systemctl enable gotty.service
# Ajustar configuración de Jitter
find /opt/ -type f -exec sed -i "s|Jitter=.*|Jitter=240|g" {} +
#############################################################################################################################
# Crear script de finalización
cat > /tmp/completado.sh <<- "EOF"
#!/bin/bash
while : ; do
choix=$(whiptail --title "Raspbian Proyect HP3ICC Esteban Mackay 73." --menu " Precione enter (return o intro) para finalizar la instalacion y reiniciar" 11 85 3 \
1 " Iniciar Reinicio de equipo " 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 reboot
@ -254,15 +214,14 @@ esac
done
exit 0
EOF
###
##############################
# Crear archivo de versión
cat > /opt/emq-ver <<- "EOF"
EMQ-VER: 24.12.13
EMQ-VER: 25.01.28
EOF
##############################
# Ejecutar menú principal
bash -c "$(curl -fsSLk https://gitlab.com/hp3icc/emq-TE1/-/raw/main/menu/menu)"
sudo chmod +x /tmp/completado.sh
history -c && history -w
sh /tmp/completado.sh

View File

@ -3,22 +3,26 @@ SCRIPT_NAME="app.sh"
# Registra el inicio en /opt/curl.txt
echo "Inicio: $SCRIPT_NAME" >> /opt/curl.txt
apps=("sudo" "curl" "git" "make" "build-essential" "cmake" "python3-pip" "python3-websockets" "python3-argon2" "python3-aiohttp" "python3-aiohttp-session" "python3-venv")
apps="sudo curl git make build-essential cmake python3-pip python3-websockets python3-argon2 python3-aiohttp python3-aiohttp-session python3-venv"
# Función para verificar e instalar una aplicación
check_and_install() {
app=$1
if ! dpkg -s $app 2>/dev/null | grep -q "Status: install ok installed"; then
echo "$app no está instalado. Instalando..."
sudo apt-get install -y $app
echo "$app instalado correctamente."
DEBIAN_FRONTEND=noninteractive apt-get install -y $app || true
if dpkg -s $app 2>/dev/null | grep -q "Status: install ok installed"; then
echo "$app instalado correctamente."
else
echo "No se pudo instalar $app. Continuando con la siguiente aplicación..."
fi
else
echo "$app ya está instalado."
fi
}
# Verificar e instalar cada aplicación
for app in "${apps[@]}"; do
for app in $apps; do
check_and_install $app
done

View File

@ -3,8 +3,8 @@ SCRIPT_NAME="asl-wizard.sh"
# Registra el inicio en /opt/curl.txt
echo "Inicio: $SCRIPT_NAME" >> /opt/curl.txt
if [ "$EUID" -ne 0 ]; then
echo "Este script debe ejecutarse como root."
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 1
fi
# REPO DVS
@ -147,15 +147,16 @@ if [[ -f /etc/debian_version ]]; then
fi
fi
#USER99
# Lista de servicios a reiniciar
servicios=("md380-emu99.service" "analog_bridge99.service" "mmdvm_bridge99.service" "md380-emu.service" "analog_bridge.service" "mmdvm_bridge.service")
# Lista de servicios a reiniciar (separados por espacios)
servicios="md380-emu99.service analog_bridge99.service mmdvm_bridge99.service md380-emu.service analog_bridge.service mmdvm_bridge.service"
# Recorre la lista de servicios y verifica si están activos
for servicio in "${servicios[@]}"; do
for servicio in $servicios; do
if systemctl list-units --all | grep -q "$servicio"; then
if systemctl is-active "$servicio" >/dev/null 2>&1; then
echo "Deteniendo y deshabilitando $servicio"
systemctl stop "$servicio"
# systemctl disable "$servicio"
# systemctl disable "$servicio"
else
echo "$servicio ya está detenido"
fi
@ -269,16 +270,17 @@ pass=a2b2c2d2e2
EOFX
fi
servicios=("md380-emu99.service" "analog_bridge99.service" "mmdvm_bridge99.service" "md380-emu.service" "analog_bridge.service" "mmdvm_bridge.service")
# Lista de servicios separados por espacios
servicios="md380-emu99.service analog_bridge99.service mmdvm_bridge99.service md380-emu.service analog_bridge.service mmdvm_bridge.service"
# Recorre la lista de servicios y verifica si están activos
for servicio in "${servicios[@]}"; do
for servicio in $servicios; do
if systemctl list-units --all | grep -q "$servicio"; then
if systemctl is-enabled "$servicio" >/dev/null 2>&1; then
if ! systemctl is-active "$servicio" >/dev/null 2>&1; then
echo "Iniciando $servicio"
systemctl start "$servicio"
fi
echo "Iniciando $servicio"
systemctl start "$servicio"
fi
fi
else
echo "$servicio no existe"

View File

@ -1,7 +1,7 @@
#!/bin/sh
if [[ $EUID -ne 0 ]]; then
whiptail --title "Docker Install" --msgbox "Debe ejecutar este script como usuario ROOT" 0 50
exit 0
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 1
fi
(crontab -l | grep -v "sync ; echo 3 > /proc/sys/vm/drop_caches >/dev/null 2>&1") | crontab -
#!/bin/bash

View File

@ -5,28 +5,32 @@ SCRIPT_NAME="p25.sh"
# Registra el inicio en /opt/curl.txt
echo "Inicio: $SCRIPT_NAME" >> /opt/curl.txt
# Verificar si el usuario tiene permisos de root
if [[ $EUID -ne 0 ]]; then
echo "Este script debe ejecutarse como usuario ROOT"
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 1
fi
# Lista de aplicaciones para verificar e instalar
apps=("sudo" "curl" "git" "make" "build-essential" "python" "python3" "python3-pip" "chkconfig" "git-core" "lm-sensors" "python3-websockets" "python3-psutil" "wget" "python3-dev" "python3-venv" "libffi-dev" "libssl-dev" "cargo" "pkg-config" "sed" "default-libmysqlclient-dev" "libmysqlclient-dev" "build-essential" "zip" "unzip" "python3-distutils" "python3-twisted" "python3-bitarray" "rrdtool" "openssl" "wavemon" "gcc" "g++" "cmake" "php")
apps="sudo curl git make build-essential python python3 python3-pip chkconfig git-core lm-sensors python3-websockets python3-psutil wget python3-dev python3-venv libffi-dev libssl-dev cargo pkg-config sed default-libmysqlclient-dev libmysqlclient-dev build-essential zip unzip python3-distutils python3-twisted python3-bitarray rrdtool openssl wavemon gcc g++ cmake php"
# Función para verificar e instalar una aplicación
check_and_install() {
app=$1
if ! dpkg -s $app 2>/dev/null | grep -q "Status: install ok installed"; then
echo "$app no está instalado. Instalando..."
sudo apt-get install -y $app
echo "$app instalado correctamente."
DEBIAN_FRONTEND=noninteractive apt-get install -y $app || true
if dpkg -s $app 2>/dev/null | grep -q "Status: install ok installed"; then
echo "$app instalado correctamente."
else
echo "No se pudo instalar $app. Continuando con la siguiente aplicación..."
fi
else
echo "$app ya está instalado."
fi
}
# Verificar e instalar cada aplicación
for app in "${apps[@]}"; do
for app in $apps; do
check_and_install $app
done
#

View File

@ -3,8 +3,8 @@ SCRIPT_NAME="p25cross.sh"
# Registra el inicio en /opt/curl.txt
echo "Inicio: $SCRIPT_NAME" >> /opt/curl.txt
if [ "$EUID" -ne 0 ]; then
echo "Este script debe ejecutarse como root."
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 1
fi
# REPO DVS

View File

@ -17,9 +17,11 @@ then
rm -r /var/www/dvs
fi
mkdir /var/www/dvs
SERVICIOS=("http.server-dvs.service")
# Lista de servicios (separados por espacios)
SERVICIOS="http.server-dvs.service"
for servicio in "${SERVICIOS[@]}"; do
# Recorre la lista de servicios
for servicio in $SERVICIOS; do
# Verificar si el servicio existe
if systemctl list-unit-files --type=service | grep -q "^$servicio "; then
echo "El servicio $servicio existe."

View File

@ -4,16 +4,10 @@ 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
WHO=$(whoami)
if [ "$WHO" != "root" ]
then
echo ""
echo "You Must be root to run this script!!"
exit 0
# Verificar si el usuario tiene permisos de root
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 1
fi
if [ ! -e "/etc/debian_version" ]
then

View File

@ -5,8 +5,8 @@ SCRIPT_NAME="YSFReflector.sh"
# Registra el inicio en /opt/curl.txt
echo "Inicio: $SCRIPT_NAME" >> /opt/curl.txt
# Verificar si el usuario tiene permisos de root
if [[ $EUID -ne 0 ]]; then
echo "Este script debe ejecutarse como usuario ROOT"
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 1
fi
# Lista de aplicaciones para verificar e instalar

View File

@ -3,9 +3,9 @@
if [ ! "$(cat /proc/cpuinfo | grep 'Raspberry')" != "" ]; then
sudo cat > /bin/menu <<- "EOFX2"
#!/bin/bash
if [[ $EUID -ne 0 ]]; then
whiptail --title "sudo su" --msgbox "Se requieren privilegios de superusuario. Ejecute 'sudo su' antes de ingresar al menú." 0 50
exit 0
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 1
fi
while : ; do
choix=$(whiptail --title "Proyecto emq-TE1+ Rev: R00ab / Scrip Proyect by HP3ICC 73." --menu "Suba o Baje con las flechas del teclado y seleccione el número de opción:" 22 75 13 \
@ -129,9 +129,9 @@ if [ ! "$(cat /proc/cpuinfo | grep 'Raspberry')" != "" ]; then
if [ -d "/etc/asterisk" ]; then
sudo cat > /bin/menu <<- "EOFX2"
#!/bin/bash
if [[ $EUID -ne 0 ]]; then
whiptail --title "sudo su" --msgbox "Se requieren privilegios de superusuario. Ejecute 'sudo su' antes de ingresar al menú." 0 50
exit 0
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 1
fi
while : ; do
choix=$(whiptail --title "Proyecto emq-TE1+ Rev: R00ab / Scrip Proyect by HP3ICC 73." --menu "Suba o Baje con las flechas del teclado y seleccione el número de opción:" 22 75 13 \
@ -258,9 +258,9 @@ fi
if [ "$(cat /proc/cpuinfo | grep 'Raspberry')" != "" ]; then
sudo cat > /bin/menu <<- "EOFX1"
#!/bin/bash
if [[ $EUID -ne 0 ]]; then
whiptail --title "sudo su" --msgbox "Se requieren privilegios de superusuario. Ejecute 'sudo su' antes de ingresar al menú." 0 50
exit 0
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 1
fi
while : ; do
choix=$(whiptail --title "Proyecto emq-TE1+ Rev: R00ab / Scrip Proyect by HP3ICC 73." --menu "Suba o Baje con las flechas del teclado y seleccione el número de opción:" 22 75 13 \
@ -387,9 +387,9 @@ if [ "$(cat /proc/cpuinfo | grep 'Raspberry')" != "" ]; then
if [ -d "/etc/asterisk" ]; then
sudo cat > /bin/menu <<- "EOFX1"
#!/bin/bash
if [[ $EUID -ne 0 ]]; then
whiptail --title "sudo su" --msgbox "Se requieren privilegios de superusuario. Ejecute 'sudo su' antes de ingresar al menú." 0 50
exit 0
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 1
fi
while : ; do
choix=$(whiptail --title "Proyecto emq-TE1+ Rev: R00ab / Scrip Proyect by HP3ICC 73." --menu "Suba o Baje con las flechas del teclado y seleccione el número de opción:" 22 75 13 \

View File

@ -1,9 +1,9 @@
#!/bin/bash
cat > /bin/menu-asl <<- "EOF"
#!/bin/bash
if [[ $EUID -ne 0 ]]; then
whiptail --title "root" --msgbox "Cambie a usuario root / Change to user root" 0 50
exit 0
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 1
fi
if ! [ -d "/etc/asterisk" ]; then
whiptail --title "Easy-ASL" --msgbox "AllStarLink not Found / AllStarLink no instalado" 0 50
@ -44,9 +44,9 @@ EOF
if [ -d "/etc/nginx" ]; then
cat > /bin/menu-asl <<- "EOF"
#!/bin/bash
if [[ $EUID -ne 0 ]]; then
whiptail --title "root" --msgbox "Cambie a usuario root / Change to user root" 0 50
exit 0
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 1
fi
if ! [ -d "/etc/asterisk" ]; then
whiptail --title "Easy-ASL" --msgbox "AllStarLink not Found / AllStarLink no instalado" 0 50
@ -90,9 +90,9 @@ exit 0
EOF
cat > /bin/menu-allmon3 <<- "EOFA"
#!/bin/bash
if [[ $EUID -ne 0 ]]; then
whiptail --title "root" --msgbox "Cambie a usuario root / Change to user root" 0 50
exit 0
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 1
fi
if ! [ -d "/etc/asterisk" ]; then
whiptail --title "Easy-ASL" --msgbox "AllStarLink not Found / AllStarLink no instalado" 0 50
@ -515,9 +515,9 @@ EOF
fi
cat > /bin/menu-asle <<- "EOF"
#!/bin/bash
if [[ $EUID -ne 0 ]]; then
whiptail --title "root" --msgbox "Cambie a usuario root / Change to user root" 0 50
exit 0
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 1
fi
if ! [ -d "/etc/asterisk" ]; then
whiptail --title "Easy-ASL" --msgbox "AllStarLink not Found / AllStarLink no instalado" 0 50
@ -889,9 +889,9 @@ EOF
#############################################################
cat > /bin/menu-aslb <<- "EOF"
#!/bin/bash
if [[ $EUID -ne 0 ]]; then
whiptail --title "root" --msgbox "Cambie a usuario root / Change to user root" 0 50
exit 0
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 1
fi
if ! [ -d "/etc/asterisk" ]; then
whiptail --title "Easy-ASL" --msgbox "AllStarLink not Found / AllStarLink no instalado" 0 50
@ -917,12 +917,14 @@ fi
case $choix in
1)
# Lista de servicios a reiniciar
servicios=("mmdvm_bridge99.service" "analog_bridge99.service" "md380-emu99.service")
# Lista de servicios
servicios="mmdvm_bridge99.service analog_bridge99.service md380-emu99.service"
# Recorre la lista de servicios y verifica si están activos
for servicio in "${servicios[@]}"; do
if systemctl status "$servicio" | grep "service; enabled;" >/dev/null 2>&1; then
echo "stop $servicio"
for servicio in $servicios; do
# Verifica si el servicio está activo y habilitado
if systemctl is-active --quiet "$servicio" && systemctl is-enabled --quiet "$servicio"; then
echo "Deteniendo y deshabilitando $servicio"
systemctl disable "$servicio"
systemctl stop "$servicio"
fi
@ -1017,36 +1019,41 @@ done
rm -f /tmp/mcall.txt /tmp/mid.txt /tmp/sbridge.txt /tmp/sport.txt /tmp/sopti.txt /tmp/midg.txt /tmp/spass.txt /tmp/did.txt
# Lista de servicios a reiniciar
servicios=("mmdvm_bridge99.service" "analog_bridge99.service" "md380-emu99.service")
# Lista de servicios (sin usar paréntesis)
servicios="mmdvm_bridge99.service analog_bridge99.service md380-emu99.service"
# Recorre la lista de servicios y verifica si están activos
for servicio in "${servicios[@]}"; do
if systemctl status "$servicio" | grep "service; enabled;" >/dev/null 2>&1; then
echo "restart $servicio"
systemctl stop "$servicio"
# Función para manejar el servicio
manejar_servicio() {
local servicio="$1"
if systemctl is-active --quiet "$servicio"; then
echo "Reiniciando $servicio"
systemctl restart "$servicio"
else
echo "Iniciando y habilitando $servicio"
systemctl start "$servicio"
else
echo "start $servicio"
systemctl stop "$servicio"
systemctl start "$servicio"
systemctl enable "$servicio"
systemctl enable --now "$servicio" # Habilita e inicia el servicio en un solo comando
fi
}
# Recorre la lista de servicios
for servicio in $servicios; do
manejar_servicio "$servicio"
done
whiptail --title "Easy setup ASL-Bridge-DMR" --msgbox "Configuracion finalizada" 0 50
;;
2)
# Lista de servicios a reiniciar
servicios=("mmdvm_bridge99.service" "analog_bridge99.service" "md380-emu99.service")
servicios="mmdvm_bridge99.service analog_bridge99.service md380-emu99.service"
# Recorre la lista de servicios y verifica si están activos
for servicio in "${servicios[@]}"; do
for servicio in $servicios; do
if systemctl status "$servicio" | grep "service; enabled;" >/dev/null 2>&1; then
echo "restart $servicio"
systemctl stop "$servicio"
systemctl start "$servicio"
else
echo "start $servicio"
else
echo "start $servicio"
systemctl stop "$servicio"
systemctl start "$servicio"
systemctl enable "$servicio"
@ -1055,10 +1062,10 @@ done
;;
3)
# Lista de servicios a reiniciar
servicios=("mmdvm_bridge99.service" "analog_bridge99.service" "md380-emu99.service")
servicios="mmdvm_bridge99.service analog_bridge99.service md380-emu99.service"
# Recorre la lista de servicios y verifica si están activos
for servicio in "${servicios[@]}"; do
for servicio in $servicios; do
if systemctl status "$servicio" | grep "service; enabled;" >/dev/null 2>&1; then
echo "stop $servicio"
systemctl disable "$servicio"
@ -1070,10 +1077,10 @@ done
nano /opt/user99/MMDVM_Bridge.ini ;;
5)
# Lista de servicios a reiniciar
servicios=("mmdvm_bridge99.service" "analog_bridge99.service" "md380-emu99.service")
servicios="mmdvm_bridge99.service analog_bridge99.service md380-emu99.service"
# Recorre la lista de servicios y verifica si están activos
for servicio in "${servicios[@]}"; do
for servicio in $servicios; do
if systemctl status "$servicio" | grep "service; enabled;" >/dev/null 2>&1; then
echo "stop $servicio"
systemctl disable "$servicio"

View File

@ -100,11 +100,11 @@ if [ -f "/etc/nginx/sites-enabled/000" ]; then
rm /etc/nginx/sites-enabled/000
fi
sudo systemctl restart nginx
servicios=("fdmr_mon" "fdmr_mon2")
servicios="fdmr_mon fdmr_mon2"
# Recorre la lista de servicios y verifica si están activos
for servicio in "${servicios[@]}"; do
if systemctl status "$servicio" | grep "service; enabled;" >/dev/null 2>&1; then
for servicio in $servicios; do
if systemctl is-enabled "$servicio" | grep "enabled" >/dev/null 2>&1; then
echo "stop $servicio"
sudo systemctl disable "$servicio"
sudo systemctl stop "$servicio"
@ -304,11 +304,11 @@ if [ -f "/etc/nginx/sites-enabled/000" ]; then
rm /etc/nginx/sites-enabled/000
fi
sudo systemctl restart nginx
servicios=("fdmr_mon" "fdmr_mon2")
servicios="fdmr_mon fdmr_mon2"
# Recorre la lista de servicios y verifica si están activos
for servicio in "${servicios[@]}"; do
if systemctl status "$servicio" | grep "service; enabled;" >/dev/null 2>&1; then
for servicio in $servicios; do
if systemctl is-enabled "$servicio" | grep "enabled" >/dev/null 2>&1; then
echo "stop $servicio"
sudo systemctl disable "$servicio"
sudo systemctl stop "$servicio"

View File

@ -16,9 +16,9 @@ EOFX
fi
sudo cat > /bin/menu-fdmr-b <<- "EOF"
#!/bin/bash
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
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 1
fi
while : ; do
choix=$(whiptail --title "Raspbian Proyect HP3ICC FreeDMR-Bridge" --menu "move up or down with the keyboard arrows and select your option by pressing enter:" 23 56 13 \

View File

@ -145,12 +145,10 @@ then
fi
;;
7)
#!/bin/bash
servicios=("mmdvmh.service" "dmrgw.service" "ysfgw.service" "ysf2dmrgw.service")
servicios="mmdvmh.service dmrgw.service ysfgw.service ysf2dmrgw.service"
# Recorre la lista de servicios y deshabilita y detiene sin enviar mensaje
for servicio in "${servicios[@]}"; do
for servicio in $servicios; do
sudo systemctl disable --quiet "$servicio"
sudo systemctl stop --quiet "$servicio"
done

View File

@ -193,10 +193,10 @@ fi ;;
/usr/bin/python3 /opt/data-mmdvm.py
# Lista de servicios a reiniciar
servicios=("P25Reflector.service" "md380-emuP25b.service" "analog_bridge1.service" "analog_bridge2.service" "mmdvm_bridgeP25b.service" "p25gatewayP25b.service")
servicios="P25Reflector.service md380-emuP25b.service analog_bridge1.service analog_bridge2.service mmdvm_bridgeP25b.service p25gatewayP25b.service"
# Recorre la lista de servicios y verifica si están activos
for servicio in "${servicios[@]}"; do
for servicio in $servicios; do
if systemctl status "$servicio" | grep "Active: active" >/dev/null 2>&1; then
echo "Reiniciando el servicio $servicio"
sudo systemctl stop "$servicio"
@ -396,42 +396,37 @@ case $choix in
rm -f /tmp/mcall.txt /tmp/mid.txt /tmp/p25id.txt /tmp/sbridge.txt /tmp/sport.txt /tmp/sopti.txt /tmp/midg.txt /tmp/spass.txt
python3 /opt/data-mmdvm.py
#!/bin/bash
# Lista de servicios a reiniciar
servicios=("md380-emuP25b.service" "analog_bridge1.service" "analog_bridge2.service" "mmdvm_bridgeP25b.service" "p25gatewayP25b.service")
servicios="md380-emuP25b.service analog_bridge1.service analog_bridge2.service mmdvm_bridgeP25b.service p25gatewayP25b.service"
# Recorre la lista de servicios y verifica si están activos
for servicio in "${servicios[@]}"; do
for servicio in $servicios; do
if systemctl status "$servicio" | grep "service; enabled;" >/dev/null 2>&1; then
echo "restart $servicio"
sudo systemctl stop "$servicio"
sudo systemctl start "$servicio"
else
echo "start $servicio"
else
echo "start $servicio"
sudo systemctl stop "$servicio"
sudo systemctl start "$servicio"
sudo systemctl enable "$servicio"
fi
done
whiptail --title "Easy setup P25Bridge" --msgbox "Configuracion finalizada" 0 50
;;
2)
python3 /opt/data-mmdvm.py
#!/bin/bash
# Lista de servicios a reiniciar
servicios=("md380-emuP25b.service" "analog_bridge1.service" "analog_bridge2.service" "mmdvm_bridgeP25b.service" "p25gatewayP25b.service")
servicios="md380-emuP25b.service analog_bridge1.service analog_bridge2.service mmdvm_bridgeP25b.service p25gatewayP25b.service"
# Recorre la lista de servicios y verifica si están activos
for servicio in "${servicios[@]}"; do
for servicio in $servicios; do
if systemctl status "$servicio" | grep "service; enabled;" >/dev/null 2>&1; then
echo "restart $servicio"
sudo systemctl stop "$servicio"
sudo systemctl start "$servicio"
else
echo "start $servicio"
else
echo "start $servicio"
sudo systemctl stop "$servicio"
sudo systemctl start "$servicio"
sudo systemctl enable "$servicio"
@ -439,13 +434,11 @@ for servicio in "${servicios[@]}"; do
done
;;
3)
#!/bin/bash
# Lista de servicios a reiniciar
servicios=("md380-emuP25b.service" "analog_bridge1.service" "analog_bridge2.service" "mmdvm_bridgeP25b.service" "p25gatewayP25b.service")
servicios="md380-emuP25b.service analog_bridge1.service analog_bridge2.service mmdvm_bridgeP25b.service p25gatewayP25b.service"
# Recorre la lista de servicios y verifica si están activos
for servicio in "${servicios[@]}"; do
for servicio in $servicios; do
if systemctl status "$servicio" | grep "service; enabled;" >/dev/null 2>&1; then
echo "stop $servicio"
sudo systemctl disable "$servicio"
@ -460,14 +453,12 @@ sudo nano /opt/p25bridge/P25Gateway.ini ;;
6)
sudo nano /opt/p25bridge/MMDVM_Bridge.ini ;;
7)
#!/bin/bash
# Lista de servicios a reiniciar
servicios=("md380-emuP25b.service" "analog_bridge1.service" "analog_bridge2.service" "mmdvm_bridgeP25b.service" "p25gatewayP25b.service")
servicios="md380-emuP25b.service analog_bridge1.service analog_bridge2.service mmdvm_bridgeP25b.service p25gatewayP25b.service"
# Recorre la lista de servicios y verifica si están activos
for servicio in "${servicios[@]}"; do
if systemctl status "$servicio" | grep "service; enabled;" >/dev/null 2>&1; then
for servicio in $servicios; do
if systemctl is-enabled "$servicio" | grep "enabled" >/dev/null 2>&1; then
echo "stop $servicio"
sudo systemctl disable "$servicio"
sudo systemctl stop "$servicio"

View File

@ -1,9 +1,9 @@
#!/bin/bash
sudo cat > /bin/menu-ysf2ysf <<- "EOF"
#!/bin/bash
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
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 1
fi
while : ; do