osint-dashboard/app
Sirius DevOps 12262d1562
All checks were successful
build-and-deploy / build (push) Successful in 2m23s
cameras: RTSP preview via ffmpeg, stop opening VLC, drop masscan to 200pps
Masscan finds are rtsp:// with no snapshot_url, so the popup skipped the
<img> and the leftover source link handed the OS an rtsp:// URL (VLC).

- Popup always hits /api/cameras/{id}/snapshot (HTTP stills, then one
  ffmpeg frame grab). No credentials. 10s hard timeout.
- rtsp:// is rendered as text, never as an href.
- ffmpeg added to the app image for the RTSP still/MJPEG path.
- Default MASSCAN_RATE 200 (1k/10k saturated the home uplink).
2026-08-24 23:36:34 -04:00
..
static cameras: RTSP preview via ffmpeg, stop opening VLC, drop masscan to 200pps 2026-08-24 23:36:34 -04:00
camera_config.py Camera scraper: live public source (fury999io/public-ip-cams), markdown-list parser, batch IP geolocation via ip-api; fix empty-env fallback so default source applies 2026-08-24 21:03:33 -04:00
camera_models.py Add open IP camera discovery scraper (OSINT map) 2026-08-24 14:54:51 -04:00
camera_preview.py cameras: RTSP preview via ffmpeg, stop opening VLC, drop masscan to 200pps 2026-08-24 23:36:34 -04:00
camera_scraper.py Camera scraper: live public source (fury999io/public-ip-cams), markdown-list parser, batch IP geolocation via ip-api; fix empty-env fallback so default source applies 2026-08-24 21:03:33 -04:00
config.py fires: default FIRMS_DAYS to 2 (NRT latency leaves day=1 empty) 2026-08-24 22:07:51 -04:00
database.py Add NASA FIRMS active-fire ingest + /api/fires; API keys management page 2026-08-24 15:37:42 -04:00
docker-entrypoint.sh Run migrations via entrypoint (alembic upgrade head) instead of nested asyncio.run in startup hook 2026-07-07 18:24:01 -04:00
fire_sources.py fires: append FIRMS day-range param; API 400s without it 2026-08-24 21:32:55 -04:00
gibs_map.py Map: clamp GIBS daily-layer latest to yesterday UTC — today's mosaic isn't ingested yet at 00:xx UTC so tiles 404'd and the map went black 2026-08-24 20:47:50 -04:00
ingest_cron.py first commit 2026-06-04 20:30:04 -04:00
ingestor.py Ingestor: update JetStream stream subjects on startup so events.camera gets covered (add_stream silently no-ops when stream exists) 2026-08-24 21:19:20 -04:00
keystore.py Add NASA FIRMS active-fire ingest + /api/fires; API keys management page 2026-08-24 15:37:42 -04:00
main.py cameras: RTSP preview via ffmpeg, stop opening VLC, drop masscan to 200pps 2026-08-24 23:36:34 -04:00
masscan_config.py cameras: RTSP preview via ffmpeg, stop opening VLC, drop masscan to 200pps 2026-08-24 23:36:34 -04:00
masscan_scanner.py masscan: active RTSP (554) camera discovery service 2026-08-24 22:23:36 -04:00
models.py Add news pipeline: hourly scraper + Gemini summarizer in compose 2026-08-24 17:28:46 -04:00
requirements.txt Containerize for Pi: env-var config, compose stack, CI workflow 2026-07-07 17:50:51 -04:00
run_camera_service.py Add open IP camera discovery scraper (OSINT map) 2026-08-24 14:54:51 -04:00
run_ingester.py Add NASA FIRMS active-fire ingest + /api/fires; API keys management page 2026-08-24 15:37:42 -04:00
run_masscan_service.py masscan: active RTSP (554) camera discovery service 2026-08-24 22:23:36 -04:00
schemas.py Add news pipeline: hourly scraper + Gemini summarizer in compose 2026-08-24 17:28:46 -04:00
sources.py Wire ingestion: long-running ingester (sources->NATS->Postgres), fix nats-py API (durable=/LIMITS), drop UUID source_id on RSS 2026-07-07 19:35:28 -04:00