mirror of
https://github.com/koala73/worldmonitor.git
synced 2026-04-25 17:14:57 +02:00
* fix(docs): correct variant count from 4 to 5 Updated overview.mdx and architecture.mdx to reflect all 5 platform variants (World Monitor, Tech Monitor, Happy Monitor, Finance Monitor, Commodity Monitor). Previously only 2 were listed in the table and the text said "four". * fix(docs): correct all numerical inaccuracies across documentation Updated counts verified against actual codebase: - AI datacenters: 111 → 313 - Undersea cables: 55 → 86 - Map layers: 45 → 49 - News sources: 80+ → 344 - Service domains: 22 → 24 - CII countries: 20 → 24 - Military bases: 210/220+ → 226 - Strategic ports: 61/83 → 62 - Airports: 30/107 → 111 - Chokepoints: 6/8 → 9 - Signal entities: 100+/600+ → 66 - Variant count: four → five (added Commodity Monitor) * docs(overview): add Happy, Finance, and Commodity Monitor sections Added detailed documentation sections for the three previously undocumented platform variants, including layers, panels, and news categories for each. * docs(features): document 13 previously undocumented features Added: trade routes, FIRMS fire detection, webcam surveillance, country brief, aviation intelligence panel, climate anomalies, displacement tracking, Gulf economies, WTO trade policy, central banks & BIS, market watchlist, NOTAM closure detection, and offline ML capabilities. * docs: standardize terminology, add cross-references, fix stale refs Phase 4: Renamed "News Importance Scoring" to "Headline Scoring", "Signal Correlation" to "Cross-Stream Correlation". Added cross-refs between CII/convergence, CORS/API-key, maritime/finance chokepoints. Deduplicated Population Exposure content. Clarified hotspot vs focal point distinction. Phase 5: Rewrote daily_stock_analysis as historical context. Added legacy note for api/*.js files. Added OREF 24h rolling history boost and GPS jamming classification thresholds to algorithms.mdx. Fixed orbital-surveillance tier table contradictions. Phase 6: Fixed orphaned markdown separator in orbital-surveillance. * fix(docs): catch remaining stale numbers in secondary doc files Fixed stale counts in data-sources.mdx, strategic-risk.mdx, documentation.mdx, ai-intelligence.mdx, PRESS_KIT.md, and roadmap-pro.md that were missed in the initial pass. * fix(docs): address review findings from fresh-eyes pass - desktop-app.mdx: "four variants" → "five", "22 services" → "24" - infrastructure-cascade.mdx: chokepoints 8 → 9, node total 279 → 350 - data-sources.mdx: chokepoints 8 → 9 - overview.mdx: remove duplicated intro sentence - getting-started.mdx: fix stale file tree comments (AI clusters, airports, entities)
89 lines
3.4 KiB
Plaintext
89 lines
3.4 KiB
Plaintext
---
|
|
title: "Maritime Intelligence"
|
|
description: "Real-time vessel tracking with chokepoint monitoring, traffic density analysis, dark ship detection, and WebSocket-based AIS data streaming."
|
|
---
|
|
The Ships layer provides real-time vessel tracking and maritime domain awareness through AIS (Automatic Identification System) data, monitoring critical chokepoints, detecting anomalous vessel behavior, and streaming position updates over WebSocket connections.
|
|
|
|
## Chokepoint Monitoring
|
|
|
|
The system monitors nine strategic waterways where disruptions could impact global trade:
|
|
|
|
| Chokepoint | Strategic Importance |
|
|
|------------|---------------------|
|
|
| **Strait of Hormuz** | 20% of global oil transits; Iran control |
|
|
| **Suez Canal** | Europe-Asia shipping; single point of failure |
|
|
| **Strait of Malacca** | Primary Asia-Pacific oil route |
|
|
| **Bab el-Mandeb** | Red Sea access; Yemen/Houthi activity |
|
|
| **Panama Canal** | Americas east-west transit |
|
|
| **Taiwan Strait** | Semiconductor supply chain; PLA activity |
|
|
| **Strait of Gibraltar** | Atlantic-Mediterranean gateway; NATO chokepoint |
|
|
| **Bosphorus** | Black Sea access; Turkish straits control |
|
|
| **Dardanelles** | Aegean-Sea of Marmara link; Turkish straits control |
|
|
|
|
## Density Analysis
|
|
|
|
Vessel positions are aggregated into a 2-degree grid to calculate traffic density. Each cell tracks:
|
|
|
|
- Current vessel count
|
|
- Historical baseline (30-minute rolling window)
|
|
- Change percentage from baseline
|
|
|
|
Density changes of +/-30% trigger alerts, indicating potential congestion, diversions, or blockades.
|
|
|
|
## Dark Ship Detection
|
|
|
|
The system monitors for AIS gaps, vessels that stop transmitting their position. An AIS gap exceeding 60 minutes in monitored regions may indicate:
|
|
|
|
- Sanctions evasion (ship-to-ship transfers)
|
|
- Illegal fishing
|
|
- Military activity
|
|
- Equipment failure
|
|
|
|
Vessels reappearing after gaps are flagged for the duration of the session.
|
|
|
|
## WebSocket Architecture
|
|
|
|
AIS data flows through a WebSocket relay for real-time updates without polling:
|
|
|
|
```
|
|
AISStream -> WebSocket Relay -> Browser
|
|
(ws://relay)
|
|
```
|
|
|
|
The connection automatically reconnects on disconnection with a 30-second backoff. When the Ships layer is disabled, the WebSocket disconnects to conserve resources.
|
|
|
|
## Railway Relay Architecture
|
|
|
|
Some APIs block requests from cloud providers (Vercel, AWS, Cloudflare Workers). A Railway relay server provides authenticated access:
|
|
|
|
```
|
|
Browser -> Railway Relay -> External APIs
|
|
(Node.js) (AIS, OpenSky, RSS)
|
|
```
|
|
|
|
**Relay Functions**:
|
|
|
|
| Endpoint | Purpose | Authentication |
|
|
|----------|---------|----------------|
|
|
| `/` (WebSocket) | AIS vessel stream | AISStream API key |
|
|
| `/opensky` | Military aircraft | OAuth2 Bearer token |
|
|
| `/rss` | Blocked RSS feeds | None (user-agent spoofing) |
|
|
| `/health` | Status check | None |
|
|
|
|
**Environment Variables** (Railway):
|
|
|
|
- `AISSTREAM_API_KEY` - AIS data access
|
|
- `OPENSKY_CLIENT_ID` - OAuth2 client ID
|
|
- `OPENSKY_CLIENT_SECRET` - OAuth2 client secret
|
|
|
|
**Why Railway?**
|
|
|
|
- Residential IP ranges (not blocked like cloud providers)
|
|
- WebSocket support for persistent connections
|
|
- Global edge deployment for low latency
|
|
- Free tier sufficient for moderate traffic
|
|
|
|
The relay is stateless; it simply authenticates and proxies requests. All caching and processing happens client-side or in Vercel Edge Functions.
|
|
|
|
See also [Finance Data - Chokepoints](/finance-data) for disruption scoring methodology.
|