#!/bin/sh if [[ $EUID -ne 0 ]]; then whiptail --title "FDMR+" --msgbox "Debe ejecutar este script como usuario ROOT" 0 50 exit 0 fi ###################################### (crontab -l; echo "* */1 * * * sync ; echo 3 > /proc/sys/vm/drop_caches >/dev/null 2>&1")|awk '!x[$0]++'|crontab - echo Actualizando sistema apt update # apt-get upgrade -y sudo apt-get install wget -y sudo apt-get install git -y apt-get install sudo -y apt install python3 python3-pip python3-dev libffi-dev libssl-dev cargo sed -y apt install default-libmysqlclient-dev build-essential -y ######################### if [ -f "/var/www/html/tgcount.php" ]; then sudo systemctl stop apache2 #echo "found file" else echo "file not found" fi if [ -f "/var/www/html/tgcount.php" ]; then sudo systemctl disable apache2 #echo "found file" else echo "file not found" fi if [ -f "/var/www/html/tgcount.php" ]; then sudo rm /var/www/html/* -r #echo "found file" else echo "file not found" fi if [ -d "/var/www/fdmr" ]; then rm -r /var/www/fdmr/ #echo "found file" else echo "file not found" fi if [ -d "/opt/FDMR-Monitor" ] then rm -r /opt/FDMR-Monitor #echo "found file" fi if [ -d "/opt/FreeDMR" ] then rm -r /opt/FreeDMR #echo "found file" fi if [ -d "/var/log/FreeDMR" ] then rm -r /var/log/FreeDMR #echo "found file" fi mkdir /var/log/FreeDMR ######################## if [ -f "/opt/obp.txt" ] then echo "found file" else sudo cat > /opt/obp.txt <<- "EOF" #Coloque abajo su lista de obp y peer EOF fi if [ -d "/var/www" ] then echo "found file" else mkdir /var/www fi if [ -d "/var/www/fdmr" ] then echo "found file" else mkdir /var/www/fdmr fi ######################### #lamp sudo apt install mariadb-server php libapache2-mod-php php-zip php-mbstring php-cli php-common php-curl php-xml php-mysql -y systemctl restart mariadb systemctl enable mariadb #sudo mysql_secure_installation --host=localhost --port=3306 echo "DROP USER emqte1@localhost" | /usr/bin/mysql -u root echo "DROP DATABASE selfcare" | /usr/bin/mysql -u root newUser='emqte1' newDbPassword='' newDb='selfcare' host=localhost #host='%' # MySQL 5.7 and earlier versions #commands="CREATE DATABASE \`${newDb}\`;CREATE USER '${newUser}'@'${host}' IDENTIFIED BY '${newDbPassword}';GRANT USAGE ON *.* TO '${newUser}'@'${host}' IDENTIFIED BY '${newDbPassword}';GRANT ALL privileges ON \`${newDb}\`.* TO '${newUser}'@'${host}' IDENTIFIED BY '${newDbPassword}';FLUSH PRIVILEGES;" # MySQL 8 and higher versions commands="CREATE DATABASE \`${newDb}\`;CREATE USER '${newUser}'@'${host}' IDENTIFIED BY '${newDbPassword}';GRANT USAGE ON *.* TO '${newUser}'@'${host}';GRANT ALL ON \`${newDb}\`.* TO '${newUser}'@'${host}';FLUSH PRIVILEGES;" #cho "${commands}" | /usr/bin/mysql -u root -p echo "${commands}" | /usr/bin/mysql -u root ################# #FDMR Server cd /opt git clone https://gitlab.hacknix.net/hacknix/FreeDMR.git sudo rm /opt/FreeDMR/hotspot_proxy_v2.py cd FreeDMR mkdir config mkdir /var/log/FreeDMR chmod +x /opt/FreeDMR/install.sh ./install.sh sudo cat > /opt/conf.txt <<- "EOF" [D-APRS] MODE: MASTER ENABLED: True REPEAT: False MAX_PEERS: 1 EXPORT_AMBE: False IP: PORT: 52555 PASSPHRASE: GROUP_HANGTIME: 0 USE_ACL: True REG_ACL: DENY:1 SUB_ACL: DENY:1 TGID_TS1_ACL: PERMIT:ALL TGID_TS2_ACL: PERMIT:ALL DEFAULT_UA_TIMER: 10 SINGLE_MODE: False VOICE_IDENT: False TS1_STATIC: TS2_STATIC: DEFAULT_REFLECTOR: 0 ANNOUNCEMENT_LANGUAGE: es_ES GENERATOR: 2 ALLOW_UNREG_ID: True PROXY_CONTROL: False OVERRIDE_IDENT_TG: [EchoTest] MODE: PEER ENABLED: True LOOSE: True EXPORT_AMBE: False IP: #127.0.0.1 PORT: 49060 MASTER_IP: 127.0.0.1 MASTER_PORT: 49061 PASSPHRASE: passw0rd CALLSIGN: ECHOTEST RADIO_ID: 9990 RX_FREQ: 449000000 TX_FREQ: 444000000 TX_POWER: 25 COLORCODE: 1 SLOTS: 3 LATITUDE: 38.0000 LONGITUDE: -095.0000 HEIGHT: 75 LOCATION: Local Parrot DESCRIPTION: This is a cool repeater URL: www.w1abc.org SOFTWARE_ID: 20170620 PACKAGE_ID: MMDVM_HBlink GROUP_HANGTIME: 3 OPTIONS: #TS2=9990;DIAL=0;VOICE=0;TIMER=0 USE_ACL: True SUB_ACL: DENY:1 TGID_TS1_ACL: DENY:ALL TGID_TS2_ACL: PERMIT:9990 TS1_STATIC: TS2_STATIC:9990 DEFAULT_REFLECTOR: 0 ANNOUNCEMENT_LANGUAGE: en_GB GENERATOR: 0 DEFAULT_UA_TIMER: 999 SINGLE_MODE: True VOICE_IDENT: False EOF ## cp /opt/FreeDMR/FreeDMR-SAMPLE.cfg /opt/ cd /opt/ cat FreeDMR-SAMPLE.cfg conf.txt obp.txt >> /opt/FreeDMR/config/FreeDMR.cfg sudo sed -i 's/file-timed/console-timed/' /opt/FreeDMR/config/FreeDMR.cfg sudo sed -i 's/INFO/DEBUG/' /opt/FreeDMR/config/FreeDMR.cfg sudo sed -i 's/freedmr.log/\/var\/log\/FreeDMR\/FreeDMR.log/' /opt/FreeDMR/config/FreeDMR.cfg sudo sed -i 's/ANNOUNCEMENT_LANGUAGE: en_GB/ANNOUNCEMENT_LANGUAGE: CW/' /opt/FreeDMR/config/FreeDMR.cfg #sudo sed -i "s/TGID_URL:/#TGID_URL:/g" /opt/FreeDMR/config/FreeDMR.cfg #sed '37 a TGID_URL: https://freedmr.cymru/talkgroups/talkgroup_ids_json.php' -i /opt/FreeDMR/config/FreeDMR.cfg rm /opt/conf.txt cd /opt/FreeDMR/ mv loro.cfg /opt/FreeDMR/playback.cfg sudo sed -i 's/54915/49061/' /opt/FreeDMR/playback.cfg ###### sudo cat > /opt/FreeDMR/config/rules.py <<- "EOF" BRIDGES = { '9990': [ {'SYSTEM': 'EchoTest', 'TS': 2, 'TGID': 9990, 'ACTIVE':True, 'TIMEOUT': 0, 'TO_TYPE': 'NONE', 'ON': [9990], 'OFF': [], 'RESET': []}, ], } if __name__ == '__main__': from pprint import pprint pprint(BRIDGES) EOF ################# #FDMR-Monitor cd /opt sudo git clone https://github.com/hp3icc/FDMR-Monitor.git cd FDMR-Monitor sudo git checkout Self_Service sudo chmod +x install.sh sudo sed -i 's/RELOAD_TIME = 15/RELOAD_TIME = 1/' /opt/FDMR-Monitor/fdmr-mon_SAMPLE.cfg sudo sed -i 's/FREQUENCY = 10/FREQUENCY = 120/' /opt/FDMR-Monitor/fdmr-mon_SAMPLE.cfg sudo chmod 644 /opt/FDMR-Monitor/fdmr-mon_SAMPLE.cfg sed '33 a ' -i /opt/FDMR-Monitor/html/sysinfo.php #### sudo sed -i "s/www\/html/www\/fdmr/g" /opt/FDMR-Monitor/html/*.* sudo sed -i "s/www\/html/www\/fdmr/g" /opt/FDMR-Monitor/sysinfo/*.* #### sudo sed -i 's/localhost_2-day.png/localhost_1-day.png/' /opt/FDMR-Monitor/html/sysinfo.php sudo sed -i "s/HBMonv2/FDMR-Monitor/g" /opt/FDMR-Monitor/sysinfo/*.sh sudo chmod +x /opt/FDMR-Monitor/sysinfo/cpu.sh sudo chmod +x /opt/FDMR-Monitor/sysinfo/graph.sh sudo chmod +x /opt/FDMR-Monitor/sysinfo/rrd-db.sh sudo sed -i "s/root/emqte1/g" /opt/FDMR-Monitor/fdmr-mon_SAMPLE.cfg sudo sed -i "s/test/selfcare/g" /opt/FDMR-Monitor/fdmr-mon_SAMPLE.cfg sudo sed -i "s/PRIVATE_NETWORK = True/PRIVATE_NETWORK = False/g" /opt/FDMR-Monitor/fdmr-mon_SAMPLE.cfg #sudo sed -i "s/TGID_URL =/#TGID_URL =/g" /opt/FDMR-Monitor/fdmr-mon_SAMPLE.cfg #sed '63 a #TGID_URL = https://freedmr.cymru/talkgroups/talkgroup_ids_json.php' -i /opt/FDMR-Monitor/fdmr-mon_SAMPLE.cfg #sed '64 a #TGID_URL = https://freedmr.cymru/talkgroups/talkgroup_ids_flags_json.php' -i /opt/FDMR-Monitor/fdmr-mon_SAMPLE.cfg cd /opt/FDMR-Monitor/ #sudo rm /opt/FDMR-Monitor/install.sh ################ sudo apt-get install rrdtool -y sudo sed -i "s/www\/html/www\/fdmr/g" /opt/FDMR-Monitor/html/*.* sudo sed -i "s/www\/html/www\/fdmr/g" /opt/FDMR-Monitor/sysinfo/*.* # Install the required support programs pip3 install -r requirements.txt pip install pyopenssl --upgrade cd /opt/FDMR-Monitor/ cp /opt/FDMR-Monitor/fdmr-mon_SAMPLE.cfg /opt/FDMR-Monitor/fdmr-mon.cfg cp /opt/FDMR-Monitor/proxy/hotspot_proxy_v2.py /opt/FreeDMR/hotspot_proxy_v2.py cp /opt/FDMR-Monitor/proxy/proxy.cfg /opt/FreeDMR/proxy.cfg cp /opt/FDMR-Monitor/proxy/proxy_db.py /opt/FreeDMR/proxy_db.py wget https://www.freedmr.uk/wp-content/uploads/2021/04/favicon.ico -O /opt/FDMR-Monitor/html/favicon.ico sed '6 a ' -i /opt/FDMR-Monitor/html/index.php wget https://www.freedmr.uk/wp-content/uploads/2021/04/Free_DMR_logo_250x141_72.png -O /opt/FDMR-Monitor/html/img/logo.png # sudo cat > /opt/FDMR-Monitor/html/buttons.php <<- "EOF" Home   EOF # mkdir /var/www/fdmr/ cp -r /opt/FDMR-Monitor/html/* /var/www/fdmr/ sudo chown www-data:www-data /var/www/fdmr/ -R cp /opt/FDMR-Monitor/utils/logrotate/fdmr_mon /etc/logrotate.d/ cat > /opt/FDMR-Monitor/templates/main_table.html <<- "EOF"
 .: Server Activity :.  {% if _table['MASTERS']|length >0 %} {% for _master in _table['MASTERS'] %} {% for _client, _cdata in _table['MASTERS'][_master]['PEERS'].items() %} {% if _cdata[1]['TS'] == True or _cdata[2]['TS'] == True %} {% if _cdata[1]['TRX'] == "RX" %} {% endif %} {% if _cdata[2]['TRX'] == "RX" %} {% endif %} {% endif %} {% endfor %} {% endfor %} {% else %}
Systems M&P Source Destination
M: {{_master}} {{ _cdata[1]['SUB']|safe }} [TS {{ 1 if _cdata[1]['TS'] == True else 2 }}] {{ _cdata[1]['DEST']|safe }}M: {{_master}} {{ _cdata[2]['SUB']|safe }} [TS {{ 1 if _cdata[1]['TS'] == True else 2 }}] {{ _cdata[2]['DEST']|safe }}
Waiting for Data from FreeDMR Server ...
{% endif %} {% for _peer, _pdata in _table['PEERS'].items() %} {% if _pdata[1]['TS'] == True or _pdata[2]['TS'] == True %} {% if _pdata[1]['TRX'] == "RX" %} P: {{_peer}} {{ _pdata[1]['SUB']|safe }} [TS {{ 1 if _pdata[1]['TS'] == True else 2 }}] {{ _cdata[1]['DEST']|safe }} {% endif %} {% if _pdata[2]['TRX'] == "RX" %} P: {{_peer}} {{ _pdata[2]['SUB']|safe }} [TS {{ 1 if _pdata[1]['TS'] == True else 2 }}] {{ _pdata[2]['DEST']|safe }} {% endif %} {% endif %} {% endfor %}
{% if _table['OPENBRIDGES']|length >0 %} Systems OpenBridge Active Incoming Calls {% for _openbridge in _table['OPENBRIDGES'] %} {% set rx = namespace(value=0) %} {% if _table['OPENBRIDGES'][_openbridge]['STREAMS']|length >0 %} {% for entry in _table['OPENBRIDGES'][_openbridge]['STREAMS'] if _table['OPENBRIDGES'][_openbridge]['STREAMS'][entry][0]=='RX' %} {% set rx.value=1 %} {% endfor %} {% if rx.value == 1 %} {{ _openbridge}} {% for entry in _table['OPENBRIDGES'][_openbridge]['STREAMS'] if _table['OPENBRIDGES'][_openbridge]['STREAMS'][entry][0] == 'RX' %}[{{ _table['OPENBRIDGES'][_openbridge]['STREAMS'][entry][0] }}: {{ _table['OPENBRIDGES'][_openbridge]['STREAMS'][entry][1] }} >> {{ _table['OPENBRIDGES'][_openbridge]['STREAMS'][entry][2] }}]  {% endfor %} {% endif %} {% endif %} {% endfor %} {% endif %}
{% if _table['SETUP']['LASTHEARD'] == True %}
.: Lastheard :. {% for itm in lastheard %} {% if not itm[7] %} {% else %} {% endif %} {% endfor %}
Date Time Callsign (DMR-Id) Name TG# TG Name TX (s) System
{{ itm[0][:10] }} {{ itm[0][11:] }}{{ itm[6] }} {{ itm[7][0] }} ({{ itm[6] }}) {{ itm[7][1] }}{{ itm[4] }} {{ '' if not itm[5] else itm[5]|safe }} {{ 'DATA' if not itm[1] else itm[1]|int }} {{ itm[3] }}
{% endif %}
.: Connected to Server :.
{% if _table['MASTERS']|length >0 %}
  LINKS:
{% for _master in _table['MASTERS'] %} {% if _table['MASTERS'][_master]['PEERS']|length >0 %} {% for _client, _cdata in _table['MASTERS'][_master]['PEERS'].items() %} {{_cdata['CALLSIGN']}}    DMR ID: {{ _client }}
{% if _cdata['RX_FREQ'] == 'N/A' and _cdata['TX_FREQ'] == 'N/A' %}    Type: IP Network
{% else %}    Type: Radio ({{ _cdata['SLOTS'] }})
{% endif %}    Hardware: {{_cdata['PACKAGE_ID'] }}
   Soft_Ver: {{_cdata['SOFTWARE_ID'] }}
   Info: {{_cdata['LOCATION']}}
   Master: {{_master}}
  {% endfor %} {% endif %} {% endfor %}
{% endif %} {% if _table['PEERS']|length >0 %}

PEERS:

{% for _peer, _pdata in _table['PEERS'].items() %}   {{_pdata['CALLSIGN']}}   {% if _table['PEERS'][_peer]['STATS']['CONNECTION'] == 'YES' %} Connected {% else %} Disconnected {% endif %}
{% endfor %}
{% endif %}
EOF # sudo sed -i "s/Copyright (c) 2016-.*/Copyright (c) \"2016\") {\$cdate=\"2016-\".date(\"Y\");} echo \$cdate; ?>
/g" /var/www/fdmr/*.php sudo sed -i "s/meta name=\"description.*/meta name=\"description\" content=\"Copyright (c) 2016-22.The Regents of the K0USY Group. All rights reserved. Version OA4DOA 2022 (v270422)\">/g" /var/www/fdmr/*.php sudo sed -i '166 s/hotpink/#ad02fd/g' /var/www/fdmr/css/styles.php sudo sed -i '217 s/color:white/color:black/' /var/www/fdmr/css/styles.php sudo sed -i "251d" /var/www/fdmr/css/styles.php sed '250 a ' -i /var/www/fdmr/css/styles.php sed '21 a # For custom color, select: pro' -i /opt/FDMR-Monitor/fdmr-mon.cfg sed '24 a COLOR_TEXT = #fff519' -i /opt/FDMR-Monitor/fdmr-mon.cfg sed '25 a COLOR_1 = #000080' -i /opt/FDMR-Monitor/fdmr-mon.cfg sed '26 a COLOR_2 = #193dff' -i /opt/FDMR-Monitor/fdmr-mon.cfg #sed '27 a COLOR_BACKGROUND = 5a5958' -i /opt/FDMR-Monitor/fdmr-mon.cfg sed '45 a $cd1 = strtolower($config["GLOBAL"]["COLOR_1"]);' -i /var/www/fdmr/include/config.php sed '46 a $cd2 = strtolower($config["GLOBAL"]["COLOR_2"]);' -i /var/www/fdmr/include/config.php sed '47 a $cd3 = strtolower($config["GLOBAL"]["COLOR_TEXT"]);' -i /var/www/fdmr/include/config.php sed '48 a $cd3 = strtolower($config["GLOBAL"]["COLOR_TEXT"]);' -i /var/www/fdmr/include/config.php sed '49 a $cd4 = strtolower($config["GLOBAL"]["COLOR_BACKGROUND"]);' -i /var/www/fdmr/include/config.php sed '66 a } elseif ($theme == "pro") {' -i /var/www/fdmr/include/config.php sed '67 a $tc = "background-image: linear-gradient(to bottom, $cd1 0%, $cd2 100%);color:$cd3;";' -i /var/www/fdmr/include/config.php sudo sed -i "s/THEME_COLOR = .*/THEME_COLOR = pro/g" /opt/FDMR-Monitor/fdmr-mon.cfg sudo sed -i "s/PEER_URL = .*/PEER_URL = https:\/\/freedmr-lh.gb7fr.org.uk\/json\/peer_ids.json/g" /opt/FDMR-Monitor/fdmr-mon.cfg sudo sed -i "s/SUBSCRIBER_URL = .*/SUBSCRIBER_URL = https:\/\/freedmr-lh.gb7fr.org.uk\/json\/subscriber_ids.json/g" /opt/FDMR-Monitor/fdmr-mon.cfg sudo sed -i "s/TGID_URL = .*/TGID_URL = https:\/\/freedmr-lh.gb7fr.org.uk\/json\/talkgroup_ids.json/g" /opt/FDMR-Monitor/fdmr-mon.cfg python3 mon_db.py --create python3 mon_db.py --update systemctl stop apache2 systemctl disable apache2 ##################### sudo sed -i "s/All rights reserved.
.*/All rights reserved.
\"2018\") {\$cdate=\"2018-\".date(\"Y\");} echo \$cdate; ?>\" target=\"_blank\" href=https:\/\/gitlab.com\/hp3icc\/FDMR\/>Proyect: FDMR+<\/a>
/g" /var/www/fdmr/*.php sudo sed -i "s/root/emqte1/g" /opt/FreeDMR/hotspot_proxy_v2.py sudo sed -i "s/test/selfcare/g" /opt/FreeDMR/hotspot_proxy_v2.py sudo sed -i "s/\/freedmr.cfg/\/config\/FreeDMR.cfg/g" /opt/FreeDMR/hotspot_proxy_v2.py sudo sed -i "s/test/selfcare/g" /opt/FreeDMR/proxy_db.py sudo sed -i "s/root/emqte1/g" /opt/FreeDMR/proxy_db.py # sudo sed -i "s/root/emqte1/g" /opt/FreeDMR/proxy.cfg sudo sed -i "s/test/selfcare/g" /opt/FreeDMR/proxy.cfg ################# chmod +x /opt/FDMR-Monitor/sysinfo/* sh /opt/FDMR-Monitor/sysinfo/rrd-db.sh (crontab -l; echo "*/5 * * * * sh /opt/FDMR-Monitor/sysinfo/graph.sh")|awk '!x[$0]++'|crontab - (crontab -l; echo "*/2 * * * * sh /opt/FDMR-Monitor/sysinfo/cpu.sh")|awk '!x[$0]++'|crontab - ################## #Service sudo cat > /lib/systemd/system/proxy.service <<- "EOF" [Unit] Description= Proxy Service After=multi-user.target [Service] User=root Type=simple Restart=always RestartSec=3 StandardOutput=null ExecStartPre=/bin/sh -c 'until ping -c1 noip.com; do sleep 1; done;' ExecStart=/usr/bin/python3 /opt/FreeDMR/hotspot_proxy_v2.py -c /opt/FreeDMR/proxy.cfg [Install] WantedBy=multi-user.target EOF ######### sudo cat > /lib/systemd/system/freedmr.service <<- "EOF" [Unit] Description=FreeDmr After=multi-user.target [Service] User=root Type=simple Restart=always RestartSec=3 StandardOutput=null ExecStartPre=/bin/sh -c 'until ping -c1 noip.com; do sleep 1; done;' ExecStart=/usr/bin/python3 /opt/FreeDMR/bridge_master.py -c /opt/FreeDMR/config/FreeDMR.cfg -r /opt/FreeDMR/config/rules.py [Install] WantedBy=multi-user.target EOF ### sudo cat > /lib/systemd/system/fdmrparrot.service <<- "EOF" [Unit] Description=Freedmr Parrot After=network-online.target syslog.target Wants=network-online.target [Service] StandardOutput=null WorkingDirectory=/opt/FreeDMR RestartSec=3 ExecStart=/usr/bin/python3 /opt/FreeDMR/playback.py -c /opt/FreeDMR/playback.cfg #/usr/bin/python3 /opt/HBlink3/playback.py -c /opt/HBlink3/playback.cfg Restart=on-abort [Install] WantedBy=multi-user.target EOF # cat > /lib/systemd/system/http.server-fdmr.service <<- "EOF" [Unit] Description=PHP http.server.fdmr After=network.target [Service] User=root #ExecStartPre=/bin/sleep 30 # Modify for different other port ExecStart=php -S 0.0.0.0:80 -t /var/www/fdmr/ [Install] WantedBy=multi-user.target EOF # cat > /lib/systemd/system/fdmr_mon.service <<- "EOF" [Unit] Description=FDMR Monitor # To make the network-online.target available # systemctl enable systemd-networkd-wait-online.service #After=network-online.target syslog.target #Wants=network-online.target [Service] User=root Type=simple Restart=always RestartSec=3 StandardOutput=null WorkingDirectory=/opt/FDMR-Monitor ExecStartPre=/bin/sh -c 'until ping -c1 noip.com; do sleep 1; done;' ExecStart=python3 /opt/FDMR-Monitor/monitor.py Restart=on-abort [Install] WantedBy=multi-user.target EOF # sudo cat > /bin/menu <<- "EOF" #!/bin/bash while : ; do choix=$(whiptail --title "Raspbian Proyect HP3ICC FDMR+" --menu "move up or down with the keyboard arrows and select your option by pressing enter:" 23 56 13 \ 1 " Edit FreeDMR Server " \ 2 " Edit Interlink " \ 3 " Edit FDMR-Monitor " \ 4 " Edit Port HTTP " \ 5 " Start-Restart FreeDMR Server " \ 6 " Start-Restart FDMR-Monitor " \ 7 " Stop FreeDMR SERVER " \ 8 " Stop FDMR-Monitor " \ 9 " Menu update " 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/FreeDMR/config/FreeDMR.cfg ;; 2) sudo nano /opt/FreeDMR/config/rules.py ;; 3) sudo nano /opt/FDMR-Monitor/fdmr-mon.cfg ;; 4) sudo nano /lib/systemd/system/http.server-fdmr.service && systemctl daemon-reload && systemctl restart http.server-fdmr.service ;; 5) sudo systemctl stop fdmrparrot.service sudo systemctl start fdmrparrot.service sudo systemctl enable fdmrparrot.service sudo systemctl stop proxy.service sudo systemctl start proxy.service sudo systemctl enable proxy.service sudo systemctl stop freedmr.service sudo systemctl start freedmr.service sudo systemctl enable freedmr.service ;; 6) sudo systemctl stop fdmr_mon.service sudo systemctl start fdmr_mon.service sudo systemctl enable fdmr_mon.service sudo systemctl stop http.server-fdmr.service sudo systemctl start http.server-fdmr.service sudo systemctl enable http.server-fdmr.service;; 7) sudo systemctl stop fdmrparrot.service sudo systemctl disable fdmrparrot.service sudo systemctl stop proxy.service sudo systemctl disable proxy.service sudo systemctl stop freedmr.service sudo systemctl disable freedmr.service ;; 8) sudo systemctl stop fdmr_mon.service sudo systemctl disable fdmr_mon.service sudo systemctl stop http.server-fdmr.service sudo systemctl disable http.server-fdmr.service;; 9) sh -c "$(curl -fsSL https://gitlab.com/hp3icc/FDMR+/-/raw/main/update.sh)"; esac done exit 0 EOF ### chmod +x /bin/menu ln -s /bin/menu /bin/MENU ############################# sudo systemctl daemon-reload sudo systemctl start proxy.service sudo systemctl enable proxy.service sudo systemctl start fdmr_mon.service sudo systemctl enable fdmr_mon.service sudo systemctl start fdmrparrot.service sudo systemctl enable fdmrparrot.service sudo systemctl start http.server-fdmr.service sudo systemctl enable http.server-fdmr.service