Compare commits

..

No commits in common. "6ac3ffb72049b03645ce544ddf186d852e6e5d29" and "d1bcef16ecfa584bc7e25399d7e75bcb7afb54bf" have entirely different histories.

16 changed files with 229 additions and 190 deletions

View File

@ -1,20 +1,9 @@
#!/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
# Verificar si el usuario tiene permisos de root
if [[ $EUID -ne 0 ]]; then
echo "Este script debe ejecutarse como usuario ROOT"
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
@ -30,26 +19,22 @@ else
fi
# Lista de aplicaciones para verificar e instalar
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"
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")
# 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..."
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
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y $app
echo "$app instalado correctamente."
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
@ -66,8 +51,9 @@ 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
@ -76,12 +62,15 @@ rm get-pip.*
# Instalar paquetes en el entorno virtual
apt-get install -y libssl-dev
python3 -m pip install pip setuptools
python3 -m pip install cryptography 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 dmr_utils3 spyne autobahn jinja2 service-identity
python3 -m pip install pip setuptools
python3 -m pip install cryptography 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 dmr_utils3 spyne autobahn jinja2 service-identity
# 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
@ -89,21 +78,68 @@ 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
# Crear script para editar cronjobs
######################################################################################################################
# Cronedit
######################################################################################################################
cat > /usr/local/bin/cronedit.sh <<- "EOF"
cronjob_editor () {
# usage: cronjob_editor '<interval>' '<command>' <add|remove>
@ -121,23 +157,24 @@ 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
# Ejecutar scripts de instalación adicionales
echo "Iniciando instalación de scripts adicionales..."
####################
echo iniciando instalacion
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)" &&
@ -162,14 +199,14 @@ bash -c "$(curl -fsSLk https://gitlab.com/hp3icc/emq-TE1/-/raw/main/install/allm
bash -c "$(curl -fsSLk https://gitlab.com/hp3icc/emq-TE1/-/raw/main/install/xlxd.sh)" &&
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 "Instalación de menús..."
bash -c "$(curl -fsSLk https://gitlab.com/hp3icc/emq-TE1/-/raw/main/install/wifi-connect.sh)"
echo install menu
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)" &&
@ -178,6 +215,7 @@ 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)" &&
@ -185,27 +223,29 @@ 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)"
# Habilitar servicio gotty
# 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
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
@ -214,14 +254,15 @@ esac
done
exit 0
EOF
# Crear archivo de versión
###
##############################
cat > /opt/emq-ver <<- "EOF"
EMQ-VER: 25.01.28
EMQ-VER: 24.12.13
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
sh /tmp/completado.sh

View File

@ -3,26 +3,22 @@ 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..."
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
sudo apt-get install -y $app
echo "$app instalado correctamente."
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
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
if [ "$EUID" -ne 0 ]; then
echo "Este script debe ejecutarse como root."
exit 1
fi
# REPO DVS
@ -147,16 +147,15 @@ if [[ -f /etc/debian_version ]]; then
fi
fi
#USER99
# 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"
# Lista de servicios a reiniciar
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
@ -270,17 +269,16 @@ pass=a2b2c2d2e2
EOFX
fi
# 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"
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 "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
if [[ $EUID -ne 0 ]]; then
whiptail --title "Docker Install" --msgbox "Debe ejecutar este script como usuario ROOT" 0 50
exit 0
fi
(crontab -l | grep -v "sync ; echo 3 > /proc/sys/vm/drop_caches >/dev/null 2>&1") | crontab -
#!/bin/bash

View File

@ -5,32 +5,28 @@ 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
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
if [[ $EUID -ne 0 ]]; then
echo "Este script debe ejecutarse como usuario ROOT"
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..."
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
sudo apt-get install -y $app
echo "$app instalado correctamente."
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
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
if [ "$EUID" -ne 0 ]; then
echo "Este script debe ejecutarse como root."
exit 1
fi
# REPO DVS

View File

@ -17,11 +17,9 @@ then
rm -r /var/www/dvs
fi
mkdir /var/www/dvs
# Lista de servicios (separados por espacios)
SERVICIOS="http.server-dvs.service"
SERVICIOS=("http.server-dvs.service")
# Recorre la lista de servicios
for servicio in $SERVICIOS; do
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,10 +4,16 @@ SCRIPT_NAME="xlx.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
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
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
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
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
if [[ $EUID -ne 0 ]]; then
echo "Este script debe ejecutarse como usuario ROOT"
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 "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
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
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 "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
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
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 "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
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
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 "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
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
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 "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
if [[ $EUID -ne 0 ]]; then
whiptail --title "root" --msgbox "Cambie a usuario root / Change to user root" 0 50
exit 0
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 "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
if [[ $EUID -ne 0 ]]; then
whiptail --title "root" --msgbox "Cambie a usuario root / Change to user root" 0 50
exit 0
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 "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
if [[ $EUID -ne 0 ]]; then
whiptail --title "root" --msgbox "Cambie a usuario root / Change to user root" 0 50
exit 0
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 "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
if [[ $EUID -ne 0 ]]; then
whiptail --title "root" --msgbox "Cambie a usuario root / Change to user root" 0 50
exit 0
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 "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
if [[ $EUID -ne 0 ]]; then
whiptail --title "root" --msgbox "Cambie a usuario root / Change to user root" 0 50
exit 0
fi
if ! [ -d "/etc/asterisk" ]; then
whiptail --title "Easy-ASL" --msgbox "AllStarLink not Found / AllStarLink no instalado" 0 50
@ -917,14 +917,12 @@ fi
case $choix in
1)
# Lista de servicios a reiniciar
# Lista de servicios
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
# 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"
for servicio in "${servicios[@]}"; do
if systemctl status "$servicio" | grep "service; enabled;" >/dev/null 2>&1; then
echo "stop $servicio"
systemctl disable "$servicio"
systemctl stop "$servicio"
fi
@ -1019,41 +1017,36 @@ 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
# Lista de servicios (sin usar paréntesis)
servicios="mmdvm_bridge99.service analog_bridge99.service md380-emu99.service"
servicios=("mmdvm_bridge99.service" "analog_bridge99.service" "md380-emu99.service")
# 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"
# 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"
systemctl start "$servicio"
systemctl enable --now "$servicio" # Habilita e inicia el servicio en un solo comando
else
echo "start $servicio"
systemctl stop "$servicio"
systemctl start "$servicio"
systemctl enable "$servicio"
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"
@ -1062,10 +1055,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"
@ -1077,10 +1070,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 is-enabled "$servicio" | grep "enabled" >/dev/null 2>&1; then
for servicio in "${servicios[@]}"; do
if systemctl status "$servicio" | grep "service; 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 is-enabled "$servicio" | grep "enabled" >/dev/null 2>&1; then
for servicio in "${servicios[@]}"; do
if systemctl status "$servicio" | grep "service; 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 1
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
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,10 +145,12 @@ then
fi
;;
7)
servicios="mmdvmh.service dmrgw.service ysfgw.service ysf2dmrgw.service"
#!/bin/bash
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,37 +396,42 @@ 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"
@ -434,11 +439,13 @@ 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"
@ -453,12 +460,14 @@ 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 is-enabled "$servicio" | grep "enabled" >/dev/null 2>&1; then
for servicio in "${servicios[@]}"; do
if systemctl status "$servicio" | grep "service; 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 1
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
while : ; do