Skip to content

Commit

Permalink
Merge pull request #586 from jprochazka/jobs
Browse files Browse the repository at this point in the history
v2.8.4 (Should be back to where we were now.)
  • Loading branch information
jprochazka authored Jul 14, 2024
2 parents 68671e1 + b7afe4a commit 1792d3e
Show file tree
Hide file tree
Showing 20 changed files with 770 additions and 640 deletions.
18 changes: 14 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,23 @@

The following is a history of the changes made to this project.

## v2.8.3 *(July 7th, 2024)* :chicken:
## v2.8.4 *(July 13th, 2024)* :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 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 page displaying plots now shows missing data in the side bar revealing when clicking on marker.
* Added images to the side bar displayed when the marker is clicked when viewing the plots page.
* The flights page now only shows links when position information is present in the database.

## v2.8.3 *(July 7th, 2024)* :chicken:

* Added the option to install the Fly Italy ADS-B feeder client.
* Tested installation processes on Armbian Bookworm.
* Tested installation processes on Armbian Jammy.
Expand All @@ -16,9 +29,6 @@ The following is a history of the changes made to this project.
* The --branch <branch_name> and -b <branch_name> parameters properly specify the branch to use.
* Fixed issue noticed in the line downloading the Duck DNS log during setup.
* Refactoring and standards compliance changes were made to multiple bash scripts.

### Portal

* The proper collectd CPU temperature configuration is inserted for Raspberry PI 4 Model B devices.

## v2.8.2 *(June 29th, 2024)* :baby_chick:
Expand Down
61 changes: 33 additions & 28 deletions CREDITS.md
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -29,37 +27,44 @@ directly. Their time and effort is greatly appreciated by myself as well as many
* @Romeo-Golf
* @g0wfv

## The Flight Tracking Community

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.
they have put in in order to create useful and informative places to discuss aircraft tracking.

* The FlightAware Forums: http://discussions.flightaware.com
* The PlaneFinder Forums: http://forum.planefinder.net
* 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 Developers

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.

* 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.

## Third Party Software
* Flightradar24: https://flightradar24.com
* OpenSky Network: https://opensky-network.org
* Plane Finder: https://planefinder.net

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.
Yet another thanks goes out to those kind enough to share their photographs the community as well as
those hosting these images and make them avaiable for us to use in projects such as this.

* 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
* https://www.planespotters.net
58 changes: 26 additions & 32 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

This project continues to realize that for some, Docker and premade images are not the most optimal solution.

It would seem as of late the move towards premade and as well as Docker and other PaaS images with preinstalled software are the rage within the community. The problem is Docker images require additional software and overhead in order to run and premade images lack installation options. Solutions such as these come preinstalled with software you may never wish to use as part of the image. What this project offers is the possibility for less overhead and better performance, depending on your installation choices of course, on a wide range of devices and hardware archetectures while installing only the applications you want natively.
It would seem as of late the move towards premade as well as Docker and other PaaS images with preinstalled software has become popular within the community. Docker images require additional software and overhead in order to run and premade images lack installation options. Most of these solutions come with preinstalled software you may never use as part of the image as well. This project offers the ability to choose and install only what you want or need across a wide range of devices with minimal command line experience.

## Obtaining And Using This Software

Expand Down Expand Up @@ -32,56 +32,50 @@ 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.

*It is highly recommended that anyone using a SD card as they storage medium not attempt to use the advanced features.*

### 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

The project currently supports the following Linux distributions.

* Armbian Bookworm
* Armbian Jammy
* Debian Bookworm
* Debian Bullseye
* DietPi (Bookworm)
* DietPi (Bullseye)
* Rasbperry PI OS (Bookworm)
* Rasbperry PI OS Legacy (Bullseye)
* 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
* Armbian _(Bookworm and Jammy)_
* Debian _(Bookworm and Bullseye)_
* DietPi _(Bookworm aand Bullseye)_
* Rasbperry PI OS _(Bookworm and Bullseye)_
* Ubuntu _(Jammy Jellyfish and Focal Fossa)_

_Support is available via this repository through the use of the issue tracker or discussions._

[Support for Ubuntu Noble Numbat is on hold due to incompatibilities with PiAware's MLAT client.](https://github.com/jprochazka/adsb-receiver/issues/575)
113 changes: 113 additions & 0 deletions bash/feeders/airplaneslive.sh
Original file line number Diff line number Diff line change
@@ -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
29 changes: 28 additions & 1 deletion bash/main.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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.
Expand Down Expand 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
Expand Down Expand Up @@ -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"
;;
Expand All @@ -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
Expand Down
Loading

0 comments on commit 1792d3e

Please sign in to comment.