World Monitor v2.5.23

World Monitor v2.5.23

World Monitor is Open Source Intelligence Dashboard for Real-Time Global Insights. World Monitor is one of the most advanced platforms available today.
(4.7)

Developer

Elie Habib

Category

Monitoring Tools

Operating System

Windows / Mac / Linux

Date Published

Mon Apr 20 2026

World Monitor v2.5.23

World Monitor is a real-time global intelligence dashboard that aggregates news, geopolitical data, financial markets, and infrastructure signals into one unified platform.

It is designed to provide situational awareness by combining multiple data streams such as:

  • News and media feeds

  • Military and aviation tracking

  • Economic and financial data

  • Disaster and infrastructure monitoring

All of this is processed and summarized using AI to help users quickly understand global developments.

What It Does

  • 435+ curated news feeds across 15 categories, AI-synthesized into briefs

  • Dual map engine — 3D globe (globe.gl) and WebGL flat map (deck.gl) with 45 data layers

  • Cross-stream correlation — military, economic, disaster, and escalation signal convergence

  • Country Intelligence Index — composite risk scoring across 12 signal categories

  • Finance radar — 92 stock exchanges, commodities, crypto, and 7-signal market composite

  • Local AI — run everything with Ollama, no API keys required

  • 5 site variants from a single codebase (world, tech, finance, commodity, happy)

  • Native desktop app (Tauri 2) for macOS, Windows, and Linux

  • 21 languages with native-language feeds and RTL support

For the full feature list, architecture, data sources, and algorithms, see the documentation.

Download World Monitor v2.5.23 - Software Mirrors

Download World Monitor v2.5.23
World.Monitor_2.5.23_aarch64.AppImage | 187.02 MB

Download World Monitor v2.5.23
World.Monitor_2.5.23_aarch64.dmg | 41.7 MB

Download World Monitor v2.5.23
World.Monitor_2.5.23_amd64.AppImage | 195.72 MB

Download World Monitor v2.5.23
World.Monitor_2.5.23_x64-setup.exe | 26.86 MB

Download World Monitor v2.5.23
World.Monitor_2.5.23_x64.dmg | 43.42 MB

Download World Monitor v2.5.23
World.Monitor_2.5.23_x64_en-US.msi | 37.92 MB

Download World Monitor v2.5.23
World.Monitor_aarch64.app.tar.gz | 41.36 MB

Download World Monitor v2.5.23
World.Monitor_x64.app.tar.gz | 43.12 MB

World Monitor v2.5.23 Release Notes:

What's Changed

  • fix(world-clock): make drag handles always visible (#715)
  • fix(world-clock): merge duplicate .wc-row CSS rules (#714)
  • feat(world-clock): add drag-to-reorder city rows (#712)
  • fix(csp): allow localhost in media-src for proxied HLS & remove CNN HLS (#711)
  • fix(panel): redesign World Clock with proper layout and working settings (#710)
  • fix(desktop): resolve sidecar 401s, variant lock, and registration form (#v2.5.23) (#709)
  • fix(panel): live news fullscreen now renders above all UI elements (#708)
  • Add Czech (cs) translation (#701)
  • chore: bump version to 2.5.22 & comprehensive README update (#706)
  • feat(panel): add World Clock panel with live financial city times (#705)
  • fix(i18n): add 12 missing translation keys across all 18 locales (#703)
  • fix(sentry): add noise filters for 7 unresolved issues (#698)
  • feat(feeds): reduce default-enabled sources & add locale-aware boost (#699)
  • fix(oref): sanitize Hebrew Unicode control chars for reliable translation (#694)
  • fix(live-news): remove LiveNOW from FOX channel (YouTube error 150) (#693)
  • feat(i18n): backfill missing translations for 17 locales (#692)
  • fix(web): improve mobile responsiveness — collapsible map, panel sizing, font bump (#688)
  • feat(live-news): add Fox News HLS stream & fullscreen toggle (#689)
  • feat(breaking-news): click banner to scroll to source panel (#690)
  • feat(i18n): add 104 missing translation keys for Italian and Spanish (#687)
  • fix(pwa): stop auto-reload on service worker update (#686)
  • perf(web): lazy-load DeductionPanel to exclude dompurify from web bundle (#685)
  • feat(feeds): add Asharq News & Business to Middle East (#683)
  • feat(live-news): add CNN & CNBC HLS streams via sidecar proxy (#682)
  • fix(sentry): triage 10 unresolved issues — 2 code fixes + 8 noise filters (#681)
  • feat: implement deduct situation feature (#636) (#642)
  • feat(rag): worker-side vector store with opt-in Headline Memory (#675)
  • fix(country-intel): align strike/aviation matching with CII bounds fallback (#677)
  • feat(settings): badge pulse animation with settings toggle (#676)
  • feat: persist OREF history to Redis + retry bootstrap (#674)
  • fix(market): replace dead Yahoo Finance Gulf index tickers (#672)
  • feat(market): add Gulf Economies panel with GCC indices, currencies & oil (#667)
  • fix(ci): strip bundled GPU/Wayland libs from AppImage to fix black screen on non-Ubuntu distros (#666)
  • fix(map): stabilize deck.gl layer IDs to prevent interleaved-mode null crash (#664)
  • ui(investments): redesign panel with card layout and collapsible filters (#663)
  • feat(oref): add 1,478 Hebrew→English location translations + wire sirens into breaking news banner (#661)
  • feat: expand live channels with HLS support, Oceania region, and YouTube fallbacks (#660)
  • feat(api): add cache-purge edge function for admin Redis cache invalidation (#657)
  • fix(oref): add static Hebrew→English translations for common alert types (#655)
  • fix(finance): restore 6 missing news categories + add finance favicons (#654)
  • fix(oref): grab newest history records and preserve bootstrap data (#653)
  • fix(server): cache hardening across 27 RPC handlers (#651)
  • feat: add Oman Observer and NDTV feeds + NDTV live TV (#650)
  • perf(map): optimize DeckGLMap pan/zoom by deferring work off hot path (#620)
  • fix(oref): show history count in badge and stop swallowing fetch errors (#648)
  • feat: add Redis caching for GPS jamming data (#646)
  • fix: remove accidental intelhq submodule entry (#640)
  • Cost/traffic hardening, runtime fallback controls, and PostHog removal (#638)
  • fix(desktop): route register-interest to cloud when sidecar lacks CONVEX_URL (#639)
  • fix(sentry): null guards for classList teardown crashes + noise filters + regex fix (#637)
  • fix(desktop): backoff on errors to stop CPU abuse + shrink settings window (#633)
  • fix(linux): sanitize env for xdg-open in AppImage (#631)
  • fix(sidecar): add AVIATIONSTACK_API and ICAO_API_KEY to env allowlist (#632)
  • fix(military): narrow ICAO hex ranges to stop civilian false positives (#627)
  • chore(cache): bump all sub-5min cache TTLs and polling intervals (#626)
  • fix(map): sync layer toggles to URL for shareable links (#576) (#621)
  • feat(rss): add conditional GET (ETag/If-Modified-Since) to Railway relay (#625)
  • feat(news): server-side feed aggregation to reduce edge invocations by ~95% (#622)
  • fix(aviation): prevent AviationStack API quota blowout (#623)
  • fix(sentry): guard pauseVideo optional chaining + add 4 noise filters (#624)
  • feat(map): native mobile map experience with location detection and full feature parity (#619)
  • feat(oref): show history waves timeline with translation and NaN fix (#618)
  • fix(aviation): increase cache TTL from 30min to 2h to reduce API quota usage (#617)
  • docs(changelog): add v2.5.21 entry covering 86 merged PRs (#616)
  • fix(api): harden cache-control headers for polymarket and rss-proxy (#613)
  • perf(rss): raise news refresh interval to 10min and cache TTL to 20min (#612)
  • Expand country brief and CII signal coverage (#611)
  • fix(docs): add blank lines after CHANGELOG headings for markdownlint (#608)
  • fix: RT channel HLS-only recovery, test shim, and LiveNOW fallback (#610)
  • fix(relay): increase OREF curl maxBuffer to prevent ENOBUFS (#609)
  • fix(aviation): invalidate stale IndexedDB cache + reduce CDN TTL (#607)
  • chore: bump version to 2.5.21 (#605)
  • docs(readme): comprehensive update for Telegram, OREF, GPS jamming, airports, and more (#606)
  • fix(webcams): fix broken live news channels — eNCA handle, remove VTC NOW, fix CTI News (#604)
  • fix(aviation): always show all monitored airports on flight delays map (#603)
  • fix(sentry): guard YT player methods + filter GM/InvalidState noise (#602)
  • chore(telegram): update channel list — remove nexta_live, air_alert_ua; add wfwitness (#600)
  • fix(aviation): route NOTAM through relay + improve intl logging (#599)
  • fix(webcams): add 4th Iran Attacks feed to fill 2x2 grid (#601)
  • fix(polymarket): add queue backpressure and response limit slicing (#593)
  • fix(relay): stop Polymarket cache stampede from concurrent limit + CDN bypass (#592)
  • fix(aviation): replace broken lock mechanism with direct cache, add cancellation tiers (#591)
  • fix(telegram): add missing relay auth headers to telegram-feed edge function (#590)
  • feat(live-news): add RT channel via HLS + enable HLS on web (#586)
  • feat(feeds): add RT (Russia Today) RSS feeds (#585)
  • fix(relay): delay Telegram connect 60s on startup to prevent AUTH_KEY_DUPLICATED (#587)
  • feat(risk): wire theater posture + breaking news into strategic risk score (#584)
  • feat(aviation): add NOTAM closure detection via ICAO API (#583)
  • feat: add GPS/GNSS jamming map layer + CII integration (#570)
  • feat(aviation): add comprehensive logging to flight delay pipeline (#581)
  • feat(relay): bootstrap OREF 24h history on startup (#582)
  • fix(sentry): guard setView against invalid preset + filter translateNotifyError (#580)
  • feat(cii): hook security advisories into CII scoring & country briefs (#579)
  • fix(relay): add timeouts and logging to Telegram poll loop (#578)
  • fix(webcams): replace duplicate Tehran feed with Tel Aviv, rename Iran tab (#572)
  • fix(relay): replace nixpacks.toml with railpack.json for curl (#571)
  • feat(webcams): add Iran tab to live webcams panel (#569)
  • fix(relay): increase Polymarket cache TTL to 10 minutes (#568)
  • fix(relay): install curl in Railway container for OREF polling (#567)
  • fix(relay): upstreamWs → upstreamSocket in graceful shutdown (#565)
  • fix(cii): resolve Gulf country strike misattribution via multi-match bbox disambiguation (#564)
  • fix(relay): replace smart quotes crashing relay on startup (#563)
  • fix(aviation): query all airports instead of rotating batch (#557)
  • fix(relay): add graceful shutdown + poll concurrency guard for Telegram (#562)
  • feat(cii): wire OREF sirens into CII score & country brief (#559)
  • fix(sentry): add noise filters and fix beforeSend null-filename leak (#561)
  • fix(live-news): annotate empty catches and sanitize error output (#560)
  • fix(i18n): rename OREF Sirens panel to Israel Sirens (#556)
  • fix(live-news): align YouTube edge function with relay auth pattern (#555)
  • fix(live-news): use correct relay auth header for YouTube proxy (#554)
  • feat(settings): add AVIATIONSTACK_API to desktop settings page (#553)
  • feat(live-news): move YouTube proxy scraping to Railway relay
  • feat(aviation): integrate AviationStack API for non-US airport delays (#552)
  • fix(live-news): lazy-load node modules + proxy fallback to direct fetch
  • fix(live-news): set explicit runtime: 'nodejs' for proxy support
  • debug(live-news): add debug param to diagnose proxy env var on Vercel
  • feat(live-news): add residential proxy + gzip decompression for YouTube detection (#551)
  • feat(telegram): add Telegram Intel panel (#550)
  • feat(conflict): enhance Iran events popup with severity badge and related events (#549)
  • fix(alerts): add compound escalation for military action + geopolitical target (#548)
  • feat(cii): integrate Iran strike events into CII scoring, country brief & timeline (#547)
  • gave the user freedom to resize panels "fixes issue #426" (#489)
  • fix(relay): use execFileSync for OREF curl to avoid shell injection (#546)
  • feat(oref): add OREF sirens panel with Hebrew-to-English translation (#545)
  • fix(live-news): fix broken Europe channel handles + add fallback video IDs (#541)
  • fix(telegram): latch AUTH_KEY_DUPLICATED to stop retry spam (#543)
  • fix(telegram): fix ESM import path in session-auth script (#542)
  • fix(iran): bump CDN cache-bust to v4 for fresh event data (#544)
  • fix(live-news): add fallback video ID for LiveNOW from FOX channel (#538)
  • fix(relay): auto-reconnect on Telegram AUTH_KEY_DUPLICATED and fix IranIntl handle (#539)
  • feat: add day/night solar terminator overlay to map (#529)
  • Revert "Revert "fix(relay): fix telegram ESM import path and broaden latch regex"" (#537)
  • Revert "fix(relay): fix telegram ESM import path and broaden latch regex"
  • fix(ui): move download banner to bottom-right (#536)
  • fix(relay): fix telegram ESM import path and broaden latch regex
  • fix(live-news): replace 7 stale YouTube fallback video IDs (#535)
  • fix(relay): Telegram + OOM + memory cleanup (#531)
  • fix(alerts): remove SESSION_START gate that blocked pre-existing breaking news (#533)
  • fix(iran): bust CDN cache to serve updated Gulf-geocoded events (#532)
  • fix(geo): expand geo hub index with 60+ missing world locations (#528)
  • feat(map): prioritize Iran Attacks layer (#527)
  • fix(relay): block rsshub.app requests with 410 Gone (#526)
  • fix(focal-points): attribute theater military activity to target nations (#525)
  • fix(iran): bypass stale CDN cache for iran-events endpoint (#524)
  • fix(relay): regenerate package-lock.json with telegram dependency (#522)
  • fix(breaking-news): fill keyword gaps missing real Iran attack headlines (#521)
  • fix(relay): add POLYMARKET_ENABLED env flag kill switch (#523)
  • Revert "fix(relay): regenerate package-lock.json with telegram dependency"
  • chore: trigger deploy to flush CDN cache for iran-events endpoint
  • fix(relay): regenerate package-lock.json with telegram dependency
  • fix(threat-classifier): stagger AI classification requests to avoid Groq 429 (#520)
  • fix(relay): Polymarket circuit breaker + concurrency limiter (OOM fix) (#519)
  • fix: make iran-events handler read-only from Redis (#518)
  • fix(breaking-news): fix fake pubDate fallback and filter noisy think-tank alerts (#517)
  • fix(rate-limit): increase sliding window to 300 req/min (#515)
  • fix(breaking-news): let critical alerts bypass global cooldown and replace HIGH alerts (#516)
  • fix(threat-classifier): add military/conflict keyword gaps and news-to-conflict bridge (#514)
  • fix(relay): prevent Polymarket OOM via request deduplication (#513)
  • fix: resolve bootstrap 401 and 429 rate limiting on page init (#512)
  • feat(conflict): add Iran Attacks map layer + strip debug logs (#511)
  • chore: add validated telegram channels list (global + ME + Iran + cyber) (#249)
  • fix(sentry): filter Android OEM WebView bridge injection errors (#510)
  • feat(breaking-news): add active alert banner with audio for critical/high RSS items (#508)
  • fix(relay): guard proxy handlers against ERR_HTTP_HEADERS_SENT crash (#509)
  • fix(prediction): filter stale/expired markets from Polymarket panel (#507)
  • fix: generalize Vercel preview origin regex + include filters in bases cache key (#506)
  • chore: strip 61 debug console.log calls from 20 service files (#501)
  • fix(geo): tokenization-based keyword matching to prevent false positives (#503)
  • fix(bootstrap): harden hydration cache + polling review fixes (#504)
  • feat(live-news): add CBC News to optional North America channels (#502)
  • fix: use cross-env for Windows-compatible npm scripts (#499)
  • fix(cyber): make GeoIP centroid fallback jitter deterministic (#498)
  • perf(military): debounce base fetches + upgrade edge cache to static tier (#497)
  • feat(military): server-side military bases 125K + rate limiting (#496)
  • perf: bootstrap endpoint + polling optimization (#495)
  • feat(rss): add Axios (api.axios.com/feed) as US news source (#494)
  • feat: add Polish tv livestreams (#488)
  • feat(i18n): add Korean (한국어) localization (#487)
  • fix(rss): remove stale indianewsnetwork.com from proxy allowlist (#486)
  • chore: bump version to 2.5.20 + changelog
  • feat(gateway): complete edge cache tier coverage + degraded-response policy (#484)
  • fix(markets): commodities panel showing stocks instead of commodities (#483)
  • perf(proxy): increase AIS snapshot edge TTL from 2s to 10s (#482)
  • fix(analytics): use greedy regex in PostHog ingest rewrites (#481)
  • feat: configurable VITE_WS_API_URL + harden POST→GET shim (#480)
  • fix(sentry): add noise filters for 4 unresolved issues (#479)
  • feat(proxy): add Cloudflare edge caching for proxy.worldmonitor.app (#478)
  • fix(gateway): convert stale POST requests to GET for backwards compat (#477)
  • fix(desktop): enable click-to-play YouTube embeds + CISA feed fixes (#476)
  • fix(tech): use rss() for CISA feed, drop build from pre-push hook (#475)
  • feat(cache): tiered edge Cache-Control aligned to upstream TTLs (#474)
  • fix(security-advisories): route feeds through RSS proxy to avoid CORS blocks (#473)
  • fix: move 5 path-param endpoints to query params for Vercel routing (#472)
  • fix(beta): eagerly load T5-small model when beta mode is enabled
  • feat: add Cloudflare edge caching infrastructure for api.worldmonitor.app (#471)
  • feat: convert 52 API endpoints from POST to GET for edge caching (#468)
  • feat(cache): add negative-result caching to cachedFetchJson (#466)
  • Add Security Advisories panel with government travel alerts (#460)
  • feat(settings): redesign settings window with VS Code-style sidebar layout (#461)
  • fix(scripts): handle escaped apostrophes in feed name regex (#455)
  • fix(wingbits): add 5-minute backoff on Wingbits /v1/flights failures (#459)
  • fix(ollama): strip thinking tokens, raise max_tokens, fix panel summary cache (#456)
  • fix+feat: RSS feed repairs, HLS native playback, summarization cache fix, embed improvements (#452)
Full Changelog: https://github.com/koala73/worldmonitor/compare/v2.5.19...v2.5.23

Quick Start

git clone https://github.com/koala73/worldmonitor.git
 cd worldmonitor
 npm install
 npm run dev

Open localhost:5173. No environment variables required for basic operation.

For variant-specific development:

npm run dev:tech       # tech.worldmonitor.app
 npm run dev:finance    # finance.worldmonitor.app
 npm run dev:commodity  # commodity.worldmonitor.app
 npm run dev:happy      # happy.worldmonitor.app

See the self-hosting guide for deployment options (Vercel, Docker, static).

Data Sources

WorldMonitor aggregates 65+ external data sources across geopolitics, finance, energy, climate, aviation, cyber, military, infrastructure, and news intelligence. See the full data sources catalog for providers, feed tiers, and collection methods.

Key Features of World Monitor

1. AI-Powered News Aggregation

World Monitor pulls data from hundreds of curated sources and uses AI to generate concise summaries and insights. This removes the need to manually track multiple news platforms.


2. Advanced Map Visualization

The platform includes a dual map system:

  • 3D interactive globe

  • High-performance 2D WebGL map

With dozens of data layers such as conflicts, flights, pipelines, and disasters, users can visualize global activity in real time.


3. Cross-Stream Intelligence Correlation

One of its strongest features is the ability to correlate different data streams. For example:

  • Military activity

  • Economic signals

  • Natural disasters

This helps detect patterns and potential escalation scenarios across regions.


4. Country Intelligence Index

World Monitor assigns risk scores to countries based on multiple factors like unrest, security, and information flow. This provides a quick overview of global stability and emerging risks.


5. Local AI Processing

Unlike many AI tools, World Monitor can run models locally using frameworks like Ollama. This means:

  • No API keys required

  • Better privacy

  • Offline capabilities


6. Multi-Variant Dashboard System

The platform offers multiple specialized views:

  • Global intelligence dashboard

  • Tech-focused monitoring

  • Financial market tracking

  • Commodity analysis

All variants run from a single codebase, making it flexible for different use cases.


7. Desktop and Web Support

World Monitor is available as:

  • Web application

  • Desktop app for Windows, macOS, and Linux

This allows both browser-based monitoring and local installations.


Performance and Real-World Use

World Monitor is built for high-density data environments. It can render thousands of data points smoothly using optimized WebGL and lightweight architecture.

Common use cases include:

  • Geopolitical analysis

  • OSINT research

  • Market monitoring

  • Crisis and risk assessment

Because it aggregates and processes data in real time, it is especially useful for analysts and researchers who need up-to-date information.


User Experience

The interface is powerful but information-dense.

  • Beginners may feel overwhelmed at first

  • Advanced users will benefit from deep customization

  • Interactive maps and dashboards improve usability

It is closer to professional intelligence tools than typical consumer apps.


Pros and Cons

Pros

  • Open source and highly customizable

  • Combines multiple data streams in one platform

  • Real-time updates with AI summaries

  • Advanced visualization with interactive maps

  • Supports local AI for privacy

Cons

  • Steep learning curve for new users

  • Requires setup for full functionality

  • Can be resource-intensive on lower-end systems

  • Some features depend on external data sources


Who Should Use World Monitor

World Monitor is ideal for:

  • Analysts and researchers

  • Developers working with data and AI

  • Traders and market observers

  • OSINT enthusiasts

  • Anyone needing real-time global insights

It is not designed for casual users who just want simple news browsing.


Final Verdict

World Monitor is one of the most ambitious open-source intelligence dashboards available. It brings together AI, real-time data, and advanced visualization into a single powerful platform.

If you want a comprehensive, real-time view of the world with deep analytical capabilities, World Monitor stands out as a highly capable and future-oriented solution.

Comments on World Monitor v2.5.23