sco1 / skyportal

A PyPortal based flight tracker
MIT License
1 stars 0 forks source link

Support other flight APIs #14

Closed sco1 closed 10 months ago

sco1 commented 10 months ago

Obviously beggars can't be choosers when using a free API but OpenSky's response time & uptime have been rough recently. It would probably be worthwhile to explore supporting other APIs to drop in as replacement options in the event that the current downtime continues.

From a quick search we have a few options:

sco1 commented 10 months ago

ADSB.lol looks great but I'm not sure if it will be feasible to integrate on-device unless I can make some heroic memory savings elsewhere. With the size of the raw JSON response from ADSB.lol we currently have space in memory for around ~23 aircraft. This isn't nearly enough if the map includes major airports, e.g. KBOS currently has over 100 aircraft in the area.

Alternatively, we could put a proxy server in between the API(s) and the Skyportal but I was hoping to have everything be able to sit on a single device.

sco1 commented 10 months ago

Merging in 935ec1c45e2abd9cd0c1367def79ed2ae29c25db I think takes care of the immediate need here. ADSB.lol integration is technically functional but will choke in areas of high congestion. I believe this is a drop-in match for ADS-B Exchange as well but I've left out official support since I can't test it.

Since OpenSky remains inoperable I decided to go ahead with the proxy server approach personally & created a hopefully reproducible example using AWS. For this use case I think we'll stay well within the limits of the free tier.