Documentation

Complete guide to installing, configuring and extending OpenWar Intelligence — the open source real-time military C4ISR dashboard.

Installation

OpenWar Intelligence is a single HTML file. No build tools, no package manager, no server-side dependencies. There are three ways to deploy it:

Option 1: Direct Download

The simplest method. Register and download the HTML file, then open it in your browser.

# Download the file
# Open monitor-guerra.html in any modern browser
# That's it — the dashboard is running

Option 2: Local HTTP Server (Recommended)

For the best experience with CORS proxy support, serve the file via a local HTTP server:

# Using Python (included batch file)
python -m http.server 8080

# Using Node.js
npx serve -p 8080

# Using PHP
php -S localhost:8080

# Then navigate to http://localhost:8080/monitor-guerra.html
Windows users: Double-click AVVIA-MONITOR.bat to automatically start a Python HTTP server on port 8080 and open the dashboard in your default browser.

Option 3: Git Clone

git clone https://github.com/federicocappa/openwar-intelligence.git
cd openwar-intelligence
python -m http.server 8080

Quick Start (5 Minutes)

  1. Register and download monitor-guerra.html
  2. Place it in any folder on your computer
  3. Open in Chrome, Firefox, Edge, or Safari
  4. The dashboard loads with simulated data immediately
  5. Real data begins streaming in after ~10 seconds (if CORS proxies are available)

System Requirements

ComponentMinimumRecommended
BrowserChrome 90+, Firefox 88+, Edge 90+, Safari 15+Latest Chrome or Firefox
RAM2 GB available4 GB available
Screen1280x7201920x1080 or larger
NetworkAny internet connectionBroadband for real-time feeds
Disk1 MB (single file)5 MB (with assets)

Architecture Overview

OpenWar Intelligence follows a single-file architecture philosophy. Everything — HTML structure, CSS styling, JavaScript logic, data models, and SVG assets — lives in one .html file of approximately 4,000 lines.

File Structure

openwar-intelligence/
  ├── index.html              # Landing page
  ├── monitor-guerra.html     # Main C4ISR dashboard
  ├── download.html           # Registration & download
  ├── docs.html               # This documentation
  ├── openwar-logo.svg        # Full brand logo
  ├── openwar-icon.svg        # Icon/favicon
  ├── social-media-kit.html   # Social media assets
  ├── sitemap.xml             # SEO sitemap
  ├── robots.txt              # Crawling directives
  └── AVVIA-MONITOR.bat       # Windows launcher

Data Flow Architecture

The dashboard follows a multi-source data fusion pipeline:

External APIs (FR24, OpenSky, ADSB-X, NASA FIRMS)
    ↓ via CORS Proxy Chain (allorigins → corsproxy → codetabs)
    ↓ Graceful fallback to simulated data
    ↓
Data Parsing & Normalization
    ↓
Feature Groups (Leaflet.js FeatureGroups)
    ├── Aircraft Layer (117+ assets)
    ├── Ships Layer (49+ vessels)
    ├── Satellites Layer (15+ objects)
    ├── Conflict Zones (12 areas)
    ├── SIGINT Layer (A2/AD, GPS jamming)
    ├── Nuclear Layer (SSBNs, silos)
    ├── Maritime Layer (chokepoints)
    ├── FIRMS Layer (thermal hotspots)
    ├── Heatmap Layer (combat activity)
    └── Fusion Alert Layer (cross-correlation)
    ↓
Neural Network (12-24-1, online learning)
    ↓
Predictive Timeline (1h-24h)

Configuration

Data Sources

SourceData TypeUpdate IntervalFallback
FlightRadar24Military aircraft positions30sOpenSky
OpenSky NetworkADS-B aircraft data30sADSB Exchange
ADS-B ExchangeAircraft positions (backup)30sSimulation
NASA FIRMSVIIRS thermal anomalies5minCached hotspots
MarineTrafficAIS vessel positions60sSimulation
RSS/OSINT (19 feeds)Geopolitical news5minCached articles

CORS Proxy Chain

Since the dashboard runs client-side, it uses a triple-fallback CORS proxy chain to access external APIs:

// Primary proxy
https://api.allorigins.win/raw?url=

// Fallback 1
https://corsproxy.io/?

// Fallback 2
https://api.codetabs.com/v1/proxy?quest=

// Final fallback: simulated data generation
Note: Free CORS proxies may have rate limits. For production deployments, consider setting up your own proxy server or backend API.

Map Tile Layers

LayerProviderBest For
Dark MatterCartoDBDefault — optimal for military overlay visibility
SatelliteESRI World ImageryTerrain analysis, base identification
TerrainOpenTopoMapElevation, terrain features, topography

Neural Network Configuration

The prediction engine uses a 3-layer feedforward neural network implemented in pure JavaScript. Corrected 2026-09-09: the block below previously stated a sigmoid hidden layer, a 0.01 learning rate and 60-second retraining. All three were wrong.

Architecture: 12 inputs → 24 hidden (ReLU) → 1 output (sigmoid)
Trainable parameters: 337 (312 weights + 25 biases)
Learning rate: 0.05
Training data: 37 curated conflict events, 2021-02-01 → 2025-02-01
Validation set: none. The reported loss is training loss on those 37 events.
Online learning: DISABLED 2026-09-09 — the loop retrained the network on its
          own output (prediction + trend), which is a confirmation loop, not
          learning. Predictions still refresh every 60 s because the live input
          features change; the weights no longer move.
Features: troop movements, air activity, naval presence,
          diplomatic signals, economic indicators, FIRMS data

How to read the output. With 337 parameters fitted to 37 examples and no held-out set, this is an interpolation over a curated table, not a forecast with a measured hit rate. Treat the percentage as a restatement of the input features, and read the features themselves.

Intelligence Modules Reference

Air Domain Module

Tracks military aircraft using multi-source data fusion. The module maintains a database of 117+ fallback aircraft across 27 nations with 33 callsign prefixes and 10 ICAO hex ranges for automatic military identification.

Aircraft are classified into 6 types with SVG silhouettes: fighter, bomber, transport, reconnaissance, tanker, helicopter. Technical specs are available for 50+ specific models including range, ceiling, payload, and crew.

SIGINT / ELINT Module

Full-spectrum electronic warfare monitoring: 29 A2/AD systems, 7 GPS jamming zones, 10 EW platforms, 9 radar emissions, 7 cyber warfare operations, and 9 EW spectrum bands. Visualizes denied-area environments with bubble overlays, frequency spectrum analysis, and real-time threat classification.

Nuclear Domain Module

Strategic nuclear force monitoring: 10 SSBN patrol zones with missile/warhead details, 12 ICBM silos with regiment data, 8 nuclear bombers (airborne/alert/ground status), 12 C3 command nodes, and 6 nuclear treaties with compliance status. Full posture assessment for 9 nuclear-armed nations with deployed/reserve/retired inventory and first-use doctrine.

Maritime Domain Module

Monitors 49+ naval vessels classified into 6 types: carrier, destroyer, cruiser, frigate, submarine, amphibious. Each type has an SVG silhouette and spec sheet. Tracks 9 global maritime chokepoints with width, depth, oil flow data, blockade risk analysis. Includes 9 naval deployments and 8 recent maritime incidents.

Economic Warfare Module

Monitors 8 sanctions regimes with SWIFT access and asset freeze tracking, 9 strategic commodities with price changes and war impact analysis, and 8 critical supply chains with vulnerability scoring and alternative source mapping. Weighted economic threat index integrates all indicators.

FIRMS / Thermal Intelligence Module

Integrates NASA FIRMS VIIRS satellite data to detect thermal anomalies that may indicate military activity (fires, explosions, artillery, rocket launches). Each hotspot includes direct links to satellite imagery providers:

Fusion Alert Engine

The cross-correlation engine generates an alert when several independent disciplines converge on the same conflict zone. Convergence is measured as a great-circle radius of 555 km around the zone centroid — isotropic, so the catchment is the same size in the Baltic and in the Gulf.

SignalSourceMax weightStatus
AIRMilitary aircraft within 555 km1.0live
SHIPNaval vessels within 555 km1.0live
ML-PREDNeural network probability > 0.6 for the zone1.0live
A2ADA2/AD systems within 555 km1.0curated dataset
THERMAL≥2 FIRMS thermal hotspots within 555 km1.0live
NAVALNaval deployments within 555 km1.0curated dataset
CYBERCyber operations active within the last 30 days1.0curated dataset
AIR-BRIDGEAirlift surge—disabled: no dated sortie series
NUCLEARPosture change—shown as global context, not counted per zone

Alert levels: ELEVATED (3+ disciplines), HIGH (4+), CRITICAL (5+). Each alert is a sonar-pulse marker on the map. The count is disciplines, not detections: four A2/AD batteries near one zone are one A2AD signal, not four.

Correction, 3 September 2026. Until this date the engine counted A2AD and NAVAL once per element rather than once per discipline, applied a static level ≥ 4 nuclear test that fired on every zone permanently, and measured proximity as a Manhattan distance in degrees — a diamond whose east–west reach shrank with cos(lat), from 556 km at the equator to 295 km in the Baltic and 144 km in the Arctic. The combined effect was that four of the twelve zones carried a permanent alert level derived from no live observation at all, Syria/Lebanon reaching CRITICAL on a single discipline. The table above describes the engine as it now runs.

API Reference

OpenWar Intelligence exposes several JavaScript functions for programmatic interaction:

FunctionDescription
focusMapOnAsset(type, id)Zoom and flash a specific asset on the map
setTimeline(hours)Set predictive timeline (0, 1, 3, 9, 12, 24)
switchTileLayer(name)Switch map tiles (dark, satellite, terrain)
flashMarkerAt(lat, lng)Flash a temporary marker at coordinates
toggleAssetPreview(type, id)Show/hide asset spec card in sidebar
getAircraftSpecs(model)Get technical specs for an aircraft model
getShipSpecs(type)Get technical specs for a ship class

Deployment Guide

GitHub Pages (Free)

1. Fork the repository on GitHub
2. Go to Settings → Pages
3. Select "main" branch, root directory
4. Your dashboard is live at username.github.io/dashboard/

Netlify (Free Tier)

1. Connect your GitHub repo to Netlify
2. No build command needed
3. Publish directory: /
4. Deploy — instant global CDN

Self-Hosted

# Nginx
server {
  listen 80;
  server_name openwar.yourdomain.com;
  root /var/www/openwar;
  index index.html;
  location / { try_files $uri $uri/ =404; }
}

# Apache
DocumentRoot "/var/www/openwar"
DirectoryIndex index.html

Contributing

OpenWar Intelligence is open source and welcomes contributions from developers, analysts, researchers, and OSINT specialists.

How to Contribute

  1. Fork the repository on GitHub
  2. Create a feature branch: git checkout -b feature/new-module
  3. Make your changes
  4. Test in multiple browsers
  5. Submit a Pull Request with a clear description

Contribution Ideas

Changelog

Version 5.0 — May 2026 (C4ISR EXPANDED)

Version 2.0 — May 2026

Version 1.0 — March 2026

Need help? Open an issue on GitHub or join our community Discord.