Added support for airplanes.live.

pull/586/head
jprochazka 2024-07-13 15:32:48 -04:00
rodzic 1892ac1462
commit 75839b3a09
5 zmienionych plików z 192 dodań i 51 usunięć

Wyświetl plik

@ -4,9 +4,13 @@ The following is a history of the changes made to this project.
## v2.8.4 *(in development)* :rooster:
## INSTALLERS
* Added the option to install the airplanes.live feeder client and web interface.
### Portal
* Can now toggle daily data purges as well specify the amount of days to keep within the portal.
* Can now toggle daily data purges as well specify the number of days to keep within the portal.
* Rewrote the aircraft.py script and fixed issues found with newer versions of dump1090.
* Rewrote the maintenance.py script and addressed issue mentioned in an incompatible pull request.
* The flights page now only shows links when position information is present in the database.

Wyświetl plik

@ -1,11 +1,9 @@
# Credits :airplane:
## People and Places
## Collaborators and Contributors
First off I would like to thank the collaborators and contributors who have contributed to the project
directly. Their time and effort is greatly appreciated by myself as well as many others I am sure.
**Direct Contributors**
First and foremost I would like to thank the collaborators and contributors who have contributed to
the project directly. Their time and effort is greatly appreciated by myself as well as many others.
* @mgunther68
* @jdwall
@ -29,37 +27,39 @@ directly. Their time and effort is greatly appreciated by myself as well as many
* @Romeo-Golf
* @g0wfv
I would like to thank the members and contributors to the following forums for all the time and effort
they have put in in order to create a useful and informative place to discuss aircraft tracking.
## The Flight Tracking Community
* The FlightAware Forums: http://discussions.flightaware.com
* The PlaneFinder Forums: http://forum.planefinder.net
I would like to thank the members and contributors to the following forums for all the time and effort
they have put in in order to create useful and informative places to discuss aircraft tracking.
* The FlightAware Forums: https://discussions.flightaware.com
* The PlaneFinder Forums: https://forum.planefinder.net
* The ADS-B Exchange Forums: https://adsbx.discourse.group
The performance graphs were created thanks in part to the great contributions made by members of both
the FlightAware and PlaneFinder communities. Through their examples and help posted to the following
threads myself and a couple contributors were able to add these very informative graphs.
threads myself along with other contributors to the cause were able to add these informative graphs.
* http://discussions.flightaware.com/ads-b-flight-tracking-f21/system-monitoring-t26999.html
* http://forum.planefinder.net/threads/web-portal-and-collectd-rrd-graphs-automated-installation.256/
* http://forum.planefinder.net/threads/web-portal-and-collectd-rrd-graphs-automated-installation.256
## Third Party Software
## Third Party Software Developers
I would like to thank the developers and contributors to the following projects. Without their
hard work and dedication this project would not have been possible.
I would like to thank the maintainers and contributors of the following projects. Without their
hard work and dedication to their respective projects this project would not have been possible.
* Dump1090 (fa): https://github.com/flightaware/dump1090
* Dump978 (fa): https://github.com/flightaware/dump978
* FlightAware's PiAware: https://github.com/flightaware/piaware
* Plane Finder ADS-B Client: https://planefinder.net
* Flightradar24 Client: https://www.flightradar24.com
* Dump1090-Tools: https://github.com/mutability/dump1090-tools
* Beast-Splitter https://github.com/flightaware/beast-splitter
* bootpag http://botmonster.com/jquery-bootpag
* Bootstrap: http://getbootstrap.com/
* jQuery: http://jquery.com/
* jQuery Steps: http://www.jquery-steps.com
* js-cookie: https://github.com/js-cookie/js-cookie/releases
* jquery-validation: https://github.com/jzaefferer/jquery-validation
* Google Charts: https://developers.google.com/chart
* Duck DNS http://www.duckdns.com
* ADS-B Exchange Client: https://github.com/adsbexchange/feedclient
* Airplanes.live Client: https://github.com/airplanes-live/feed
* Beast-Splitter: https://github.com/flightaware/beast-splitter
* Dump1090 (FlightAware): https://github.com/flightaware/dump1090
* Dump1090-Tools: https://github.com/mutability/dump1090-tools
* Dump978 (FlightAware): https://github.com/flightaware/dump978
* Fly Italy ADS-B Client: https://github.com/flyitalyadsb/fly-italy-adsb
* PiAware (FlightAware): https://github.com/flightaware/piaware
Thanks also goes out to the developers and the businesses that employ them who work to supply us
with quality closed source packages which they have made available to the community.
* Flightradar24: https://flightradar24.com
* OpenSky Network: https://opensky-network.org
* Plane Finder: https://planefinder.net

Wyświetl plik

@ -32,15 +32,15 @@ The following software can be installed using these scripts.
Included is the option to install the ADS-B Portal which offers the following features.
* Saves all flights seen as well as displays a plot for the flight. (advanced)
* Saves all flights seen as well as displays a plot for the flight.
* Control what is displayed online via a web based administration area.
* A more uniform website site layout that can be easily navigated.
* Web accessible dump1090 and system performance graphs.
* A web accessible live dump1090 map.
* A web accessible live dump978 map.
* Easy access to live dump1090 and dump978 maps.
* A blog which can be used to share your plane tracking experiences with others.
* Informs visitors when specific flights are being tracked by dump1090.
* Easily customize the look of your portal using the template system.
* Visitors can be informed when specific flights are being tracked.
* Administrators can be informed via email when specific flights are being tracked.
* Easily customize the look of your portal using the custom template system.
When setting up the portal you will have to choose between a lite or advanced installation. Advanced features adds flight logging and plotting and should only be chosen on devices running a more sturdy data storage solution.
@ -48,22 +48,23 @@ When setting up the portal you will have to choose between a lite or advanced in
### Decoders
* Dump1090 (FlightAware): https://github.com/flightaware/dump1090
* Dump978 (FlightAware): https://github.com/mutability/dump978
* Dump1090 (FlightAware): https://github.com/flightaware/dump1090
* Dump978 (FlightAware): https://github.com/mutability/dump978
### Feeders
* ADS-B Exchange Feeder Client: https://adsbexchange.com
* FlightAware's PiAware: https://flightaware.com
* Flightradar24 Feeder Client: https://flightradar24.com
* Fly Italy ADS-B Feeder Client: https://flyitalyadsb.com
* OpenSky Feeder Client: https://opensky-network.org
* Plane Finder ADS-B Client: https://planefinder.net
* ADS-B Exchange Feeder Client: https://adsbexchange.com
* Airplanes.live Feeder Client: https://airplanes.live
* FlightAware's PiAware: https://flightaware.com
* Flightradar24 Feeder Client: https://flightradar24.com
* Fly Italy ADS-B Feeder Client: https://flyitalyadsb.com
* OpenSky Feeder Client: https://opensky-network.org
* Plane Finder ADS-B Client: https://planefinder.net
### Extras
* Beast-Splitter: https://github.com/flightaware/beast-splitter
* DuckDNS.org Support: https://www.duckdns.org
* Beast-Splitter: https://github.com/flightaware/beast-splitter
* DuckDNS.org Support: https://www.duckdns.org
## Supported Operating Systems
@ -80,8 +81,4 @@ The project currently supports the following Linux distributions.
* Ubuntu Jammy Jellyfish
* Ubuntu Focal Fossa
## Useful Links
- GitHub Repository - https://github.com/jprochazka/adsb-receiver
- GitHub Wiki - https://github.com/jprochazka/adsb-receiver/wiki
- Changelog - https://github.com/jprochazka/adsb-receiver/blob/master/CHANGELOG.md
_Support is available via this repository through the use of the issue tracker or discussions._

Wyświetl plik

@ -0,0 +1,113 @@
#!/bin/bash
## INCLUDE EXTERNAL SCRIPTS
source $RECEIVER_BASH_DIRECTORY/variables.sh
source $RECEIVER_BASH_DIRECTORY/functions.sh
## BEGIN SETUP
clear
echo -e "\n\e[91m ${RECEIVER_PROJECT_TITLE}"
echo -e ""
echo -e "\e[92m Setting up the airplanes.live feeder client..."
echo -e ""
echo -e "\e[93m ------------------------------------------------------------------------------\e[96m"
echo -e ""
# Confirm component installation.
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 3>&1 1>&2 2>&3; then
echo -e "\e[91m \e[5mINSTALLATION HALTED!\e[25m"
echo -e " Setup has been halted at the request of the user."
echo -e ""
echo -e "\e[93m ------------------------------------------------------------------------------"
echo -e "\e[92m Airplanes.live feeder client setup halted.\e[39m"
echo -e ""
read -p "Press enter to continue..." discard
exit 1
fi
## START FEEDER INSTALLATION
echo -e ""
echo -e "\e[95m Begining the airplanes.live feeder client installation process...\e[97m"
echo -e ""
# Create the component build directory if it does not exist
if [[ ! -d $RECEIVER_BUILD_DIRECTORY/airplaneslive ]]; then
echo -e "\e[94m Creating the airplanes.live feeder client build directory...\e[97m"
echo ""
mkdir -vp $RECEIVER_BUILD_DIRECTORY/airplaneslive
echo ""
fi
# Change to the component build directory
echo -e "\e[94m Entering the airplanes.live feeder client build directory...\e[97m"
cd $RECEIVER_BUILD_DIRECTORY/airplaneslive 2>&1
echo ""
# Download the official airplanes.live feeder installation script
echo -e "\e[95m Beginning the airplanes.live feeder client installation...\e[97m"
echo -e ""
echo -e "\e[94m Downloading the airplanes.live feeder client installation script...\e[97m"
echo ""
wget -v https://raw.githubusercontent.com/airplanes-live/feed/main/install.sh
echo -e "\e[94m Executing the airplanes.live feeder client installation script...\e[97m"
echo ""
sudo bash $RECEIVER_BUILD_DIRECTORY/airplaneslive/install.sh
echo ""
## CHECK THE STATUS OF THE FEEDER
echo -e "\e[95m Checking if the reciver is now feeding airplanes.live...\e[97m"
echo -e ""
"\e[95m Checking for connections on ports 30004 and 31090 to IP address 78.46.234.18...\e[97m"
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"* ]]
"\e[95m The receiver appears to be feeding airplanes.live...\e[97m"
else
"\e[91m The receiver does not appear to be feeding airplanes.live at this time...\e[97m"
"\e[95m Please reboot your device and run the command ''netstat -t -n | grep -E '30004|31090' to see if a connection has been astablished.\e[97m"
"\e[95m If the issue presists supply the last 20 lines given by the following command on the airplanes.live discord.\e[97m"
"\e[95m 'sudo journalctl -u airplanes-feed --no-pager'\e[97m"
"\e[95m 'sudo journalctl -u airplanes-mlat --no-pager'\e[97m"
fi
echo ""
## INSTALL THE AIRPLANES.LIVE 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 -e "\e[95m Begining the airplanes.live web interface installation...\e[97m"
echo ""
echo -e "\e[94m Executing the airplanes.live web interface installation script...\e[97m"
echo ""
sudo bash sudo bash /usr/local/share/airplanes/git/install-or-update-interface.sh
echo ""
fi
## POST INSTALLATION INFORMATION
whiptail --backtitle "${RECEIVER_PROJECT_TITLE}" --title "Airplanes.live Feeder Setup Complete" --msgbox "Setup of the airplanes.live feeder client is now complete. You can check your feeder status at https://airplanes.live/myfeed." 12 78
## SETUP COMPLETE
# Return to the project root directory
echo -e "\e[94m Returning to ${RECEIVER_PROJECT_TITLE} root directory...\e[97m"
cd $RECEIVER_ROOT_DIRECTORY 2>&1
echo -e ""
echo -e "\e[93m ------------------------------------------------------------------------------"
echo -e "\e[92m Airplanes.live feeder client setup is complete.\e[39m"
echo -e ""
read -p "Press enter to continue..." discard
exit 0

Wyświetl plik

@ -42,6 +42,15 @@ function InstallAdsbExchange() {
fi
}
# Execute the airplanes.live setup script.
function InstallAirplanesLive() {
chmod +x ${RECEIVER_BASH_DIRECTORY}/feeders/airplaneslive.sh
${RECEIVER_BASH_DIRECTORY}/feeders/airplaneslive.sh
if [[ $? -ne 0 ]] ; then
exit 1
fi
}
# Execute the Flightradar24 Feeder client setup script.
function InstallFlightradar24() {
chmod +x ${RECEIVER_BASH_DIRECTORY}/feeders/flightradar24.sh
@ -208,6 +217,17 @@ else
FEEDER_LIST=("${FEEDER_LIST[@]}" 'ADS-B Exchange Feeder' '' OFF)
fi
# Check if the airplanes.live feeder has been set up.
if [[ -f /lib/systemd/system/airplanes-feed.service && -f /lib/systemd/system/airplanes-mlat.service ]]; then
# The feeder appears to be set up.
echo "Airplanes.live Feeder (reinstall)" >> ${RECEIVER_ROOT_DIRECTORY}/FEEDER_CHOICES
FEEDER_LIST=("${FEEDER_LIST[@]}" 'Airplanes.live Feeder (reinstall)' '' OFF)
else
# The feeder does not appear to be set up.
echo "Airplanes.live Feeder" >> ${RECEIVER_ROOT_DIRECTORY}/FEEDER_CHOICES
FEEDER_LIST=("${FEEDER_LIST[@]}" 'Airplanes.live Feeder' '' OFF)
fi
# Check if the Fly Italy ADS-B feeder has been set up.
if [[ -f /lib/systemd/system/flyitalyadsb-mlat.service && -f /lib/systemd/system/flyitalyadsb-feed.service ]]; then
# The feeder appears to be set up.
@ -306,7 +326,7 @@ fi
if [[ -n "${FEEDER_LIST}" ]] ; then
# Display a checklist containing feeders that are not installed if any.
whiptail --backtitle "${RECEIVER_PROJECT_TITLE}" --title "Feeder Installation Options" --checklist --nocancel --separate-output "The following feeders are available for installation.\nChoose the feeders you wish to install." 13 65 6 "${FEEDER_LIST[@]}" 2>${RECEIVER_ROOT_DIRECTORY}/FEEDER_CHOICES
whiptail --backtitle "${RECEIVER_PROJECT_TITLE}" --title "Feeder Installation Options" --checklist --nocancel --separate-output "The following feeders are available for installation.\nChoose the feeders you wish to install." 15 65 7 "${FEEDER_LIST[@]}" 2>${RECEIVER_ROOT_DIRECTORY}/FEEDER_CHOICES
else
# Since all available feeders appear to be installed inform the user of the fact.
whiptail --backtitle "${RECEIVER_PROJECT_TITLE}" --title "All Feeders Installed" --msgbox "It appears that all the optional feeders available for installation by this script have been installed already." 8 65
@ -466,6 +486,9 @@ if [[ -s "${RECEIVER_ROOT_DIRECTORY}/FEEDER_CHOICES" ]]; then
"ADS-B Exchange Feeder"|"ADS-B Exchange Feeder (reinstall)")
RUN_ADSBEXCHANGE_SCRIPT="true"
;;
"Airplanes.live Feeder"|"Airplanes.live Feeder (reinstall)")
RUN_AIRPLANESLIVE_SCRIPT="true"
;;
"FlightAware PiAware"|"FlightAware PiAware (upgrade)"|"FlightAware PiAware (reinstall)")
RUN_PIAWARE_SCRIPT="true"
;;
@ -489,6 +512,10 @@ if [[ "${RUN_ADSBEXCHANGE_SCRIPT}" = "true" ]]; then
InstallAdsbExchange
fi
if [[ "${RUN_AIRPLANESLIVE_SCRIPT}" = "true" ]]; then
InstallAirplanesLive
fi
if [[ "${RUN_PIAWARE_SCRIPT}" = "true" || "${FORCE_PIAWARE_INSTALL}" = "true" ]]; then
InstallPiAware
fi