Commit graph

19 Commits

Autor SHA1 Nachricht Datum
Claude Dev
7be5edd983 Feature: Overpass Turbo + VLM-Bildanalyse
Overpass Turbo Integration:
- POST /api/overpass/query: OverpassQL-Proxy mit Caching, Rate-Limiting, Fallback
- GET /api/overpass/templates: 30 OSINT-Templates in 6 Kategorien
- Frontend: Query-Editor Panel mit Template-Browser, Viewport-BBox
- Layer: Nodes/Ways/Relations Rendering auf CesiumJS mit OSM-Tag InfoBox

VLM-Bildanalyse:
- POST /api/vlm/analyze: Bildupload -> Claude Code headless (Sonnet) -> GEOINT-Analyse
- POST /api/vlm/generate-queries: VLM-Erkennungen -> OverpassQL
- Frontend: Drag&Drop Upload, Zwei-Stufen-Workflow (Analyse -> Overpass-Suche)
- Bild-Resize (Pillow), asyncio Subprocess, Semaphore (max 1 parallel)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 00:03:01 +01:00
Claude Dev
ed7db697f1 Einheitliches AegisSight Favicon (SVG) hinzugefügt
- favicon.svg (AegisSight Schild-Logo) hinzugefügt
- index.html + login.html: Favicon-Referenzen ergänzt
2026-03-25 00:12:58 +01:00
Claude Dev
4b731823e6 Schiffsverkehr: Typ-Filter, Kurslinien, Dark Ships
SCHIFFSTYP-FILTER:
- 6 Kategorien: Tanker (rot), Cargo (orange), Passagier (gruen),
  Fischerei (blau), Militaer (magenta), Sonstige (grau)
- Einzeln ein-/ausblendbar via Checkboxen im Panel
- Farbkodierte Punkte nach Schiffstyp

KURSLINIEN-PROJEKTION:
- Zuschaltbar per Checkbox
- Zeigt 30min-Vorausprojektion basierend auf COG + SOG
- Farblich passend zum Schiffstyp, halbtransparent

DARK SHIPS ERKENNUNG:
- Backend erkennt Schiffe die >10min kein AIS-Update senden
- Positionshistorie (letzte 10 Positionen) gespeichert
- API-Endpoint: GET /api/ships/dark
- Verdaechtig wenn vorher aktiv (SOG>0.5) und jetzt still

Backend: ship_type aus AISStream MetaData gespeichert,
AIS-Typcode zu Kategorie klassifiziert (IMO Standard).
2026-03-24 23:21:06 +01:00
Claude Dev
b8d6ed9442 Sonnenterminatur + Zeitzonen-Overlay
SONNENTERMINATUR:
- Echtzeit Tag/Nacht-Grenze als orange Linie auf dem Globus
- Nachtseite als halbtransparenter schwarzer Schatten
- Basiert auf Sonnendeklination + UTC-Zeit
- Aktualisiert jede Minute

ZEITZONEN:
- 24 vertikale Linien (alle 15 Grad Laengengrad)
- Jede Zone zeigt aktuelle Uhrzeit (z.B. UTC+2 14:30)
- Labels bei Zoom (<8000km) sichtbar
- Aktualisiert jede Minute

Alle Features der ersten Tabelle nun implementiert.
2026-03-24 23:07:24 +01:00
Claude Dev
fd9e6558db 5 neue Layer: Militaerflug, Seekabel, Infrastruktur, ISS Tracker
MILITAERFLUGVERKEHR (adsb.lol /v2/mil):
- ~254 Militaerflugzeuge weltweit in Echtzeit (rot)
- Callsign-Labels bei Zoom (RCH=USAF, GAF=Luftwaffe etc.)
- Klick zeigt: Callsign, Registration, Typ, Hoehe, Squawk
- 20s Refresh

SEEKABEL (TeleGeography):
- Untersee-Glasfaserkabel als cyan-Linien auf dem Globus
- ~500+ internationale Kabelverbindungen
- Geopolitisch relevant (Sabotage, Abhoerung)

INFRASTRUKTUR (OpenStreetMap Overpass):
- 348 Kernkraftwerke weltweit (gelb mit Orange-Rand)
- Militaerflughaefen (rot)
- Labels bei Zoom (<500km)
- 24h Cache (statische Daten)

ISS TRACKER (Open-Notify API):
- Echtzeit-Position der ISS (roter Punkt, 420km Hoehe)
- 5s Refresh, prominentes Label
- Klick zeigt Details

Backend: data_military.py, data_infra.py (2 neue Dateien)
Frontend: military.js, cables.js, infra.js, iss.js (4 neue Dateien)
2026-03-24 23:05:43 +01:00
Claude Dev
324f42e4a7 Satellitenbilder-Switcher: 9 Imagery-Quellen
Dropdown im Layer-Panel unter SATELLITENBILDER:
- Cesium Ion (Standard, photorealistisch mit Terrain)
- Esri World Imagery (hochaufloesend, 0.3-1m)
- Sentinel-2 2024/2023/2022/2020/2018 (ESA Copernicus, historisch)
- OpenTopoMap (topographische Karte)
- OpenStreetMap (Referenz)

Sentinel-2 historisch ermoeglicht Vorher/Nachher-Vergleiche:
z.B. Waldbraende, Ueberschwemmungen, Infrastruktur-Veraenderungen.
Alle Quellen kostenlos, kein API-Key, volle CORS-Unterstuetzung.
2026-03-24 21:53:48 +01:00
Claude Dev
e8a9e49dba Neue Features: Regenradar, Ortssuche, City-Links, Fadenkreuz
REGENRADAR (RainViewer):
- Weltweit Niederschlagsradar als Overlay, kostenlos, kein API-Key
- 5min Refresh, 60% Transparenz

ORTSSUCHE (Nominatim/OpenStreetMap):
- Suchfeld im Header, Ergebnisse als Dropdown
- Klick fliegt zur Position
- Deutsche Ergebnisse

CITY QUICK-LINKS:
- 12 strategische Staedte als Schnellnavigation unter dem Header
- Berlin, Washington, Moskau, Peking, Tokio, London, Paris,
  Teheran, Kiew, Jerusalem, Taipei, Hormuz

FADENKREUZ + RANGE RINGS:
- Zuschaltbar im Panel
- Horizontale/vertikale Linie + 3 konzentrische Ringe
- Gruener taktischer Stil
2026-03-24 21:48:29 +01:00
Claude Dev
be585590be OSINT Monitor Toggle entfernt — automatische Integration
Kein separater OSINT Monitor Layer mehr im Panel.
Bei Lage-Auswahl im Header passiert automatisch:
1. Monitor-Standorte werden auf dem Globus angezeigt (rote Punkte)
2. Katastrophen-Klick zeigt passende Monitor-Artikel zum Ort
3. Keine Lage = keine Monitor-Daten

Flow: Lage waehlen -> Monitor-Daten laden -> Katastrophen
zeigen ortsspezifische Artikel beim Klick.
2026-03-24 13:50:20 +01:00
Claude Dev
0944b12e2d Lage-Auswahl im Header + dynamischer Monitor-Feed
Dropdown in der Top-Leiste zeigt alle oeffentlichen Lagen.
[L] = Live-Monitoring, [R] = Recherche.
Immer nur eine Lage aktiv. Bei Auswahl:
- OSINT Monitor Layer zeigt nur Daten dieser Lage
- Klick auf Katastrophen zeigt Summary dieser Lage
- Sidebar zeigt Punkte dieser Lage
Ohne Auswahl: kein Monitor-Overlay.
2026-03-24 13:30:52 +01:00
Claude Dev
65a30e0d06 Rechte Sidebar + Monitor-Feed nur Naturkatastrophen
SIDEBAR (neu):
- Aufklappbare Uebersicht aller aktiven Datenpunkte rechts
- Suchfeld filtert alle Eintraege
- Sektionen: OSINT Monitor, Katastrophen (auffaecherbar)
- Flug/Schiff/Satelliten als Zaehler
- Klick auf Eintrag fliegt zur Position
- Ein-/ausklappbar per Pfeil-Button am rechten Rand

MONITOR-FEED FIX:
- Nur Lage 45 (Naturkatastrophen international) wird abgefragt
- Keine anderen Lagen mehr im Globe sichtbar
2026-03-24 13:29:43 +01:00
Claude Dev
68387f89fd OSINT Monitor Layer + Erdbeben in Katastrophen zusammengefuehrt
MONITOR LAYER (neu):
- Neuer Top-Layer "OSINT Monitor" im Panel
- Zeigt geoparsete Standorte aus Monitor-Lagen auf dem Globus
- Farbkodiert: rot=Hauptgeschehen, orange=Reaktionen, blau=Beteiligte
- Labels mit Ortsname + Artikelanzahl bei Zoom
- 2min Refresh, GeoJSON vom Monitor Public API

KATASTROPHEN (erweitert):
- Erdbeben-Layer in Katastrophen integriert (kein separater Toggle mehr)
- Laedt NASA EONET + USGS parallel
- Erdbeben als farbige Punkte (rot=frisch, gelb=alt) mit M-Label
- Katastrophen-Toggle zeigt jetzt alles: Waldbraende, Vulkane,
  Stuerme, Fluten UND Erdbeben
2026-03-24 13:11:34 +01:00
Claude Dev
15725e9f81 Mouse-Over Tooltips fuer alle Layer und Visual Modes
Jedes interaktive Element hat einen erklaerenden Tooltip:
- Layer-Checkboxen: Datenquelle, Refresh-Rate, Anzahl
- Layer-Namen: Inhalt und Farbkodierung
- Visual Modes: Erklaerung des Effekts
- Custom CSS-Tooltips passend zum Dark-Theme
2026-03-24 12:54:46 +01:00
Claude Dev
9b4ea4cd28 Neue Features: Satelliten-Orbits, Naturkatastrophen, Visual Modes
SATELLITEN (CelesTrak TLE):
- Raumstationen (ISS), GPS, Galileo, Wetter, Erdbeobachtung, Starlink
- Echtzeit-Positionsberechnung aus Kepler-Elementen (2s Update)
- Orbitbahnen als leuchtende Linien (Stationen, GPS, Galileo)
- Farbkodiert nach Gruppe (rot=Station, orange=GPS, blau=Galileo)

NATURKATASTROPHEN (NASA EONET):
- Waldbraende, Vulkane, Stuerme, Fluten, Erdrutsche, Eis
- Farbige Punkte mit Emoji-Labels
- Klick zeigt Details und Quellen

VISUAL MODES:
- STD: Standard-Ansicht
- NVG: Nachtsicht (gruener Monochrom-Filter)
- FLIR: Thermal-Ansicht (invertiert, Infrarot-Look)
- CRT: Retro-Monitor (Scanlines, Vignette)

4 neue Dateien: satellites.js, disasters.js, visualmodes.js,
data_satellites.py, data_disasters.py
2026-03-24 12:50:04 +01:00
Claude Dev
1c462c3041 Fix: Nur Ortsnamen beim Start aktiv, alle Daten-Layer aus 2026-03-24 12:37:55 +01:00
Claude Dev
6f4c5ab3a6 Ladebalken bei Layer-Aktivierung + Ortsnamen-Rendering verbessert
- Animierter Ladebalken unter jedem Layer-Toggle bei Datenabruf
- Status-Text (Lade Daten.../Fehler beim Laden)
- Fetch-Wrapper: nur 401 redirected zum Login, nicht 403
- Ortsnamen: minimumLevel, tileWidth/Height, LINEAR Texture-Filter
  fuer konsistente Schriftgroessen beim Laden
2026-03-24 12:22:21 +01:00
Claude Dev
01f0b375e7 Ortsnamen standardmaessig aktiv 2026-03-24 12:19:57 +01:00
Claude Dev
338e082467 Auth: Magic Link Login + Globe-Zugangssteuerung
- Magic Link Login (E-Mail + 6-stelliger Code)
- JWT-basierte Session (24h)
- Prueft: is_active=1 UND globe_access=1
- Akzeptiert auch Monitor-JWT-Tokens (Kompatibilitaet)
- Globe-spezifisches E-Mail-Template (Dark Theme)
- Alle Daten-APIs hinter Auth-Middleware
- Login-Seite mit taktischem Design
- Auto-Redirect bei fehlendem/abgelaufenem Token
- Fetch-Wrapper injiziert Authorization Header automatisch
2026-03-24 11:57:00 +01:00
Claude Dev
785c9b1e9e Alle Layer standardmaessig deaktiviert beim Start
Keine Checkbox vorausgewaehlt, keine Layer auto-gestartet.
Nutzer aktiviert gewuenschte Layer manuell.
2026-03-24 11:39:28 +01:00
Claude Dev
30410f95dc AegisSight Globe: Initiales Release
Eigenstaendige GEOINT-Anwendung mit CesiumJS 3D-Globus.
Echtzeit-Datenlayer: Flugverkehr (airplanes.live, 64 Stuetzpunkte),
Schiffsverkehr (AISStream.io WebSocket), Erdbeben (USGS),
Nachrichten (GDELT GEO). FastAPI Backend, taktisches Dark-UI.
2026-03-24 11:21:27 +01:00