mirror of https://gitlab.com/hp3icc/emq-TE1.git
190 lines
6.5 KiB
Bash
190 lines
6.5 KiB
Bash
#!/bin/bash
|
|
SCRIPT_NAME="allmon3.sh"
|
|
|
|
# Registra el inicio en /opt/curl.txt
|
|
echo "Inicio: $SCRIPT_NAME" >> /opt/curl.txt
|
|
VERSION=$(sed 's/\..*//' /etc/debian_version)
|
|
if systemctl is-active "apache2" >/dev/null 2>&1; then
|
|
sapache=1
|
|
else
|
|
sapache=0
|
|
fi
|
|
if [ $VERSION = 10 ]; then
|
|
if [ ! -d "/etc/allmon3" ]; then
|
|
samllm3=1
|
|
gpg --keyserver keyserver.ubuntu.com --recv-keys 04EE7237B7D453EC
|
|
gpg --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138
|
|
gpg --export 04EE7237B7D453EC | sudo apt-key add -
|
|
gpg --export 648ACFD622F3D138 | sudo apt-key add -
|
|
echo "deb https://deb.debian.org/debian buster-backports main" > /etc/apt/sources.list.d/buster-backports.list
|
|
apt update -y
|
|
else
|
|
samllm3=0
|
|
fi
|
|
fi
|
|
if [ $VERSION = 11 ]; then
|
|
if [ ! -d "/etc/allmon3" ]; then
|
|
samllm3=1
|
|
gpg --keyserver keyserver.ubuntu.com --recv-keys 0E98404D386FA1D9
|
|
gpg --keyserver keyserver.ubuntu.com --recv-keys 6ED0E7B82643E131
|
|
gpg --export 0E98404D386FA1D9 | sudo apt-key add -
|
|
gpg --export 6ED0E7B82643E131 | sudo apt-key add -
|
|
echo "deb https://deb.debian.org/debian bullseye-backports main" > /etc/apt/sources.list.d/bullseye-backports.list
|
|
apt-get update
|
|
else
|
|
samllm3=0
|
|
fi
|
|
fi
|
|
# Install the dependencies
|
|
if [ $VERSION = 10 ]; then
|
|
apt-get remove python3-aiohttp python3-websockets -y
|
|
apt install -y python3-argon2
|
|
apt install -y -t buster-backports python3-async-timeout python3-attr python3-multidict python3-yarl
|
|
apt-get --fix-broken install -y
|
|
pip3 install aiohttp
|
|
pip3 install aiohttp_session
|
|
pip3 install websockets
|
|
apt-get install ca-certificates -y
|
|
update-ca-certificates --fresh
|
|
fi
|
|
if [ $VERSION = 11 ]; then
|
|
apt-get install -y python3-argon2
|
|
apt-get install -y -t bullseye-backports python3-websockets python3-aiohttp python3-aiohttp-session
|
|
fi
|
|
#### Install Allmon3
|
|
if [ $VERSION = 10 ]; then
|
|
# Descarga el paquete de Allmon3 para Debian 10 (Buster)
|
|
wget https://github.com/AllStarLink/Allmon3/releases/download/t_rel_1_2_0/allmon3_1.2.0-1.buster_all.deb
|
|
# Instala el paquete
|
|
dpkg -i allmon3_1.2.0-1.buster_all.deb
|
|
fi
|
|
if [ $VERSION = 11 ]; then
|
|
# Descarga el paquete de Allmon3 para Debian 11 (Bullseye)
|
|
wget https://github.com/AllStarLink/Allmon3/releases/download/t_rel_1_2_0/allmon3_1.2.0-1.bullseye_all.deb
|
|
# Instala el paquete
|
|
dpkg -i allmon3_1.2.0-1.bullseye_all.deb
|
|
fi
|
|
if [ -f "/usr/share/allmon3/index.html" ]; then
|
|
variable2=$(date +'%Y' | tail -c 5)
|
|
allmv=$(grep -oP '<span style="color:red">\K[^<]+' /usr/share/allmon3/index.html)
|
|
#echo $allmv
|
|
sed -i "s/AllStarLink<br>/AllStarLink<br>Dashboard <a title=\"Release: $allmv\" href=\"https:\/\/github.com\/AllStarLink\/Allmon3\"target=\"_blank\">AllMon3<\/a> Script project: <a title=\"Raspbian Proyect by HP3ICC © 2018-$variable2\" href=\"https:\/\/gitlab.com\/hp3icc\/easy-asl\/\"target=\"_blank\">Easy-ASL<\/a><br>/g" /usr/share/allmon3/index.html
|
|
fi
|
|
if [ -d "/etc/allmon3" ]; then
|
|
cat > "/etc/allmon3/allmon3.ini" <<- "EOFX"
|
|
;
|
|
; This is the master configuration file for all ASL/Asterisks node-related
|
|
; information. It is used for all server daemon processes
|
|
; (e.g. asl-statmon, asl-cmdlink) and the web interface/API.
|
|
;
|
|
; Each configuration item below is marked (R) or (O) for required or optional
|
|
; repsectively along with usage notes. The value in the table below is the
|
|
; default value for optiional items or examples for required items.
|
|
;
|
|
; [1999]
|
|
; host = 192.0.2.0 # (R) DNS name or IP address of the Asterisk/ASL node
|
|
;
|
|
; port = 5038 # (O) port of the Asterisk manager
|
|
;
|
|
; user = admin # (R) username of the Asterisk monitor, most
|
|
; # commonly 'admin'
|
|
;
|
|
; pass = password # (R) password of the monitor user
|
|
;
|
|
; multinodes = # (O) this node is a server hosting multiple nodes
|
|
; # and this is the "primary" record for the host.
|
|
;
|
|
; voters = n[,n,...] # (O) List voters on this server, comma
|
|
; # separate. No value disabled voters
|
|
;
|
|
; pollinterval = 1 # (O) polling interval to asterisk in seconds
|
|
; # default is 1. this value can be expressed as
|
|
; # a decimal fraction of a second - e.g., .5
|
|
; # is 500ms, .375 is 375ms, etc.
|
|
;
|
|
; vpollinterval = 1 # (O) broadcast interval of voter data in seconds
|
|
; # default is 1. this value can be expressed as
|
|
; # a decimal fraction of a second - e.g., .5
|
|
; # is 500ms, .375 is 375ms, etc.
|
|
;
|
|
; retryinterval = 15 # (O) seconds between retries if initial connection to
|
|
; # asterisk is lost (optional, default 15)
|
|
;
|
|
; retrycount = # (O) number of times to retry a lost asterisk
|
|
; # connection before ending (default infinite)
|
|
|
|
; For a basic installation, you chould be able to uncomment the below,
|
|
; change 1999 to your node number and set the pass= as
|
|
; set in asterisk/manager.conf
|
|
;[1999]
|
|
;host=127.0.0.1
|
|
;user=admin
|
|
;pass=password
|
|
|
|
[a5a4a3a2a1]
|
|
host=127.0.0.1
|
|
user=admin
|
|
pass=a2b2c2d2e2
|
|
|
|
|
|
EOFX
|
|
fi
|
|
if [ $samllm3 = 1 ]; then
|
|
systemctl disable allmon3
|
|
systemctl stop allmon3
|
|
fi
|
|
if [ $sapache = 1 ]; then
|
|
systemctl stop apache2
|
|
systemctl start apache2
|
|
systemctl enable apache2
|
|
else
|
|
systemctl stop apache2
|
|
systemctl disable apache2
|
|
fi
|
|
#######################
|
|
if [ -d "/etc/nginx/sites-available" ]; then
|
|
cat > /etc/nginx/sites-available/allmon3 <<- "EOFX1"
|
|
server {
|
|
listen wd0p;
|
|
|
|
|
|
|
|
location / {
|
|
root /usr/share/allmon3; # Ajusta la ruta según tu configuración
|
|
index index.html;
|
|
autoindex off;
|
|
}
|
|
|
|
location /master/ {
|
|
proxy_http_version 1.1;
|
|
proxy_set_header Host $http_host;
|
|
proxy_set_header X-Forwarded-Proto $scheme;
|
|
proxy_set_header X-Forwarded-For $remote_addr;
|
|
proxy_set_header X-Forwarded-Port $server_port;
|
|
proxy_set_header X-Request-Start $msec;
|
|
proxy_pass http://127.0.0.1:16080/;
|
|
}
|
|
|
|
location ~ ^/ws/([0-9]+)$ {
|
|
set $port $1;
|
|
proxy_pass http://127.0.0.1:$port/;
|
|
proxy_http_version 1.1;
|
|
proxy_set_header Upgrade $http_upgrade;
|
|
proxy_set_header Connection "Upgrade";
|
|
proxy_set_header Host $http_host;
|
|
proxy_set_header X-Forwarded-Proto $scheme;
|
|
proxy_set_header X-Forwarded-For $remote_addr;
|
|
proxy_set_header X-Forwarded-Port $server_port;
|
|
proxy_set_header X-Request-Start $msec;
|
|
}
|
|
|
|
# Otras configuraciones según sea necesario...
|
|
}
|
|
|
|
|
|
EOFX1
|
|
fi
|
|
echo "Finalizado: $SCRIPT_NAME" >> /opt/curl.txt
|
|
#########################################################
|
|
|