Ecosyste.ms: Awesome

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

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: 26 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.

Lists

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]
```