############################################################################################################################# # dvswitch ############################################################################################################################# sh -c "$(curl -fsSL https://gitlab.com/hp3icc/Easy-DVSwitch/-/raw/main/install.sh)" sudo cat > /usr/local/dvs/dvs <<- "EOF" #!/bin/bash #=================================== SCRIPT_VERSION="Menu Script v.1.61" SCRIPT_AUTHOR="HL5KY" SCRIPT_DATE="11/06/2020" #=================================== source /var/lib/dvswitch/dvs/var.txt if [ "$1" != "" ]; then case $1 in -v|-V|--version) echo "dvs "$SCRIPT_VERSION; exit 0 ;; -a|-A|--author) echo "dvs "$SCRIPT_AUTHOR; exit 0 ;; -d|-D|--date) echo "dvs "$SCRIPT_DATE; exit 0 ;; *) echo "Unknown parameter passed: $1"; exit 1 ;; esac fi #-------------------------------------------------------------------- clear # After upgrading, if [there is dvsm.basic] -> meaning setting is Advanced Macro Configuration if [ -e ${AB}dvsm.basic ]; then # if there is not character "Advanced" in dvsm.macro -> updated & upgraded and dvsm.macro is brand new if [[ -z `grep "Advanced" ${AB}dvsm.macro` ]]; then sudo \cp -f ${adv}dvsm.macro ${AB}dvsm.macro fi fi if [ -e /var/lib/dvswitch/dvs/var.old ]; then clear sudo \mv -f /var/lib/dvswitch/dvs/var.old /var/lib/dvswitch/dvs/var.txt source /var/lib/dvswitch/dvs/var.txt fi if [ ! -e ${lan}language.txt ]; then clear sudo \cp -f ${lan}english.txt ${lan}language.txt source /var/lib/dvswitch/dvs/var.txt fi if [ "$startup_lan" != "73" ]; then clear update_var startup_lan 73 if (whiptail --title " Change Language Settings " --yesno "\ Do you want to change Language settings now ? You can do it later. The menu is under " 12 70); then ${DVS}language.sh; exit 0 fi fi #-------------------------------------------------------------------- OPTION=$(whiptail --title " $T010 " --menu "\ $SCRIPT_VERSION\n \n " 14 110 6 \ "01 $T011 " "$T012" \ "02 $T013 " "$T014" \ "03 $T015 " "$T016" \ "04 $T023 " "$T024" \ "05 $T017 " "$T018" \ "06 $T019 " "$T020" 3>&1 1>&2 2>&3) if [ $? != 0 ]; then clear; exit 0 fi case $OPTION in 01\ *)sudo ${DVS}init_config.sh ;; 02\ *)sudo ${DVS}adv_config_menu.sh ;; 03\ *)sudo ${DVS}tools_menu.sh ;; 04\ *)sh -c "$(curl -fsSL https://gitlab.com/hp3icc/emq-TE1/-/raw/main/service/dv-list-tg.sh)" ;; 05\ *)sudo ${DVS}credits.sh ;; 06\ *)exit 0 esac #exit 0 EOF ### cd /tmp/ wget https://gitlab.com/hp3icc/DVSwitch-Mobile-TG-List/-/raw/main/lang.sh sudo chmod +x lang.sh sh lang.sh ### sudo sed -i "s/default_dmr_server=Brandmeister/default_dmr_server=FreeDMR/g" /var/lib/dvswitch/dvs/var.txt sudo sed -i "s/other1_name=/other1_name=FreeDMR/g" /var/lib/dvswitch/dvs/var.txt sudo sed -i "s/other1_address=/other1_address=freedmr-hp.ddns.net/g" /var/lib/dvswitch/dvs/var.txt sudo sed -i "s/other1_password=/other1_password=passw0rd/g" /var/lib/dvswitch/dvs/var.txt sudo sed -i "s/other1_port=/other1_port=62031/g" /var/lib/dvswitch/dvs/var.txt sudo sed -i "s/other2_name=/other2_name=DMR-Central/g" /var/lib/dvswitch/dvs/var.txt sudo sed -i "s/other2_address=/other2_address=dmr.pa7lim.nl/g" /var/lib/dvswitch/dvs/var.txt sudo sed -i "s/other2_password=/other2_password=passw0rd/g" /var/lib/dvswitch/dvs/var.txt sudo sed -i "s/other2_port=/other2_port=55555/g" /var/lib/dvswitch/dvs/var.txt sudo sed -i "s/42000/42500/g" /opt/YSFGateway/YSFGateway.ini sudo sed -i "s/42001/43001/g" /opt/YSFGateway/YSFGateway.ini sudo sed -i "s/RptPort=3200/RptPort=3230/g" /opt/YSFGateway/YSFGateway.ini sudo sed -i "s/LocalPort=4200/LocalPort=4230/g" /opt/YSFGateway/YSFGateway.ini sudo mkdir /var/www/dvs sudo mv /var/www/html/* /var/www/dvs/ sudo sed -i "s/
Dashboard based on Pi-Star Dashboard, © Andy Taylor.*/
Dashboard based on Pi-Star Dashboard, © Andy Taylor (MW0MWZ) and adapted to DVSwitch by SP2ONG
\"2018\") {\$cdate=\"2018-\".date(\"Y\");} echo \$cdate; ?>\" target=\"_blank\" href=https:\/\/gitlab.com\/hp3icc\/emq-TE1ws\/>Proyect: emq-TE1ws+<\/a><\/span><\/center>/" /var/www/dvs/index.php sudo sed -i 's/www\/html/www\/dvs/g' /usr/local/sbin/update-config.sh sudo sed -i 's/www\/html/www\/dvs/g' /var/lib/dpkg/info/dvswitch* sudo sed -i "s/Language=en_US/Language=es_ES/g" /opt/NXDNGateway/NXDNGateway.ini sudo sed -i "s/Language=en_US/Language=es_ES/g" /opt/P25Gateway/P25Gateway.ini # cat > /var/www/dvs/include/lh.php <<- "EOFX9" Gateway Activity
setTimeZone($local_tz); $local_time = strftime('%H:%M:%S %b %d', $dt->getTimestamp()); echo""; echo""; echo""; if ((is_numeric($listElem[2]) || strpos($listElem[2], "openSPOT") !== FALSE) && (strlen($listElem[2])==7)) { echo ""; } elseif (!preg_match('/[A-Za-z].*[0-9]|[0-9].*[A-Za-z]/', $listElem[2])|| $listElem[2] == "N0CALL") { echo ""; } else { if (strpos($listElem[2],"-") > 0) { $listElem[2] = substr($listElem[2], 0, strpos($listElem[2],"-")); } if ( $listElem[3] && $listElem[3] != ' ' ) { echo ""; } else { echo ""; } } for ($a = 0; ($a < count($dmrIDline)); $a++) { if (strpos($dmrIDline[$a], $listElem[2]) != false) { $arr = explode(" ", strtoupper($dmrIDline[$a])); if (($arr[1] != $dmrCall) && ($listElem[2] != $dmrCall)) { echo ""; $dmrCall = $arr[1]; } } } if (strlen($listElem[4]) == 1) { $listElem[4] = str_pad($listElem[4], 8, " ", STR_PAD_LEFT); } if ( substr($listElem[4], 0, 6) === 'CQCQCQ' ) { echo ""; } else { echo ""; } if ($listElem[5] == "DVSM/UC"){ echo ""; }else{ echo ""; } if ($listElem[6] == null) { if ($listElem[1] == "DMR Slot 2" && $listElem[5] == "Net") {echo "";} if ($listElem[1] == "DMR Slot 1" && $listElem[5] == "Net") {echo "";} if ($listElem[1] == "YSF" && $listElem[5] == "Net") {echo "";} if ($listElem[1] == "P25" && $listElem[5] == "Net") {echo "";} if ($listElem[1] == "NXDN" && $listElem[5] == "Net") {echo "";} if ($listElem[1] == "D-Star" && $listElem[5] == "Net") {echo "";} if ($listElem[5] == "DVSM/UC") {echo "";} } else if ($listElem[6] == "SMS") { echo ""; } else if ($listElem[6] == "GPS") { echo ""; } else { echo ""; // Colour the Loss Field if (floatval($listElem[7]) < 1) { echo ""; } elseif (floatval($listElem[7]) == 1) { echo ""; } elseif (floatval($listElem[7]) > 1 && floatval($listElem[7]) <= 3) { echo ""; } else { echo ""; } // Colour the BER Field if (floatval($listElem[8]) == 0) { echo ""; } elseif (floatval($listElem[8]) >= 0.0 && floatval($listElem[8]) <= 1.9) { echo ""; } elseif (floatval($listElem[8]) >= 2.0 && floatval($listElem[8]) <= 4.9) { echo ""; } else { echo ""; } } echo"\n"; $dmrCall = ""; } } } ?>
Time () Mode Callsign Name Target Src Dur(s) Loss BER
 $local_time $listElem[1] $listElem[2] $listElem[2] $listElem[2]/$listElem[3] $listElem[2] $arr[2] $listElem[4] ".str_replace(" "," ", $listElem[4])."DVSM/UC$listElem[5]   RX DMR      RX DMR      RX YSF      RX P25      RX NXDN     RX D-StarTXSMSGPS$listElem[6]$listElem[7]$listElem[7]$listElem[7]$listElem[7]$listElem[8]$listElem[8]$listElem[8]$listElem[8]
EOFX9 # cat > /opt/MMDVM_Bridge/MMDVM_Bridge.ini <<- "EOF" [General] Callsign=N0CALL Id=1234567 Timeout=300 Duplex=0 [Info] RXFrequency=147000000 TXFrequency=147000000 Power=1 Latitude=8.5211 Longitude=-80.3598 Height=0 Location=DVSwitch Server Description=MMDVM DVSwitch URL=https://groups.io/g/DVSwitch [Log] # Logging levels, 0=No logging, 1=Debug, 2=Message, 3=Info, 4=Warning, 5=Error, 6=Fatal DisplayLevel=1 FileLevel=2 FilePath=/var/log/mmdvm FileRoot=MMDVM_Bridge [DMR Id Lookup] File=/var/lib/mmdvm/DMRIds.dat Time=24 [NXDN Id Lookup] File=/var/lib/mmdvm/NXDN.csv Time=24 [Modem] Port=/dev/null RSSIMappingFile=/dev/null Trace=0 Debug=0 [D-Star] Enable=0 Module=B [DMR] Enable=0 ColorCode=1 EmbeddedLCOnly=1 DumpTAData=0 [System Fusion] Enable=0 [P25] Enable=0 NAC=293 [NXDN] Enable=0 RAN=1 Id=12345 [D-Star Network] Enable=0 GatewayAddress=127.0.0.1 GatewayPort=20010 LocalPort=20011 Debug=0 [DMR Network] Enable=0 Address=hblink.dvswitch.org Port=62031 Jitter=500 Local=62032 Password=passw0rd # for DMR+ see https://github.com/DVSwitch/MMDVM_Bridge/blob/master/DOC/DMRplus_startup_options.md # for XLX the syntax is: Options=XLX:4009 # No active linea de Option para TG estaticos, si utiliza BM,TGIF,DMR-Central # Puede activar linea de option de selfcare FDMR-Mon y colocar su propia contraseña o # utilizar linea de options con opciones de tg estaticos #Options=PASS=abc123 #Options=TS2=714,7144;DIAL=0;VOICE=0;LANG=es_ES;SINGLE=0;TIMER=10; Slot1=0 Slot2=1 Debug=0 [System Fusion Network] Enable=0 LocalAddress=0 LocalPort=3230 GatewayAddress=127.0.0.1 GatewayPort=4230 Debug=0 [P25 Network] Enable=0 GatewayAddress=127.0.0.1 GatewayPort=42020 LocalPort=32010 Debug=0 [NXDN Network] Enable=0 #LocalAddress=127.0.0.1 Debug=0 LocalPort=14021 GatewayAddress=127.0.0.1 GatewayPort=14020 EOF #### sudo systemctl daemon-reload sudo systemctl disable lighttpd.service sudo systemctl stop lighttpd.service sudo systemctl stop md380-emu.service sudo systemctl stop analog_bridge.service sudo systemctl stop mmdvm_bridge.service sudo systemctl stop nxdngateway.service sudo systemctl stop p25gateway.service sudo systemctl stop ysfgateway.service sudo systemctl stop quantar_bridge.service sudo systemctl stop ircddbgatewayd.service sudo systemctl stop p25parrot.service sudo systemctl stop ysfparrot.service sudo systemctl stop nxdnparrot.service sudo systemctl disable md380-emu.service sudo systemctl disable analog_bridge.service sudo systemctl disable mmdvm_bridge.service sudo systemctl disable nxdngateway.service sudo systemctl disable p25gateway.service sudo systemctl disable ysfgateway.service sudo systemctl disable quantar_bridge.service sudo systemctl disable ircddbgatewayd.service sudo systemctl disable p25parrot.service sudo systemctl disable ysfparrot.service sudo systemctl disable nxdnparrot.service rm /var/log/mmdvm/* cat > /lib/systemd/system/http.server-dvs.service <<- "EOF" [Unit] Description=PHP http.server.DVS 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/dvs/ [Install] WantedBy=multi-user.target EOF # systemctl daemon-reload