adsb-receiver/bash/feeders/airplaneslive.sh

119 wiersze
4.8 KiB
Bash
Executable File

#!/bin/bash
## PRE INSTALLATION OPERATIONS
source $RECEIVER_BASH_DIRECTORY/variables.sh
source $RECEIVER_BASH_DIRECTORY/functions.sh
clear
log_project_title
log_title_heading "Setting up the Airplanes.live client"
log_title_message "------------------------------------------------------------------------------"
if ! whiptail --backtitle "${RECEIVER_PROJECT_TITLE}" \
--title "Airplanes.live Feeder Client Setup" \
--yesno "The airplanes.live feeder client takes data from a local dump1090 instance and shares this with airplanes.live. for more information please see their website:\n\n https://airplanes.live/how-to-feed/\n\nContinue setup by installing the airplanes.live feeder client?" \
13 78; then
echo ""
log_alert_heading "INSTALLATION HALTED"
log_alert_message "Setup has been halted at the request of the user"
echo ""
log_title_message "------------------------------------------------------------------------------"
log_title_heading "Airplanes.live client setup halted"
echo ""
exit 1
fi
## CHECK FOR PREREQUISITE PACKAGES
log_heading "Installing packages needed to fulfill FlightAware Dump1090 decoder dependencies"
check_package net-tools
## DOWNLOAD AND EXECUTE THE AIRPLANES.LIVE CLIENT INSTALL SCRIPT
log_heading "Begining the airplanes.live client installation process"
log_message "Informing the user of how the installation process will work"
whiptail --backtitle "${RECEIVER_PROJECT_TITLE}" \
--title "Airplanes.live Client Setup" \
--msgbox "Scripts supplied by airplanes.live will be used in order to install or upgrade this system. Interaction with the script exececuted will be required in order to complete the installation." \
10 78
if [[ ! -d $RECEIVER_BUILD_DIRECTORY/airplaneslive ]]; then
log_message "Creating the airplanes.live build directory"
echo ""
mkdir -v $RECEIVER_BUILD_DIRECTORY/airplaneslive 2>&1 | tee -a $RECEIVER_LOG_FILE
echo ""
fi
log_message "Entering the airplanes.live build directory"
cd $RECEIVER_BUILD_DIRECTORY/airplaneslive
log_message "Downloading the airplanes.live client installation script"
echo ""
wget -v -O $RECEIVER_BUILD_DIRECTORY/airplaneslive/install.sh https://raw.githubusercontent.com/airplanes-live/feed/main/install.sh 2>&1 | tee -a $RECEIVER_LOG_FILE
log_message "Executing the airplanes.live client installation script"
echo ""
sudo bash $RECEIVER_BUILD_DIRECTORY/airplaneslive/install.sh
echo ""
## CHECK THE STATUS OF THE CLIENT
log_heading "Checking if the reciver is now feeding airplanes.live"
log_message "Checking for connections on ports 30004 and 31090 to IP address 78.46.234.18"
netstat_output=`netstat -t -n | grep -E '30004|31090'`
if [[ $netstat_output == *"78.46.234.18:30004 ESTABLISHED"* && $netstat_output == *"78.46.234.18:31090 ESTABLISHED"* ]]; then
log_message "This device appears to be connected to airplanes.live"
else
echo ""
log_alert_message "The receiver does not appear to be feeding airplanes.live at this time"
log_alert_message "Please reboot your device and run the command 'netstat -t -n | grep -E '30004|31090' to see if a connection has been astablished"
log_alert_message "If the issue presists supply the last 20 lines given by the following command on the airplanes.live discord"
log_alert_message " 'sudo journalctl -u airplanes-feed --no-pager'"
log_alert_message " 'sudo journalctl -u airplanes-mlat --no-pager'"
fi
## INSTALL THE AIRPLANES.LIVE WEB INTERFACE
log_heading "Starting the airplanes.live web interface setup process"
log_message "Asking if the user wishes to install the ADS-B Exchange web interface"
if whiptail --backtitle "${RECEIVER_PROJECT_TITLE}" \
--title "Airplanes.live Web Interface Setup" \
--yesno "Airplanes.live offers the option to install an additional web interface.\n\nWould you like to install the web interface now?" \
12 78; then
echo ""
log_message "Executing the airplanes.live web interface installation script"
echo ""
sudo bash sudo bash /usr/local/share/airplanes/git/install-or-update-interface.sh
else
log_message "The user opted out of installing the airplanes.live web interface"
fi
## POST INSTALLATION OPERATIONS
whiptail --backtitle "${RECEIVER_PROJECT_TITLE}" \
--title "Airplanes.live Client Setup Complete" \
--msgbox "Setup of the airplanes.live client is now complete. You can check your feeder status at https://airplanes.live/myfeed." \
12 78
## SETUP COMPLETE
log_message "Returning to ${RECEIVER_PROJECT_TITLE} root directory"
cd $RECEIVER_ROOT_DIRECTORY
echo ""
log_title_message "------------------------------------------------------------------------------"
log_title_heading "Airplanes.live client setup is complete"
echo ""
read -p "Press enter to continue..." discard
exit 0