# iran-israel-alerts

Adopt this skill: https://proskills.md/skills/api/iran-israel-alerts

Page: https://proskills.md/skills/api/iran-israel-alerts
This document is the public skill bundle for that page. It contains SKILL.md and every helper file the catalog carries. No login is required.

## File: .dockerignore
upstream: https://github.com/magen-yehuda-intel/magen-yehuda-bot/blob/HEAD/.dockerignore

Content is not inlined in the catalog. Read the upstream file: https://github.com/magen-yehuda-intel/magen-yehuda-bot/blob/HEAD/.dockerignore

## File: .env.example
upstream: https://github.com/magen-yehuda-intel/magen-yehuda-bot/blob/HEAD/.env.example

Content is not inlined in the catalog. Read the upstream file: https://github.com/magen-yehuda-intel/magen-yehuda-bot/blob/HEAD/.env.example

## File: .gitignore
upstream: https://github.com/magen-yehuda-intel/magen-yehuda-bot/blob/HEAD/.gitignore

Content is not inlined in the catalog. Read the upstream file: https://github.com/magen-yehuda-intel/magen-yehuda-bot/blob/HEAD/.gitignore

## File: CHANGELOG.md
upstream: https://github.com/magen-yehuda-intel/magen-yehuda-bot/blob/HEAD/CHANGELOG.md

Content is not inlined in the catalog. Read the upstream file: https://github.com/magen-yehuda-intel/magen-yehuda-bot/blob/HEAD/CHANGELOG.md

## File: Dockerfile
upstream: https://github.com/magen-yehuda-intel/magen-yehuda-bot/blob/HEAD/Dockerfile

Content is not inlined in the catalog. Read the upstream file: https://github.com/magen-yehuda-intel/magen-yehuda-bot/blob/HEAD/Dockerfile

## File: README.md
upstream: https://github.com/magen-yehuda-intel/magen-yehuda-bot/blob/HEAD/README.md

````text
# 🛡️ Magen Yehuda Bot — Iran-Israel Real-Time Intelligence Monitor

Multi-source intelligence aggregation for Iran/Israel/US military escalation. Adaptive threat-level system, 85+ OSINT sources, satellite fire detection, seismic monitoring, flight tracking, internet blackout detection, strike correlation, cyber warfare monitoring, wire service integration, multi-source corroboration, bilingual alerts with per-channel timezones, and instant Telegram delivery.

![Threat Levels](https://img.shields.io/badge/threat_levels-GREEN_%7C_ELEVATED_%7C_HIGH_%7C_CRITICAL-brightgreen)
![Sources](https://img.shields.io/badge/sources-85%2B_channels-blue)
![Delivery](https://img.shields.io/badge/delivery-Telegram-26A5E4)
![Languages](https://img.shields.io/badge/languages-English_%2B_Hebrew-ff69b4)

## What It Does

Monitors 85+ intelligence sources across 16 categories, auto-adjusts polling frequency based on threat level, auto-detects and corroborates breaking news from credible sources, and pushes instant bilingual alerts to Telegram channels with per-channel timezones:

| Source | Channels | Speed | Auth Required |
|--------|----------|-------|---------------|
| 🚨 **Pikud HaOref** (sirens) | Israeli siren API | 10-30s | None (Israeli IP) |
| 📢 **Telegram OSINT** | 10 public channels | 30s-5min | None |
| 🐦 **X/Twitter OSINT** | 11 accounts | 30s-5min | None |
| 📰 **RSS Feeds** | 7 news outlets | 30s-5min | None |
| 🌍 **USGS Seismic** | Iran region (M2.5+) | 30s-5min | None |
| 📊 **Polymarket** | Prediction markets | 60s-5min | None |
| 🔥 **NASA FIRMS** | 4 satellites | 3-15min | Free MAP_KEY |
| 🌐 **Internet Blackout** | IODA + 3 direct probes | 5-30min | None |
| ✈️ **Military Flights** | ADS-B (OpenSky) | 5-30min | None |
| ✈️ **Flight Radar** | FR24 air traffic | Hourly map | None |
| 🎯 **Strike Correlation** | Fire + seismic fusion | After each scan | None |
| 🛡️ **Cyber Hacktivist TG** | 25 handles (19 groups) | 5-30min | None |
| 🛡️ **Cyber CTI Twitter** | 8 accounts | 5-30min | None |
| 🛡️ **Dark Web / Breach RSS** | 4 feeds | 5-30min | None |
| 🚢 **Naval Tracking** | AIS vessel data | 5-30min | None |

### Key Features

- **Adaptive threat system** — Polling scales from 5min (GREEN) to 30s (CRITICAL) based on siren activity
- **Breaking news corroboration** — Auto-tracks sources per topic; 3+ reputable sources (Reuters, AP, BBC, etc.) = CONFIRMED with source list; <3 = UNVERIFIED with count
- **Multi-channel dispatch** — Route alerts to English and/or Hebrew channels with language-specific formatting
- **Per-channel timezones** — English channel shows ET, Hebrew channel shows IST (configurable per output)
- **Hebrew threat levels** — שגרה (GREEN), מוגבר (ELEVATED), גבוה (HIGH), קריטי (CRITICAL) — all alert types fully translated
- **Satellite fire detection** — 4 NASA satellites, proximity to 23 known nuclear/military/oil sites
- **Internet blackout early warning** — Iran historically cuts internet before military operations
- **Strike correlation engine** — Automatic fire + seismic coincidence detection (50km/30min window)
- **US/Israeli military flight tracking** — 50+ aircraft type→role mappings, filtered to relevant assets only
- **Cyber warfare monitor** — 19 hacktivist groups (25 TG handles), 8 CTI Twitter accounts, 4 dark web feeds, auto-classification
- **Live pinned status dashboard** — Single message edited every 60s with full system state (separate EN/HE versions)
- **Bilingual hourly reports** — Intel map + flight map + Hebrew summary + English summary + 24h time-lapse GIF
- **Wire service integration** — Reuters and AP News via Google News RSS proxy (direct feeds are Cloudflared)
- **Attack classification** — Auto-categorizes ICS/SCADA, data breach, ransomware, DDoS, espionage with severity scoring
- **Naval vessel tracking** — US Navy, IRGC Navy, zone classification, naval base proximity

## 🗺️ Interactive Theater Operations Dashboard

**Live Dashboard:** [magen-yehuda-intel.github.io/magen-yehuda-bot](https://magen-yehuda-intel.github.io/magen-yehuda-bot/)

A Leaflet-based interactive web dashboard visualizing **48,000+ geolocated conflict events** across the Middle East since October 7, 2023.

### Features

- **Theater Select** — 9 operational theaters including Persian Gulf, each with tailored map bounds and context
- **14 Conflict Phase Presets** — Jump to key moments: Oct 7 attack, Iran April strikes, Lebanon ground ops, Houthi naval campaign, and more
- **Force Disposition** — Filter events by side (Israel, Iran, Iran proxies, US/Coalition, Unknown)
- **Military Base Overlays** — 29 Iranian military sites + 20 US/Coalition bases with independent layer toggles
- **Event Type Filtering** — Clickable legend filters by airstrikes, shelling, ground combat, satellite detections, and more
- **News Feed Panel** — Live headlines from OSINT sources; click any headline to fly to its geolocated position on the map
- **Resizable Side Panel** — Drag to resize the info/news panel to your preference
- **Collapsible Timeline** — Temporal density visualization showing event concentration over time; expand/collapse as needed
- **Mobile-Responsive** — Full mobile support with a 5-tab bottom navigation bar (Map, Theaters, Filters, News, Timeline)

### Dashboard Data Sources

| Source | Events | Coverage | Description |
|--------|--------|----------|-------------|
| **ACLED** | 48,000+ | Oct 7, 2023 – Feb 2025 | Analyst-verified conflict events with lat/lon, actors, fatalities, event types |
| **OSINT** | 50 unique | Real-time | Curated events from 80+ Telegram, Twitter, and RSS sources |
| **NASA FIRMS** | 379 | Satellite pass intervals | Satellite fire/thermal anomaly detections across the region |
| **Pikud HaOref** | Live | Real-time | Israeli Home Front Command siren alerts |

### Screenshots

> _Screenshots coming soon. The dashboard is live at the URL above._

---

## Quick Start

### 1. Prerequisites

- **Python 3.9+** with `Pillow` (`pip3 install Pillow`)
- **bash**, **curl**, **jq**
- A **Telegram bot** ([create via @BotFather](https://t.me/BotFather))
- A **Telegram channel** (add your bot as admin)

### 2. Configure

```bash
cp config.example.json config.json
```

Edit `config.json`:

```json
{
  "telegram_bot_token": "YOUR_BOT_TOKEN",
  "telegram_chat_id": "@your_channel",
  "timezone": "Asia/Jerusalem",
  "outputs": [
    {
      "id": "main",
      "chat_id": "@your_english_channel",
      "language": "en",
      "timezone": "America/New_York",
      "content": ["all"],
      "images": "all"
    },
    {
      "id": "hebrew",
      "chat_id": "@your_hebrew_channel",
      "language": "he",
      "timezone": "Asia/Jerusalem",
      "content": ["all"],
      "images": "high_only"
    }
  ]
}
```

### 3. NASA FIRMS API Key (free, 30 seconds)

Fire detection needs a free NASA FIRMS MAP_KEY — no verification required.

1. Go to [mail.tm](https://mail.tm) or any temp email service
2. Copy the temp email address
3. Go to [FIRMS API](https://firms.modaps.eosdis.nasa.gov/api/area/) → **Get MAP_KEY**
4. Enter the email — key arrives instantly
5. Save it:
   ```bash
   mkdir -p secrets
   echo "YOUR_KEY" > secrets/firms-map-key.txt
   ```

The key is permanent with no rate limits.

### 4. Run

```bash
# One-time check (stdout)
bash ctl.sh check

# Start real-time watcher daemon
bash ctl.sh start

# Full dashboard
bash ctl.sh dashboard

# Stop
bash ctl.sh stop
```

### 🐳 Docker (Recommended for Cloud/Self-Hosting)

```bash
# Option A: Quick start with env vars
cp .env.example .env
# Edit .env with your Telegram bot token + channel IDs

docker compose up -d

# View logs
docker compose logs -f

# Stop
docker compose down
```

```bash
# Option B: Use your own config.json
docker build -t iran-israel-watcher .
docker run -d --name watcher \
  -v ./config.json:/app/config.json:ro \
  -v ./secrets:/app/secrets:ro \
  -v watcher-state:/app/state \
  iran-israel-watcher
```

```bash
# One-shot SITREP (without starting daemon)
docker run --rm --env-file .env ira
````

## File: SKILL.md
upstream: https://github.com/magen-yehuda-intel/magen-yehuda-bot/blob/HEAD/SKILL.md

Content is not inlined in the catalog. Read the upstream file: https://github.com/magen-yehuda-intel/magen-yehuda-bot/blob/HEAD/SKILL.md

## File: config.example.json
upstream: https://github.com/magen-yehuda-intel/magen-yehuda-bot/blob/HEAD/config.example.json

Content is not inlined in the catalog. Read the upstream file: https://github.com/magen-yehuda-intel/magen-yehuda-bot/blob/HEAD/config.example.json

## File: ctl.sh
upstream: https://github.com/magen-yehuda-intel/magen-yehuda-bot/blob/HEAD/ctl.sh

Content is not inlined in the catalog. Read the upstream file: https://github.com/magen-yehuda-intel/magen-yehuda-bot/blob/HEAD/ctl.sh

## File: docker-compose.yml
upstream: https://github.com/magen-yehuda-intel/magen-yehuda-bot/blob/HEAD/docker-compose.yml

Content is not inlined in the catalog. Read the upstream file: https://github.com/magen-yehuda-intel/magen-yehuda-bot/blob/HEAD/docker-compose.yml

## File: docker-entrypoint.sh
upstream: https://github.com/magen-yehuda-intel/magen-yehuda-bot/blob/HEAD/docker-entrypoint.sh

Content is not inlined in the catalog. Read the upstream file: https://github.com/magen-yehuda-intel/magen-yehuda-bot/blob/HEAD/docker-entrypoint.sh

## File: requirements.txt
upstream: https://github.com/magen-yehuda-intel/magen-yehuda-bot/blob/HEAD/requirements.txt

Content is not inlined in the catalog. Read the upstream file: https://github.com/magen-yehuda-intel/magen-yehuda-bot/blob/HEAD/requirements.txt
