Open-source project
NoblerWorks-HQ/IRONSIGHT avatar
NoblerWorks-HQ/IRONSIGHT

IRONSIGHT turns public feeds into a live conflict dashboard

Real-time OSINT command center for the Iran/Israel and Russia/Ukraine theaters — 50+ live open-source intelligence sources (news, Telegram, military aircraft & naval tracking, missile alerts, prediction & defense markets) in one dashboard. No API keys. Free. Next.js + TypeScript.

668 stars156 forksTypeScriptMIT

At a glance

What is it?
IRONSIGHT is a Next.js dashboard that aggregates more than fifty free public data sources, news RSS, Telegram channels, ADS-B military aircraft, naval trackers, air-raid alerts, NASA fire detection and prediction markets, into one view that switches between the Iran/Israel and Russia/Ukraine theaters. It suits an analyst who wants a single pane of glass, and it is a viewer rather than a data provider.
Who is it for?
Adopt IRONSIGHT when you want a single live picture of a conflict theatre built entirely from public, keyless endpoints, and you are willing to accept that every feed is a third party who can change or withdraw it. Do not adopt it as an intelligence product of your own, because the project states it does not own, generate or claim credit for any underlying data and is only a viewer.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 1 day ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.

Editorial analysis

One toggle re-points the whole dashboard

The central idea is stated simply. Two theaters, one dashboard, with a toggle in the header that flips the entire dashboard between Iran/Israel, the Middle East theater and Russia/Ukraine, the Eastern Europe theater. Every panel, map layer and data feed re-points to the selected conflict, and the choice is remembered across reloads in the browser. That single design decision shapes the rest of the application. It is not two deployments with a shared component library, it is one application with a theatre parameter, which means the news relevance filter, the map layers, the alert panel and the market watches all have to be written twice, once per theatre, and a new theatre is a matter of supplying another set of sources rather than a new codebase. The feature list makes the scale explicit, with a conflict toggle, a per-theater live intel feed, a theater map, a conflict monitor, a regional threat monitor and several market panels all scoped to the selection.

Twelve keyless feeds, and what each one costs

The data source table is the most useful part of the README for anyone assessing the project, because it names every upstream service and its cost, and the cost column reads Free, no key for all of them. Yahoo Finance supplies stocks, indices, commodities and oil futures. CoinGecko supplies cryptocurrency prices for BTC, ETH, SOL and BNB. Polymarket, through its Gamma API, supplies prediction market odds. NASA FIRMS supplies fire and thermal anomaly satellite data. adsb.lol supplies military aircraft ADS-B tracking from a community network. Tzeva Adom is a community mirror of Pikud HaOref providing Israeli missile, rocket and drone alerts, and alerts.com.ua supplies Ukrainian oblast air-raid alerts with English names. Neptun supplies Ukraine real-time drone, missile and KAB tracks. Google News RSS supplies keyword and location scoped news aggregation, and Google Translate, marked unofficial, handles Hebrew, Arabic and Farsi plus Ukrainian and Russian translation. Telegram is read by scraping public channel posts through embed. Google Translate being unofficial is the entry to watch, since an unofficial endpoint is the one most likely to change without notice.

The map layers are where the project does its own work

The map is a Leaflet map with military aircraft, naval vessels, strike markers pulled from news and Telegram, missile trajectory arcs, range rings, a country border overlay and a distance measurement tool. The layers have their own attribution and licence lines, which is the detail that separates a project that respects its sources from one that scrapes them. The dark basemap tiles are CARTO Dark Matter with OpenStreetMap data under ODbL and CARTO attribution, the country border lines come from Natural Earth, using the ne_50m_admin_0_boundary_lines_land dataset in the public domain, and the map engine itself is Leaflet under BSD-2-Clause. The naval tracker is scoped by region, covering the Persian Gulf, Red Sea and Eastern Mediterranean for the Middle East theatre and the Black Sea and Sea of Azov for the Eastern Europe one. The military airspace layer filters ADS-B traffic by region per theatre, and the satellite thermal detect layer does the same with NASA FIRMS fire detections. The strike markers are the interesting fusion, since they are placed from news and Telegram reports rather than from a single feed, which means the map is a cross-reference of sources rather than a picture of one.

Alerting is split between two national systems

The air-raid alert status panel is theatre specific in a way that is worth noting, because it means the two halves of the dashboard are not symmetric in implementation. For the Middle East it shows Israeli Home Front Command, Pikud HaOref, sirens, and for Eastern Europe it shows Ukrainian oblast air-raid alerts, with audio notifications and on-map sirens and arcs in both cases. The Ukraine side is the richer one, because the live drone and missile tracker, marked as Russia/Ukraine only, adds Shahed drone, cruise and ballistic missile and glide-bomb tracks with heading, movement trails and confidence, rendered on the map and listed in the alert panel. Those tracks come from the Neptun feed. So the Eastern Europe theatre carries a dedicated track layer while the Middle East one does not have an equivalent, and a user comparing the two halves of the toggle is comparing two projects of similar shape but different depth. The missile and strike tracker panel, with weapon-type classification and severity scoring, applies across both.

Building and running it, in Node or in Docker

The package is private and marked as version 0.2.0, with Next 16, React 19, Tailwind 3 and Leaflet 1.9 with react-leaflet on the front end, and the scripts are the standard Next ones: dev, build, start, lint with eslint, and test with node --test against the files in tests/. The dependency list is deliberately short, and the only non-obvious entry is @xmldom/xmldom, which is what lets the application parse the XML that comes back from RSS and Telegram embed scraping in the browser rather than shipping a Node XML parser to the client. The Dockerfile is a three stage build on node:22-alpine. Dependencies are installed with npm ci in a cached stage, the standalone server bundle is built with NEXT_TELEMETRY_DISABLED set, and the runtime stage copies only the standalone output, the static assets and the public directory into a fresh image, adds a non-root user and group, exposes 3000 and runs node server.js. There is a comment in the file that states the point of the whole exercise: no API keys or environment variables are required at build or run time. The compose file is shorter still, building the image, mapping port 3000 to 3000, setting NODE_ENV to production and restarting unless stopped.

What the project is and is not responsible for

There is a bolded statement near the top of the README that shapes how you should read everything else. IRONSIGHT does not own, generate, or claim credit for any of the underlying data, and it is a viewer that surfaces publicly available, third-party, open-source feeds, all of which belong to and are credited to their respective providers. That is stated once in the header and again over the data sources section, which tells you the maintainers have been asked about it. The practical consequence is that every panel is as reliable as an endpoint you do not control. Tzeva Adom is explicitly a community mirror rather than the Israeli Home Front Command service itself, the Google Translate integration is unofficial, Telegram is read by scraping public embeds rather than through the Bot API, and adsb.lol is a community ADS-B network. A dashboard built on those can go quietly blank for a source at any time, and there is no key, contract or dashboard to fall back on. The attribution sections and the credits exist to keep the project on the right side of that, and the MIT licence covers the code rather than the data flowing through it.

Editorial conclusion

Adopt IRONSIGHT when you want a single live picture of a conflict theatre built entirely from public, keyless endpoints, and you are willing to accept that every feed is a third party who can change or withdraw it. Do not adopt it as an intelligence product of your own, because the project states it does not own, generate or claim credit for any underlying data and is only a viewer. Verify first which of the twelve listed feeds are reachable from your network, that your Node and Docker tooling matches the versions the image pins, and that the attribution and licensing terms of each upstream provider are acceptable for whatever you intend to do with the dashboard.

Frequently asked questions

Does IRONSIGHT need API keys?

No. Every data source is a free, publicly accessible endpoint and the README marks all of them as Free, no key. The Dockerfile states that no API keys or environment variables are required at build or run time, and the package description repeats that it is completely free to run.

Which conflicts does the IRONSIGHT dashboard cover?

Two theaters, Iran/Israel as the Middle East default and Russia/Ukraine as Eastern Europe. A toggle in the header flips the entire dashboard, and every panel, map layer and data feed re-points to the selected conflict, with the choice remembered across reloads in the browser.

What data does IRONSIGHT show for Ukraine that it does not show for Israel?

The live drone and missile tracker is marked Russia/Ukraine only. It renders Shahed drone, cruise and ballistic missile and glide-bomb tracks with heading, movement trails and confidence, sourced from the Neptun feed, and they appear both on the map and in the alert panel.

How do I run IRONSIGHT myself?

With Docker, using the compose file that builds the image, maps port 3000 to 3000 and sets NODE_ENV to production, or with npm directly, where the scripts are dev, build, start, lint and test. The Dockerfile is a multi-stage build on node:22-alpine that produces a minimal runtime image running node server.js as a non-root user.

Official sources

  1. Issues
  2. License: MIT
  3. NoblerWorks-HQ/IRONSIGHT on GitHub
  4. Project website
  5. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/noblerworks-hq-ironsight.svg)](https://hysenlabs.com/projects/noblerworks-hq-ironsight)