gourcetools / NostrAirTracker

Aka elonjet | The application allows users to monitor the position, speed, and altitude of specified aircraft, then determine his status and publish accordingly to the Nostr Network.

Home Page:https://nostr.band/npub1qqqqpza762tx3vjrxt7f94eyxej6z4h5yx4hlvy0mnq7r085hsfqtfyr5n

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NostrAirTracker


The application allows users to monitor a specified aircraft.
Determine his status & publish accordingly to Nostr.
No API keys needed. Simple setup.

✔️ How to use NostrAirTracker?

 git clone https://github.com/gourcetools/NostrAirTracker
 cd ./NostrAirTracker
 ./INSTALL.sh
 ./SETUP.sh
 ./START-CRAWLER.sh

And if you want to publish stuff to nostr, run

 ./START-PUBLISHER.sh

image

NostrAirTracker
├── config
│ ├── ICAO-ID.txt ICAO id that we will track
│   ├── NOSTR-HEX-PRIVKEY.txt nostr key that we will use to publish
│   └── PUP-BROWSER-LOCATION.txt path to the browser Puppeteer will use to crawl
├── data
│   └── airports.dat airports locations used to determine where the plane is
├── INSTALL.sh script to install node and python stuff
├── SETUP.sh script to setup ICAO-ID, PRIVKEY and BROSWER LOCATION
├── src
│   ├── combine.py script to combine screenshots
│   ├── crawled-position-to-airport.py script to convert position to airport name
│   ├── crawl-position.js script to crawl position
│   ├── crawl-speed-altitude-loop.js MAIN SCRIPT to to crawl data and determine plane status
│   ├── nostr-publish-loop.sh PUBLISHING SCRIPT that publish when status change
│   └── screenshot.js script to take 2 screenshoots: one far away, one zoomed in
├── START-CRAWLER.sh script to start the main crawler loop quickly.
└── START-PUBLISHER.sh script to start the main publisher loop quickly.

Done:

  • 📡 Crawl: - Speed - Altitude - LastSeen - LAT & LONG (Position)
  • 🧠 Determine: - Plane status based on last data and freshly crawled data. - Airport name based on LAT & LONG
  • 📢 Send status update to nostr network. | `KIND: 1
  • 📷 Take screenshoots.
  • Post screenshoots with status update.

Todo:

  • Simple shell Menu.
  • Use tor for crawling to avoid being blocked in the future.
  • Remove completely nostr-publisher.sh and put it inside the main loop with settings in the main menu for publishing.
  • Shell menu.
  • Support for more relays, import relays list from a file in config folder instead of hardcoded variables.

Problems:

  • Written by me.

⚙️ Requirements:


🙋‍♂️ Need help?

Nostr:

hex:

0000005cc4586681ad8e7f4b75436fb7904b0e34ff072bb3406ddb90226d7eab 

npub:

npub1qqqqqhxytpngrtvw0a9h2sm0k7gykr35lurjhv6qdhdeqgnd064swghgx4 

nip05:

gourcetools@gourcetools.github.io 

About

Aka elonjet | The application allows users to monitor the position, speed, and altitude of specified aircraft, then determine his status and publish accordingly to the Nostr Network.

https://nostr.band/npub1qqqqpza762tx3vjrxt7f94eyxej6z4h5yx4hlvy0mnq7r085hsfqtfyr5n

License:MIT License


Languages

Language:JavaScript 55.4%Language:Shell 28.2%Language:Python 16.4%