Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/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.
https://github.com/gourcetools/NostrAirTracker

ads-b adsb adsbexchange adsbexchange-stats aircraft airport elonjet icao land nostr plane takeoff

Last synced: 24 days ago
JSON representation

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.

Awesome Lists containing this project

README

        

# 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](https://user-images.githubusercontent.com/120996278/225669565-7d060b15-9440-42d8-ae37-b0ae8dc6e179.png)

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:
- [x] 📡 Crawl:
- Speed
- Altitude
- LastSeen
- LAT & LONG (Position)
- [x] 🧠 Determine:
- Plane status based on last data and freshly crawled data.
- Airport name based on ``LAT`` & ``LONG``
- [x] 📢 Send status update to nostr network. | `KIND: 1
- [x] 📷 Take screenshoots.
- [x] 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:

- `node`
- `npm`
- `python`
- `pip`

- `nostril` : https://github.com/jb55/nostril


# 🙋‍♂️ Need help?

### Telegram: https://t.me/bitpaint

### Twitter: https://twitter.com/bitpaintclub

### Nostr:

#### hex:
```
0000005cc4586681ad8e7f4b75436fb7904b0e34ff072bb3406ddb90226d7eab
```
#### npub:
```
npub1qqqqqhxytpngrtvw0a9h2sm0k7gykr35lurjhv6qdhdeqgnd064swghgx4
```
#### nip05:
```
[email protected]
```