Highgaze
High-performance ADS-B data collector and storage system written in Rust.
Features
- Continuous data collection from ADS-B Exchange API
- Binary protocol parsing (binCraft format)
- Delta compression - saves ~85% storage compared to raw format
- Memory-mapped storage for fast indexed access
- Query interface for historical aircraft data
- Bounding box filtering for regional data collection
Installation
Usage
Collecting Data
Start continuous data collection:
# Basic collection (global)
# With delta compression (recommended)
# Regional collection with bounding box
# Track specific aircraft by ICAO hex
Environment variables ADSB_SESSION_ID and ADSB_API_KEY can be used instead of CLI arguments.
Querying Data
Look up records by ICAO address:
# Query all records for an aircraft
# Show only the last 10 records
Storage Statistics
# Raw storage stats
# Delta storage stats
Parse Binary File
For testing/debugging, parse a single binCraft response file:
Options
| Option | Description | Default |
|---|---|---|
-d, --data-path |
Path to data storage | adsb_data |
-l, --log-level |
Log level (trace, debug, info, warn, error) | info |
-i, --interval |
Fetch interval in seconds | 10 |
--delta |
Enable delta compression | disabled |
Architecture
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Client │───>│ Protocol │───>│ Storage │
│ (HTTP) │ │ (Parser) │ │ (Indexed) │
└─────────────┘ └─────────────┘ └─────────────┘
│ │
└─────────────┬───────────────────────┘
v
┌──────────────┐
│ Collector │
│(Orchestrator)│
└──────────────┘
Library Usage
use ;
async
License
MIT