diff --git a/update.sh b/update.sh index 29ac38a..c8793e8 100644 --- a/update.sh +++ b/update.sh @@ -99,7 +99,7 @@ exit 0 EOF ######################################### FreeDMR Update ############################################################### -sudo cat > /opt/conf.txt <<- "EOF" +sudo cat > /opt/conf.txt <<- "EOFA1" [D-APRS] MODE: MASTER @@ -170,7 +170,7 @@ DEFAULT_UA_TIMER: 999 SINGLE_MODE: True VOICE_IDENT: False -EOF +EOFA1 ## sudo cat > /opt/fdmr-update.sh <<- "EOF" #!/bin/bash @@ -230,9 +230,390 @@ sudo systemctl restart fdmr_mon.service EOF ######################################### FDMR-Monitor Update ############################################################### -sudo cat > monitor-update.sh <<- "EOF" +sudo cat > monitor-update.sh <<- "EOFB1" +#!/bin/bash +variable1=$(grep "REPORT_NAME =" /opt/FDMR-Monitor/fdmr-mon.cfg) +variable2=$(grep "THEME_COLOR =" /opt/FDMR-Monitor/fdmr-mon.cfg) +variable3=$(grep "COLOR_TEXT =" /opt/FDMR-Monitor/fdmr-mon.cfg) +variable4=$(grep "COLOR_1 =" /opt/FDMR-Monitor/fdmr-mon.cfg) +variable5=$(grep "COLOR_2 =" /opt/FDMR-Monitor/fdmr-mon.cfg) + +sudo systemctl stop fdmr_mon.service +sudo systemctl stop proxy.service + +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 +## +#FDMR-Monitor +cd /opt +sudo git clone https://github.com/yuvelq/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 +############################### +sudo sed -i "s/root/emqte1/g" /opt/FDMR-Monitor/proxy/hotspot_proxy_v2.py +sudo sed -i "s/test/selfcare/g" /opt/FDMR-Monitor/proxy/hotspot_proxy_v2.py +sudo sed -i "s/\/freedmr.cfg/\/config\/FreeDMR.cfg/g" /opt/FDMR-Monitor/proxy/hotspot_proxy_v2.py +sudo sed -i "s/test/selfcare/g" /opt/FDMR-Monitor/proxy/proxy_db.py +sudo sed -i "s/root/emqte1/g" /opt/FDMR-Monitor/proxy/proxy_db.py +sudo sed -i "s/root/emqte1/g" /opt/FDMR-Monitor/proxy/proxy.cfg +sudo sed -i "s/test/selfcare/g" /opt/FDMR-Monitor/proxy/proxy.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&PSourceDestination
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 %} +
DateTimeCallsign (DMR-Id)NameTG#TG NameTX (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.cymru\/talkgroups\/talkgroup_ids_json.php/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 + +chmod +x /opt/FDMR-Monitor/sysinfo/* +sh /opt/FDMR-Monitor/sysinfo/rrd-db.sh + +sh /opt/extra-2.sh +systemctl start fdmr_mon.service +systemctl start proxy.service +EOFB1 ########################################## End Update Files ############################################################## sudo chmod +x /opt/fdmr-update.sh