Real-time geospatial OSINT intelligence dashboard
Find a file
Sirius DevOps 665aaec22f feat(aircraft): planespotters.net photo in aircraft popup
Add planespotters.net latest-photo lookup for ADS-B aircraft.

- app/live_layers.py: fetch_planespotters_photo() (hex preferred, reg
  fallback) + _normalize_planespotter_photo(); 24h TTL cache (their ToS cap).
- app/main.py: GET /api/aircraft/photo?hex=...|reg=... (422/404/502).
- app/static/index.html: .ps-photo block in ADS-B popup; lazy load on
  popupopen; thumbnail links to photo page + photographer credit.

Server-side proxy, not browser fetch(): planespotters 403s any request
carrying an Origin header (every browser fetch() sends one). The thumbnail
binary is loaded by the browser straight from their CDN, never re-hosted.

Tests: 4 unit + 4 API contract (38 pass in the two files).
2026-08-28 22:58:04 -04:00
.forgejo/workflows fix(ci): recreate named compose containers without collisions 2026-08-28 20:36:03 -04:00
alembic feat: 23:00 daily news recap; prompts drop futures 2026-08-28 22:53:31 -04:00
app feat(aircraft): planespotters.net photo in aircraft popup 2026-08-28 22:58:04 -04:00
deploy fix: pipeline reliability — WS, summarizer, ingest, health 2026-08-28 21:49:05 -04:00
docs feat: 23:00 daily news recap; prompts drop futures 2026-08-28 22:53:31 -04:00
news feat: 23:00 daily news recap; prompts drop futures 2026-08-28 22:53:31 -04:00
scripts fix(ci): recreate named compose containers without collisions 2026-08-28 20:36:03 -04:00
tests feat(aircraft): planespotters.net photo in aircraft popup 2026-08-28 22:58:04 -04:00
.dockerignore Containerize for Pi: env-var config, compose stack, CI workflow 2026-07-07 17:50:51 -04:00
.env.example feat: continuous news scrape + 15-min analyst, expand urls.txt 2026-08-28 20:53:32 -04:00
.gitignore Add NASA FIRMS active-fire ingest + /api/fires; API keys management page 2026-08-24 15:37:42 -04:00
alembic.ini Containerize for Pi: env-var config, compose stack, CI workflow 2026-07-07 17:50:51 -04:00
docker-compose.yml feat: 23:00 daily news recap; prompts drop futures 2026-08-28 22:53:31 -04:00
Dockerfile cameras: RTSP preview via ffmpeg, stop opening VLC, drop masscan to 200pps 2026-08-24 23:36:34 -04:00
Dockerfile.pg Fix Dockerfile.pg: mkdir conf.d before writing timescaledb preload 2026-07-07 18:17:31 -04:00
IDEA.md ci: retrigger deploy (previous run raced the force-push) 2026-08-27 17:42:03 -04:00
pytest.ini fix: pipeline reliability — WS, summarizer, ingest, health 2026-08-28 21:49:05 -04:00