diff --git a/install.sh b/install.sh new file mode 100644 index 0000000..9ed2616 --- /dev/null +++ b/install.sh @@ -0,0 +1,756 @@ +#!/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 + +