SkyRecon

OSINT CLI for aircraft + vessels — race-not-fallback sources, proximity, geofence, PDF

v1.0.1
Linux

Quick Start

Install via jcli

jcli install skyrecon

Live position

# Aircraft — races OpenSky / ADSB.lol / Airplanes.live in parallel
skyrecon track --icao 4ca123

# Vessel
skyrecon track --mmsi 211234560

# Identity + metadata
skyrecon id --icao 4ca123

Area sweeps + reverse-geo

# Named region preset
skyrecon bbox --preset ENGLISH_CHANNEL --type both --limit 50

# Custom bbox
skyrecon bbox --lat1 49.4 --lon1 5.7 --lat2 50.2 --lon2 6.6

# What is overhead this point?
skyrecon geo --lat 49.6 --lon 6.2 --radius 25

Persistent monitor + geofence (NEW)

# Watch + fire APPEARED / MOVED / LOST events
skyrecon watch --icao 4ca123 --interval 30

# NEW: alert on entry/exit of a 25km radius around Luxembourg
skyrecon watch --icao 4ca123 --alert-near 49.6,6.2,25

# Pipe alerts to a Signal webhook
SIGNAL_WEBHOOK=https://… skyrecon watch --icao 4ca123

NEW v1.0: proximity / airport / port / replay

# Find every aircraft / vessel pair currently within 5 km of each other
skyrecon proximity --preset ENGLISH_CHANNEL --max-km 5

# Aircraft within 25km of London Heathrow (IATA or ICAO code)
skyrecon airport LHR

# Vessels within 50km of Rotterdam (UN/LOCODE)
skyrecon port NLRTM

# Replay a saved history file at 100× wall-clock for downstream analytics
skyrecon replay session.jsonl --speed 100 --ndjson

PDF dossier + Tor anonymity

# Generate an OSINT PDF report (cover, identity, history table, stats, raw JSON)
skyrecon report --icao 4ca123 --hours 48

# Route every HTTP call through Tor SOCKS5 (or set SKYRECON_TOR)
skyrecon --tor track --icao 4ca123

What's new in v1.0 (Rust rewrite)

Subcommands

CommandWhat it does
trackReal-time position (race-not-fallback across sources)
idIdentity + metadata (registration, operator, flag country)
bboxGeo bounding-box area sweep with presets
historyTrack replay with timestamps (GeoJSON LineString-ready)
watchPersistent monitor + Signal webhook + --alert-near
fleetEnumerate every ICAO24 for an operator
geoWhat is overhead a coordinate right now
reportGenerate a full OSINT PDF dossier
proximity NEWFind target pairs within K km of each other
airport NEWAircraft around a given airport (ICAO/IATA)
port NEWVessels around a given port (UN/LOCODE)
replay NEWStream a saved history file as a time-series

Credentials

SkyRecon works without credentials but more sources unlock the full API. Set in env (or ~/.skyrecon/.env):

VariableSource
OPENSKY_USER + OPENSKY_PASSOpenSky Network — higher rate budget + history endpoint
AISHUB_USERAISHub — vessel live positions (free signup)
POSITIONAPI_URLSelf-hosted position-api — vessel history + bbox
SIGNAL_WEBHOOKWebhook URL for watch-mode alert delivery
SKYRECON_TORSOCKS5 URL override for --tor (default socks5h://127.0.0.1:9050)