Назад к обновлениям
New releaseAug 6, 2026

Shadowbroker v0.9.84

Геопространственная OSINT-платформа реального времени, объединяющая более 60 публичных телеметрических каналов (ADS-B, AIS, спутники, CCTV) на единой карте с серверным набором инструментов разведки, каналом AI-агента и децентрализованной ячеистой связью.

Поделиться

🛰️ S H A D O W B R O K E R

Глобальное перехватывание угроз — платформа геопространственной разведки в реальном времени


ShadowBroker

ShadowBroker — это децентрализованная платформа разведки, которая агрегирует многодоменную OSINT-телеметрию в реальном времени из 60+ живых источников в единый интерфейс карты теневых операций. Самолёты, корабли, спутники, зоны конфликтов, сети видеонаблюдения, глушение GPS, подключённые к интернету устройства, полицейские сканеры, узлы ячеистой радиосети и прорывные геополитические события — всё обновляется в реальном времени на одном экране, а также обфусцированный протокол связи и инфраструктура обмена информацией.

🛰️ Описание проекта

Построен на Next.js, MapLibre GL, FastAPI и Python. 40+ переключаемых слоёв данных, включая обнаружение изменений поверхности с помощью SAR, Telegram OSINT (предпросмотры публичных каналов, геопарсированные на карту), серверный набор инструментов разведки (DNS, WHOIS, санкции, BGP, IP-сканирование и другое), наложения рисков цепочки поставок и каналы киберугроз malware/C2 + CISA KEV. Несколько визуальных режимов (DEFAULT / SATELLITE / FLIR / NVG / CRT). Щелкните правой кнопкой мыши по любой точке Земли для получения досье страны, поиска главы государства, расширения графа сущностей и последнего спутникового снимка Sentinel-2. ShadowBroker не имеет учетных записей, телеметрии продукта или аналитики; панель управления общается с вашим собственным бэкендом. Конфиденциальные разведывательные запросы и запросы Shodan никогда не обращаются к сторонним API из браузера — они проксируются через бэкенд с защитой SSRF и аутентификацией локального оператора. Канал команд OpenClaw / агента предоставляет те же бэкенды разведки, а также полный поиск телеметрии — не требуется отдельная интеграция API.

Разработано для аналитиков, исследователей, радиолюбителей и всех, кто хочет увидеть, как выглядит мир, когда каждый публичный сигнал находится на одной карте.


🌍 Зачем это существует

Удивительно большой объем глобальной телеметрии уже является публичным — самолётные передачи ADS-B, морские сигналы AIS, данные спутниковых орбит, датчики землетрясений, сети ячеистого радио, полицейские сканеры, станции экологического мониторинга, телеметрия интернет-инфраструктуры и многое другое. Эти данные разбросаны по десяткам инструментов и API. ShadowBroker объединяет всё это в единый интерфейс.

Проект не вводит новых возможностей слежения — он агрегирует и визуализирует существующие публичные наборы данных. Он полностью открыт, так что любой может проверить, какие данные и как используются. ShadowBroker не включает телеметрию продукта, аналитику или учетные записи. Ключи оператора хранятся в вашем локальном развёртывании, но живые функции OSINT по необходимости делают исходящие запросы к публичным поставщикам данных, которые вы включаете или запрашиваете.


📡 Shodan и Разведка (безопасность в приоритете)

ShadowBroker включает опциональный коннектор Shodan для доступа к API через ключ оператора (SHODAN_API_KEY) и панель Recon Toolkit для бесключевых OSINT-запросов. Оба работают только на стороне сервера: браузер вызывает ваши маршруты /api/osint/* и /api/tools/shodan/*; исходящие запросы выполняются бэкендом после проверки SSRF. Разведка требует доступа локального оператора (та же модель доверия, что и переключатели слоёв и административные маршруты). Результаты Shodan отображаются в виде отдельного наложения на карту и подчиняются условиям использования Shodan.


🗺️ Интересные сценарии использования
  • Отслеживайте Air Force One, частные самолеты миллиардеров и диктаторов, а также все военные танкеры, самолеты ISR и истребители, передающие ADS-B. Air Force One и все сопровождающие президентские/вице-президентские самолеты выделяются и отслеживаются с момента взлета.
  • Подключите ИИ-агента в качестве соаналитика через HMAC-подписанный агентный командный канал ShadowBroker — поддерживает OpenClaw и любого другого агента, который «говорит» на протоколе (Claude, GPT, LangChain, кастомный). Агент получает полный доступ на чтение/запись ко всем 40+ слоям данных, компактный междоменный поиск (search_telemetry, search_news), полный набор инструментов разведки (osint_lookup для IP/DNS/WHOIS/санкций/CVE и т.д.), расширение графа сущностей, размещение меток, управление картой, SAR-обнаружение изменений поверхности, ячеистые сети и доставку оповещений. Он видит всё, что видит оператор, и может выполнять действия на карте в реальном времени.
  • Общайтесь в тестовой сети InfoNet — Первая децентрализованная разведывательная ячеистая сеть, встроенная в OSINT-инструмент. Обфусцированные сообщения с сетевыми персонажами, пиринговый обмен Dead Drop и встроенный терминальный CLI. Без учетных записей и регистрации. Конфиденциальность пока не гарантируется — это экспериментальная тестовая сеть, но протокол уже работает и укрепляется.
  • Щелкните правой кнопкой мыши в любом месте Земли чтобы получить досье страны (глава государства, население, языки), сводку из Wikipedia и последний спутниковый снимок Sentinel-2 с разрешением 10 м
  • Нажмите на узел KiwiSDR и слушайте живую коротковолновую радиосвязь прямо в панели управления. Нажмите на полицейский сканер и подслушивайте в один клик.
  • Наблюдайте за 11 000+ камер видеонаблюдения в 6 странах — Лондон, Нью-Йорк, Калифорния, Испания, Сингапур и другие — в прямом эфире на карте
  • Видьте зоны глушения GPS в реальном времени — вычисляемые на основе анализа деградации NAC-P по данным транспондеров самолётов
  • Отслеживайте спутники над головой, цветом обозначенные по типу миссии — военная разведка, SIGINT, SAR, раннее предупреждение, космические станции — с сетями наземных станций SatNOGS и TinyGS
  • Следите за морским трафиком, включая 25 000+ судов AIS, рыболовную активность через Global Fishing Watch и суперъяхты миллиардеров
  • Следите за землетрясениями, извержениями вулканов, активными пожарами (NASA FIRMS), оповещениями о сильной погоде и качеством воздуха по всему миру
  • Наносите на карту военные базы, 35 000+ электростанций, 2 000+ центров обработки данных и регионы с отключением интернета — с автоматическим перекрестным сопоставлением
  • Подключайтесь к узлам ячеистой радиосети Meshtastic и любительским радио сетям APRS — видимы на карте и интегрированы в Mesh Chat
  • Обнаруживайте изменения поверхности сквозь облачный покров с помощью SAR (синтезированной апертуры радара) — деформации грунта с миллиметровым разрешением, масштабы наводнений, нарушения растительности и оценки ущерба от NASA OPERA и Copernicus EGMS. Определите свои зоны наблюдения и получайте оповещения об аномалиях. Бесплатно с аккаунтом NASA Earthdata.
  • Переключайте визуальные режимы — DEFAULT, SATELLITE, FLIR (тепловизор), NVG (ночное видение), CRT (ретро-терминал) — через кнопку STYLE
  • Отслеживайте поезда в США (Amtrak) и Европе (DigiTraffic) в реальном времени
  • Оценивайте местоположение американских авианосцев с помощью автоматического парсинга новостей GDELT — ни один другой открытый инструмент этого не делает
  • Ищите подключённые к интернету устройства по всему миру через Shodan — камеры, SCADA-системы, базы данных — отображаемые в виде живого наложения на карте
  • Запускайте полный набор инструментов разведки на левой боковой панели — геолокация IP, DNS, RDAP/WHOIS, прозрачность сертификатов, BGP/ASN, поиск санкций OFAC, поиск CVE, проверки угроз Tor/OTX и сканирование подсетей (InternetDB проксируется на сервере)
  • Разворачивайте граф сущностей при выборе самолёта, судна, компании или IP — Wikidata + OFAC + живые магазинные перекрестные ссылки отображаются на панели Entity Graph
  • Отслеживайте риски цепочки поставок — заводы по производству полупроводников и батарей 1-го/2-го уровня оцениваются по близости к землетрясениям, пожарам и конфликтам (панель SCM)
  • Включайте горячие точки C2 вредоносного ПО — каналы abuse.ch Feodo Tracker + URLhaus, отображаемые по странам (опциональный слой)
  • Отслеживайте OSINT-каналы Telegram — публичные t.me/s военные/конфликтные каналы (OSINTdefender, NEXTA и т.д.) парсятся ежечасно, оцениваются по риску, геопарсируются к метро-якорям и отображаются в виде кликабельных меток с встроенными медиа
  • Накладывайте глобальные подводные кабели — статические маршруты кабелей на основе TeleGeography (опциональный слой)

⚡ Быстрый старт (Docker)

Из GitHub (по умолчанию — использует образы GHCR)```bash

git clone https://github.com/bigbodycobain/Shadowbroker.git cd Shadowbroker docker compose pull docker compose up -d

### Из GitLab (использует GitLab Container Registry)```bash
git clone https://gitlab.com/bigbodycobain/Shadowbroker.git
cd Shadowbroker
docker compose -f docker-compose.yml -f docker-compose.gitlab.yml pull
docker compose -f docker-compose.yml -f docker-compose.gitlab.yml up -d

Оба пути создают идентичные контейнеры — одинаковый исходный код, одинаковый CI, одинаковые образы до байта. Выбирайте ту экосистему, которую уже используете.

Откройте http://localhost:3000, чтобы увидеть панель управления! (Требуется Docker Desktop или Docker Engine)

Присоединитесь к частному рою InfoNet (sb-testnet-0): Нажмите NODE на панели управления или запустите ./meshnode.sh для безголового участника. Никакого ручного списка узлов — флот по умолчанию находит seed и автоматически загружает подписанный манифест. Установите MESH_INFONET_FLEET_JOIN=false в .env для частного изолированного узла.

Порт бэкенда уже занят? Браузеру нужен только порт 3000, но API бэкенда также публикуется на порту хоста 8000 для локальной диагностики. Если другое приложение уже использует 8000, создайте или отредактируйте .env рядом с docker-compose.yml и установите BACKEND_PORT=8001, затем запустите docker compose up -d.

Пустые новости/UAP/базы/сточные воды через несколько минут? Проверьте перезапуски бэкенда из-за OOM с помощью docker events --since 30m --filter container=shadowbroker-backend --filter event=oom. Файл compose по умолчанию выделяет бэкенду 4 ГБ; если на вашем хосте меньше памяти, уменьшите количество включенных фидов или установите BACKEND_MEMORY_LIMIT=3G и ожидайте, что более тяжелые слои будут прогреваться медленнее.

Пользователи Podman: Podman работает, но podman compose — это обертка, и все равно требуется установленный провайдер Compose. На Windows/WSL, если вы видите looking up compose provider failed, установите podman-compose и выполните podman-compose pull, а затем podman-compose up -d из папки клонированного репозитория Shadowbroker. На оболочках Linux/macOS/WSL также можно использовать ./compose.sh --engine podman pull и ./compose.sh --engine podman up -d.


🔄 Как обновить

ShadowBroker использует предварительно собранные образы Docker — локальная сборка не требуется. Обновление занимает секунды:```bash docker compose pull docker compose up -d

Вот и всё. `pull` загружает последние образы, `up -d` перезапускает контейнеры.

> **Обновляетесь с более старой версии?** Сначала получите последний код репозитория, затем загрузите образы:
>
> ```bash
> git pull origin main
> docker compose down
> docker compose pull
> docker compose up -d
> ```
>
> Пользователи Podman должны выполнить эквивалентную команду своего провайдера, например `podman-compose pull` и `podman-compose up -d`, или использовать `./compose.sh --engine podman pull` и `./compose.sh --engine podman up -d` в bash-совместимой оболочке.

### Целостность обновлений

Обновления Docker доставляются через подписанные реестры контейнеров. Устаревший ZIP-самообновитель проверяет архивы релизов по следующей цепочке (в порядке приоритета):

* `MESH_UPDATE_SHA256`, если оператор явно задаёт дайджест.
* `backend/data/release_digests.json` для встроенных привязок релизов.
* Файл `SHA256SUMS.txt` релиза на GitHub, если встроенная привязка отсутствует.

Сопровождающие релизов должны запускать `python backend/scripts/release_helper.py hash <ShadowBroker_vX.Y.Z.zip>` перед публикацией, затем публиковать `SHA256SUMS.txt` и обновлять `backend/data/release_digests.json` при поставке цели обновления через ZIP. Обновитель сохраняет нетронутым путь переопределения оператора вместо того, чтобы завершаться ошибкой при отсутствии встроенных дайджестов, чтобы существующие установки не оставались заблокированными из-за ошибки в процессе выпуска.

### Усиление CSP

Production-фронтенд поставляется с CSP, совместимым с гидратацией, и строгим CSP только с nonce в заголовке `Content-Security-Policy-Report-Only`. Устанавливайте `SHADOWBROKER_STRICT_CSP=1` только после проверки того, что точная сборка гидратируется корректно в вашем окружении. Runtime Google Fonts не требуются; встроенный конвейер шрифтов Next обслуживает шрифты панели управления из сборки приложения.

### ⚠️ **Застряли на старой версии?**

**Если `git pull` завершается ошибкой или `docker compose up` продолжает собирать из исходников вместо загрузки образов**, ваш клон предшествует миграции репозитория марта 2026 года, которая переписала историю коммитов. Обычный `git pull` это не исправит. Выполните:```bash
# Back up any local config you want to keep (.env, etc.)
cd ..
rm -rf Shadowbroker
git clone https://github.com/bigbodycobain/Shadowbroker.git
cd Shadowbroker
docker compose pull
docker compose up -d

Как понять, что вы затронуты: Если docker compose up показывает RUN apt-get, RUN npm ci или RUN pip install — значит, сборка происходит из исходного кода, а не из предварительно собранных образов. Вам нужен свежий клон.

Другие способы устранения неисправностей:

  • Принудительная перезагрузка: docker compose pull --no-cache
  • Очистка старых образов: docker image prune -f
  • Проверка логов: docker compose logs -f backend

☸️ Kubernetes / Helm (Продвинутый уровень)

Для развёртывания в режиме высокой доступности или домашних лабораторных кластеров ShadowBroker поддерживает развёртывание через Helm. Эта диаграмма основана на шаблоне bjw-s-labs и обеспечивает надёжную, модульную настройку как для бэкенда, так и для фронтенда.

1. Добавление репозитория:```bash helm repo add bjw-s-labs https://bjw-s-labs.github.io/helm-charts/ helm repo update

**2. Установите чарт:**```bash
# Default — pulls images from GHCR
helm install shadowbroker ./helm/chart --create-namespace --namespace shadowbroker

# GitLab registry variant
helm install shadowbroker ./helm/chart --create-namespace --namespace shadowbroker \
  -f helm/chart/values.yaml \
  -f helm/chart/values-gitlab.yaml

3. Ключевые особенности:

  • Модульная архитектура: Независимое масштабирование серверной части интеллекта и фронтенда HUD.
  • Контекст безопасности: Запускается с ограниченными UID (1001) для укрепления контейнеров.
  • Готовность к Ingress: Совместим с Traefik, Cert-Manager и Gateway API для безопасного внешнего доступа к вашему узлу интеллекта.

Особая благодарность @chr0n1x за вклад в первоначальную архитектуру Kubernetes.


🌐 Экспериментальная тестовая сеть — Без гарантии конфиденциальности

ShadowBroker v0.9.7 поставляется с InfoNet (децентрализованная интеллектуальная сеть + экономика управления Sovereign Shell), агентическим командным каналом ИИ (поддерживает OpenClaw и любого агента, подписывающего HMAC), воспроизведением снимков Time Machine и обнаружением изменений наземного покрова SAR. Это экспериментальная тестовая сеть — не приватный мессенджер и не производственная система управления.

КаналСтатус конфиденциальностиПодробности
Meshtastic / APRSПУБЛИЧНЫЙRF-радиопередачи являются публичными и перехватываемыми по своей конструкции.
InfoNet Gate ChatЗАПУТАНСообщения запутываются с помощью аватаров шлюзов и канонической подписи полезной нагрузки, но НЕ сквозного шифрования. Метаданные не скрыты, несмотря на то, что предназначены для прохождения через Tor и Reticulum (работа в процессе).
Dead Drop DMsСАМЫЙ СИЛЬНЫЙ ТЕКУЩИЙ КАНАЛТокен-ориентированный почтовый ящик эпохи с верификацией слов SAS. Самый сильный канал в этой сборке, но пока не является уверенно приватным.
Управление Sovereign ShellПУБЛИЧНЫЙ РЕЕСТРПетиции, голосования, хэши обновлений и ставки в спорах являются подписанными событиями в публичной хэш-цепочке. Псевдоним через аватар шлюза, но действия по управлению намеренно наблюдаемы.
Примитивы конфиденциальности (RingCT / stealth / DEX)ЕЩЕ НЕ ПОДКЛЮЧЕНЫЗаблокированные контракты протокола на месте, но криптографическая схема еще не выбрана. Крейт Rust privacy-core является целью интеграции для будущего спринта.

Не передавайте ничего конфиденциального ни по одному каналу. Пока что относитесь ко всем каналам как к открытым и публичным. Сквозное шифрование и более глубокая нативная/ Tauri-закалка являются следующими вехами. Если вы форкнете этот проект, сохраните эти метки нетронутыми и не делайте более сильных заявлений о конфиденциальности, чем позволяет реализация.

Для полной картины того, от чего на самом деле защищает сеть, а от чего нет, прочитайте модель угроз и согласование утверждений. Каждое предложение выше сопоставлено там с путем кода, который его реализует (или не реализует).


✨ Возможности

🧅 InfoNet — Децентрализованная интеллектуальная сеть + Sovereign Shell (расширено в v0.9.7)

Первый децентрализованный уровень коммуникации и управления интеллектом, встроенный непосредственно в платформу OSINT. Никаких аккаунтов, регистрации или удостоверения личности не требуется. v0.9.7 превращает InfoNet из чат-слоя в полноценную экономику управления с четким путем к платформе децентрализованного интеллекта, сохраняющей конфиденциальность.

Коммуникационный слой (начиная с v0.9.6):

  • InfoNet Экспериментальная тестовая сеть — Глобальный, запутанный ретранслятор сообщений, использующий Tor и Reticulum. Любой, кто запускает ShadowBroker, может передавать и принимать сообщения в InfoNet. Сообщения проходят через слой ретрансляции Wormhole с аватарами шлюзов, канонической подписью полезной нагрузки Ed25519 и транспортной обфускацией.
  • Панель чата Mesh — Интерфейс с тремя вкладками: INFONET (чат шлюзов с запутанным транспортом), MESH (интеграция радио Meshtastic), DEAD DROP (одноранговый обмен сообщениями с токен-ориентированными почтовыми ящиками эпохи — самый сильный текущий канал).
  • Система аватаров (Gate Persona) — Псевдонимные удостоверения с ключами подписи Ed25519, наборами prekey, верификацией контактов с помощью слов SAS и отчетностью о злоупотреблениях.
  • Терминал Mesh — Встроенный CLI: send, dm, рыночные команды, проверка состояния шлюза. Перетаскиваемая панель, сворачивается в верхнюю панель. Введите help, чтобы увидеть все команды.
  • Крипто-стек — Подпись Ed25519, Diffie-Hellman X25519, шифрование AESGCM с выводом ключей HKDF, система фиксации хэш-цепочек. В разработке каркас для сквозного шифрования (Double-ratchet DM).

Sovereign Shell — экономика управления (НОВОЕ в v0.9.7):

  • Петиции + DSL управления — Изменения параметров в цепочке через подписанные петиции. Типобезопасный исполнитель полезной нагрузки для UPDATE_PARAM, BATCH_UPDATE_PARAMS, ENABLE_FEATURE и DISABLE_FEATURE. Настраиваемые параметры (knobs) изменяются голосованием — развертывание кода не требуется.
  • Управление хэшем обновления (Upgrade-Hash Governance) — Для обновлений протокола, требующих новой логики (а не просто изменения параметров), голосование проводится по SHA-256 хэшу проверенного релиза. 80% супербольшинство, 40% кворум, 67% активация Heavy-Node. Жизненный цикл: подписи → голосование → период оспаривания → ожидание готовности → активировано.
  • Рынки разрешения и споров (Resolution & Dispute Markets) — Делайте ставки на результаты разрешения рынков (да / нет / данные_недоступны), открывайте споры с обеспеченными доказательствами и делайте ставки на подтверждение или отмену спора. Состояние отправки для каждой строки остается изолированным, чтобы параллельные действия не конкурировали за один слот.
  • Предоставление доказательств (Evidence Submission) — Пакеты доказательств с обеспечением с канонизацией SHA-256 на стороне клиента, точно соответствующей Python repr(), чтобы хэши проходили по цепочке безошибочно.
  • Приостановка / остановка шлюза / апелляции — Формы для подачи заявки на приостановку или остановку шлюза с возможностью повторного использования потока апелляций, автоматически нацеленного на ожидающую петицию.
  • Bootstrap Eligible-Node-One-Vote — Первые 100 рынков разрешаются по принципу один голос на один соответствующий узел вместо разрешения, взвешенного по ставкам. Соответствие критериям: возраст удостоверения ≥ 3 дней, отсутствие в наборе исключений для предикторов, действительный Argon2id PoW (только для Heavy-Node). Переход к разрешению со ставками при 1000 узлах.
  • Двухуровневое состояние + финальность эпохи — События Уровня 1 распространяются в стиле CRDT для низкой задержки; события Уровня 2 требуют финальности эпохи, прежде чем на них можно будет реагировать. Ротация удостоверений, прогрессивные штрафы, поэтапные вехи и конституционные инварианты, обеспечиваемые через MappingProxyType.
  • Адаптивный опрос (Adaptive Polling) — Представления Sovereign Shell опрашиваются каждые 8 секунд во время активных фаз голосования / оспаривания / активации, каждые 30–60 секунд в состоянии простоя. Голосование кажется живым без слоя websocket.
  • Дословная диагностика — Каждая кнопка записи отображает дословную причину отклонения от бэкенда. Никаких непрозрачных уведомлений "отказано".

Зона развёртывания примитивов конфиденциальности (НОВОЕ в v0.9.7):

  • Функциональные ключи — Каркас анонимных учетных данных — Создана инфраструктура для нуллификаторов, запрос-ответа, квитанций двухфазной фиксации, перечисленных кодов отказа и пакетных расчетов. Сегодняшний запрос-ответ является HMAC-заполнителем для интеграционного тестирования, а не производственным анонимным доказательством гражданства с нулевым разглашением. Истинно неотслеживаемая выдача все еще ожидает решения по примитиву (RSA blind sigs vs BBS+ vs U-Prove vs Idemix).
  • Заблокированные контракты протокола — Стабильные интерфейсы в services/infonet/privacy/contracts.py для кольцевых подписей, скрытых адресов, обязательств Педерсена, доказательств диапазона и сопоставления DEX. Крейт Rust privacy-core является целью интеграции — ни один вызывающий модуль конфиденциальности не должен знать, какая схема активна.
  • Путь Спринта 11+ — Когда криптографическая схема будет выбрана, примитивы подключаются к заблокированным протоколам без изменения API.

Экспериментальная тестовая сеть — Без гарантии конфиденциальности: Сообщения InfoNet запутаны, но НЕ зашифрованы сквозным шифрованием. Сеть Mesh (Meshtastic/APRS) НЕ является приватной — радиопередачи по своей природе публичны. Контракты примитивов конфиденциальности созданы, но еще не подключены. Не отправляйте ничего конфиденциального ни по одному каналу. Пока что относитесь ко всем каналам как к открытым и публичным.

🔍 Набор инструментов разведки и Shodan (на основе Osiris, безопасность в первую очередь)

Адаптировано из стека разведки OSIRIS (MIT) с прокси-моделью ShadowBroker. Атрибуция: backend/third_party/osiris/NOTICE.md.

Набор инструментов разведки (левая боковая панель — только локальный оператор):

  • IP / DNS / WHOIS — Геолокация ip-api.com, Google DNS-over-HTTPS, данные регистранта RDAP с опциональной оценкой заголовков безопасности HTTP
  • Сертификаты и BGP — Поиск поддоменов crt.sh, поиск ASN/префиксов bgpview.io
  • Threat intel — Импульсы AlienVault OTX, проверка выходных узлов Tor, опциональная репутация IP/домена
  • Санкции — Индекс OpenSanctions us_ofac_sdn (CC-BY); перекрестные проверки по сущностям WHOIS и строкам ISP/org IP
  • CVE / MAC / GitHub / утечки — API MITRE CVE, поиск производителя MAC, разведка профиля GitHub, проверки публичных нарушений
  • IP sweep/api/osint/sweep/scan геолоцирует целевой диапазон /24–/32 и проксирует обнаружение хостов Shodan InternetDB на стороне сервера (браузер никогда не контактирует напрямую с InternetDB)
  • Защита SSRF — Приватные, loopback, link-local и метаданные имена хостов блокируются перед любым пользовательским запросом на получение данных

Граф сущностей — Выберите любую сущность на карте, чтобы открыть панель Графа сущностей (GET /api/entity/expand). Разрешает самолеты, суда, компании, лица, IP-адреса и страны в граф узлов/связей (Wikidata SPARQL + OFAC + хранилище рейсов/судов в памяти).

OpenClaw / доступ агента — Те же бэкенды разведки доступны по командному каналу HMAC (без шлюза локального оператора браузера): osint_lookup (пассивный IP/DNS/WHOIS/сертификаты/BGP/санкции/CVE/MAC/GitHub/утечки/угрозы), entity_expand (граф отношений) и osint_sweep (активное сканирование подсети — полный уровень доступа). Вызов osint_tools для вывода списка поддерживаемых типов поиска. Пакет навыков: openclaw-skills/shadowbroker/ (SKILL.md + sb_query.py).

Наложение Shodan (без изменений):

  • Поиск интернет-устройств — Запрос к Shodan с вашим собственным ключом API; результаты отображаются как живое наложение на карту
  • Настраиваемые маркеры — Настройка формы, цвета и размера для результатов Shodan

🛩️ Отслеживание авиации

  • Коммерческие рейсы — Позиции в реальном времени через OpenSky Network (~5 000+ самолетов)
  • Частные самолеты — Легкая GA, турбовинтовые, бизнес-джеты отслеживаются отдельно
  • Частные джеты — Самолеты лиц с высоким доходом с идентификацией владельца
  • Военные рейсы — Танкеры, ISR, истребители, транспортники через военную конечную точку adsb.lol
  • Накопление треков рейсов — Постоянные следы (breadcrumb trails) для всех отслеживаемых самолетов
  • Обнаружение режима ожидания (Holding Pattern Detection) — Автоматически помечает самолеты, выполняющие круги (>300° общего поворота)
  • Классификация самолетов — Точные по форме SVG-иконки: авиалайнеры, турбовинтовые, бизнес-джеты, вертолеты
  • Обнаружение на земле — Самолеты ниже 100 футов AGL отображаются серыми иконками

🚢 Морское отслеживание

  • Поток судов AIS — 25 000+ судов через WebSocket aisstream.io (в реальном времени)
  • Классификация судов — Грузовые, танкеры, пассажирские, яхты, военные типы судов с цветными иконками
  • Трекер авианосных ударных групп — Все 11 активных авианосцев ВМС США с оцененными по OSINT позициям. Никакой другой открытый инструмент этого не делает.
    • Автоматизированный сбор новостей GDELT анализирует отчеты о перемещении авианосцев для оценки позиций
    • 50+ сопоставлений географических регионов с координатами (например, "Восточное Средиземноморье" → широта/долгота)
    • Кэшированные на диске позиции, автообновление в 00:00 и 12:00 UTC
  • Круизные и пассажирские суда — Выделенный слой для круизных лайнеров и паромов
  • Рыболовная деятельность — События судов Global Fishing Watch (НОВОЕ)
  • Кластеризованное отображение — Суда группируются при низком масштабе с метками количества, разделяются при увеличении

🚆 Отслеживание поездов (НОВОЕ в v0.9.6)

  • Поезда Amtrak — Позиции поездов Amtrak по всем США в реальном времени со скоростью, курсом, маршрутом и статусом
  • Европейские железные дороги — Интеграция DigiTraffic для позиций европейских поездов

🛰️ Космос и спутники

  • Орбитальное отслеживание — Позиции спутников в реальном времени через данные TLE CelesTrak + распространение SGP4 (2 000+ активных спутников, ключ API не требуется)
  • Классификация по типу миссии — Цветовая кодировка по миссии: военная разведка (красный), SAR (голубой), SIGINT (белый), навигация (синий), раннее предупреждение (пурпурный), коммерческая съемка (зеленый), космическая станция (золотой)
  • SatNOGS Наземные станции — Сеть любительских спутниковых наземных станций с данными наблюдений в реальном времени (НОВОЕ)
  • TinyGS LoRa спутники — Отслеживание созвездия LoRa спутников (НОВОЕ)

🌍 Геополитика и конфликты

  • Глобальные инциденты — Агрегация событий конфликтов на основе GDELT (за последние 8 часов, ~1 000 событий)
  • Линия фронта Украины — Живой GeoJSON военного фронта от DeepState Map
  • Воздушные тревоги Украины — Оповещения о региональных авиаударах в реальном времени (НОВОЕ)
  • Лента новостей SIGINT/RISINT — Агрегация RSS в реальном времени из нескольких источников, ориентированных на разведку, с настраиваемыми пользователем лентами (до 20 источников, настраиваемые веса приоритета 1-5)
  • Досье региона — Щелкните правой кнопкой мыши в любом месте Земли для мгновенной разведывательной сводки:
    • Профиль страны (население, столица, языки, валюты, площадь)
    • Текущий глава государства и тип правительства (живой запрос Wikidata SPARQL)
    • Местное резюме из Википедии с миниатюрой
    • Последнее спутниковое фото Sentinel-2 с датой съемки и облачным покровом (разрешение 10 м)

🛰️ Спутниковые снимки

  • NASA GIBS (MODIS Terra) — Ежедневное наложение спутниковых снимков в истинных цветах с ползунком времени на 30 дней, воспроизведением/паузой анимации и контролем непрозрачности (~250 м/пиксель)
  • High-Res Satellite (Esri) — Снимки с субметровым разрешением через Esri World Imagery — увеличьтесь до деталей зданий и местности (увеличение 18+)
  • Карточка разведданных Sentinel-2 — Щелкните правой кнопкой мыши в любом месте карты для плавающей карточки с последним спутниковым фото Sentinel-2 с датой съемки, % облачного покрова и кликабельным полноразмерным изображением (разрешение 10 м, обновляется каждые ~5 дней)
  • Sentinel Hub Process API — Спутниковые снимки Copernicus CDSE с потоком токенов OAuth2 (НОВОЕ)
  • VIIRS Nightlights — Наложение обнаружения изменений ночного освещения (НОВОЕ)
  • 5 Визуальных режимов — Переключение эстетики всей карты через кнопку СТИЛЬ:
    • DEFAULT — Темная базовая карта CARTO
    • SATELLITE — Субметровое Esri World Imagery
    • FLIR — Эстетика тепловизионного изображения (инвертированная серая шкала)
    • NVG — Зеленый фосфор ночного видения
    • CRT — Ретро наложение строк развертки терминала

🛰️ Обнаружение изменений наземного покрова SAR (НОВОЕ)

  • Слой синтезированной апертурной радиолокации — Обнаруживает изменения на земле сквозь облачный покров, ночью, в любом месте Земли. Два режима, оба бесплатные:
    • Режим A (Каталог) — Бесплатные метаданные сцен Sentinel-1 от Alaska Satellite Facility. Аккаунт не требуется. Показывает, когда прошли радиолокационные измерения над вашими AOI и когда ожидается следующее измерение.
    • Режим B (Полные аномалии) — Оповещения об изменениях на земле в реальном времени от NASA OPERA (DISP, DSWx, DIST-ALERT) и Copernicus EGMS. Требуется бесплатная учетная запись NASA Earthdata — встроенный мастер проведет вас через настройку менее чем за минуту.
  • Типы аномалий — Деформация земной поверхности (проседание в мм, оползни), изменение поверхностных вод (масштаб наводнения), нарушения растительности (вырубка лесов, ожоговые пятна, кратеры от взрывов), оценка ущерба (проверенные UNOSAT/Copernicus EMS) и обнаружение изменений когерентности
  • Визуализация на карте — Цветные булавки аномалий по типу (оранжевый для деформации, голубой для воды, зеленый для растительности, красный для ущерба, пурпурный для когерентности). Границы AOI отображаются в виде штриховых полигонов с цветовой кодировкой по категории. Нажмите на любую булавку для всплывающего окна с подробностями, включая величину, уверенность, решатель, количество сцен и ссылку на происхождение.
  • Редактор AOI — Определяйте интересующие области непосредственно с карты. Нажмите кнопку "EDIT AOIs", когда активен слой SAR, затем используйте инструмент перекрестия, чтобы щелчком установить центр AOI на карте. Задайте имя, радиус (1–500 км) и категорию. AOI немедленно появляются на карте.
  • Интеграция с OpenClaw — Агент ИИ может проверять детали аномалий SAR (sar_pin_click) и перемещать карту оператора в центр любого AOI (sar_focus_aoi) — что позволяет реализовать коллаборативные рабочие процессы аналитиков.
  • Панель настроек — Выделенная вкладка SAR в Настройках показывает статус Режима A/B, состояние интеграции OpenClaw и позволяет одним щелчком отозвать учетные данные Earthdata.

📻 Программно-определяемое радио и SIGINT

  • Приемники KiwiSDR — 500+ публичных SDR-приемников, нанесенных на карту мира с кластеризованными янтарными маркерами
  • Живой радиотюнер — Нажмите на любой узел KiwiSDR, чтобы открыть встроенный тюнер SDR непосредственно на панели SIGINT
  • Отображение метаданных — Имя узла, местоположение, тип антенны, частотные диапазоны, активные пользователи
  • Mesh Radio Meshtastic — Интеграция mesh-радио на основе MQTT с картой узлов, интегрировано в Mesh Chat (НОВОЕ)
  • Интеграция APRS — Позиционирование любительского радио через TCP-канал APRS-IS (НОВОЕ)
  • Обнаружение глушения GPS — Анализ значений NAC-P (Navigation Accuracy Category) самолетов в реальном времени
    • Агрегация на основе сетки для идентификации зон помех
    • Красные квадраты наложения с метками серьезности "GPS JAM XX%"
  • Панель радиоперехвата — Интерфейс в стиле сканера с каналами полиции/пожарной службы OpenMHZ. Нажмите на любую систему, чтобы слушать в прямом эфире. Режим сканирования автоматически циклически перебирает активные каналы. Подслушивание одним щелчком по реальным экстренным коммуникациям.

📷 Наблюдение

  • CCTV Mesh — 22 000+ камер дорожного движения в реальном времени от 21 сборщика из 10 стран (США, Великобритания, Канада, Австралия, Австрия, Испания, Сингапур, Нидерланды, когда доступен канал NDW, плюс OSM):
    • 🇬🇧 Transport for London JamCams
    • 🇺🇸 NYC DOT, Austin TX (TxDOT)
    • 🇺🇸 Калифорния (12 районов Caltrans), Вашингтон (WSDOT), Georgia DOT, Illinois DOT, Michigan DOT
    • 🇪🇸 Испания DGT National (20 городов), Мадрид (357 камер через KML)
    • 🇦🇹 Австрия ASFINAG автомагистральные веб-камеры
    • 🇸🇬 Сингапур LTA
    • 🌍 Windy Webcams
  • Обработка каналов — Автоматическое обнаружение и обработка видео, MJPEG, HLS, embed, спутниковых тайлов и изображений
  • Кластеризованное отображение на карте — Зеленые точки группируются с метками количества, разделяются при увеличении

🔥 Мониторинг окружающей среды и опасностей

  • NASA FIRMS Fire Hotspots (24ч) — 5 000+ глобальных тепловых аномалий со спутника NOAA-20 VIIRS, обновляемые каждый цикл. Иконки в форме пламени, цвет которых зависит от радиационной мощности пожара (FRP): желтый (низкая), оранжевый, красный, темно-красный (интенсивная). Кластеризованы при низком масштабе с маркерами кластеров в форме огня.
  • Вулканы — Голоценовые вулканы Смитсоновской программы глобального вулканизма, нанесенные на карту мира (НОВОЕ)
  • Оповещения о погоде — Полигоны суровой погоды с индикаторами срочности/серьезности (НОВОЕ)
  • Качество воздуха (PM2.5) — Станции OpenAQ по всему миру с показателями твердых частиц в реальном времени (НОВОЕ)
  • Землетрясения (24ч) — Канал землетрясений USGS в реальном времени с маркерами, масштабированными по магнитуде
  • Значок космической погоды — Индикатор геомагнитной бури NOAA в реальном времени в нижней строке состояния. Цветовой код Kp-индекса: зеленый (спокойно), желтый (активно), красный (буря G1–G5). Данные с 1-минутного канала планетарного K-индекса SWPC.

🏗️ Мониторинг инфраструктуры* Мониторинг отключений интернета — Региональные оповещения о состоянии интернет-соединений от Georgia Tech IODA. Серые маркеры на затронутых регионах с указанием процента серьезности. Использует только надежные источники данных (таблицы маршрутизации BGP, активный пинг) — без телескопов или интерполированных данных.

  • Картографирование центров обработки данных — Более 2 000 мировых центров обработки данных, нанесенных на карту из подобранного набора данных. Сгруппированные фиолетовые маркеры с иконками серверных стоек. Нажмите для получения информации об операторе, местоположении и автоматическом перекрестном сопоставлении с отключениями интернета по странам.
  • Военные базы — Глобальная база данных военных установок и ракетных объектов (НОВОЕ)
  • Электростанции — Более 35 000 мировых электростанций из базы данных WRI (НОВОЕ)
  • Подводные кабели — Глобальные маршруты подводных кабелей из статического GeoJSON на основе TeleGeography (frontend/public/data/submarine-cables.json). Наложение линий по желанию.
  • Слой C2 вредоносного ПО — Серверы управления ботнетов (Feodo Tracker) и недавние URL-адреса вредоносного ПО (URLhaus) от abuse.ch, обновляемые на медленном уровне, когда слой включен.
  • Риск поставщиков SCM — Фабрики Tier 1/2 и заводы по производству батарей (TSMC, Samsung, CATL и т. д.) с перекрестным сопоставлением с землетрясениями, пожарами FIRMS и близостью к конфликтам GDELT. Оповещения на панели SCM; необязательный слой карты.
  • Канал киберугроз — Недавние записи CISA Known Exploited Vulnerabilities (KEV), доступные через /api/cyber-threats и переключение слоя.
  • Индекс странового риска — Статические баллы геополитического риска с обогащением данными о землетрясениях USGS через /api/country-risk.
  • Telegram OSINT — Веб-превью публичных каналов (t.me/s/*) из настраиваемых каналов войны/OSINT. Ежечасное инкрементальное слияние (без избыточного повторного сбора), оценка риска по ключевым словам, псевдонимы мест на кириллице и арабском, геокодирование по метро-якорям (отдельно от центроидов новостей), встроенные фото/видео через прокси /api/telegram/media. Ключ слоя: telegram_osint.

🌐 Дополнительные слои и инструменты

  • Цикл дня/ночи — Наложение солнечного терминатора, показывающее глобальный свет/темноту
  • Тикер мировых рынков — Индексы финансовых рынков в реальном времени (сворачиваемый)
  • Инструмент измерения — Измерение расстояния и азимута между точками на карте
  • Панель LOCATE — Поиск по координатам (31.8, 34.8) или названию места (Тегеран, Ормузский пролив) для прямого перелета к любой точке — геокодирование через OpenStreetMap Nominatim

Gaza

🤖 Канал команд ИИ-агентов — OpenClaw + совместимые агенты (расширено в v0.9.7)

ShadowBroker предоставляет двунаправленный канал команд ИИ-агентов — подписанный мост с ограничением по уровням, который дает любому совместимому ИИ-агенту полный доступ на чтение и запись к платформе разведки. OpenClaw является эталонным агентом, но канал — это открытый протокол: любой агент на основе LLM, который подписывает запросы с помощью HMAC-SHA256 (Claude Code, GPT, LangChain, пользовательские клиенты Python/TypeScript или ваша собственная интеграция), может подключиться как аналитик, видящий те же данные, что и оператор, и выполнять действия на карте. ShadowBroker не включает в себя LLM, среду выполнения агента или веса моделей — он предоставляет интерфейс; вы приносите агента.

v0.9.7 превращает ShadowBroker из панели, за которой следит человек, в разведывательную поверхность, с которой может работать любой агент.

Транспорт канала (НОВОЕ в v0.9.7):

  • Одиночный канал командPOST /api/ai/channel/command принимает {cmd, args} и отправляет любому зарегистрированному инструменту.
  • Пакетное параллельное выполнениеPOST /api/ai/channel/batch принимает до 20 команд в одном запросе. Бэкенд выполняет их параллельно и возвращает карту результатов. Снижает задержку агента на порядок по сравнению с последовательными вызовами.
  • Доступ с ограничением по уровнямOPENCLAW_ACCESS_TIER контролирует, какие команды может вызывать агент: restricted предоставляет набор только для чтения, full добавляет запись и инъекции. Конечная точка обнаружения возвращает available_commands, чтобы агент мог самостоятельно оценить свои возможности.
  • Подпись HMAC-SHA256 — Каждая команда подписывается HMAC-SHA256(secret, METHOD|path|timestamp|nonce|sha256(body)) с защитой от повторения на основе временной метки и одноразового номера, а также целостностью запроса. Поддерживает локальный режим (без настройки) и удаленный режим (агент на другой машине / VPS).

Возможности:

  • Полный доступ к телеметрии — Агент запрашивает все 40+ слоев данных: рейсы, корабли, спутники, SIGINT, события конфликтов, землетрясения, пожары, сточные воды, Telegram OSINT, вредоносное ПО/C2, киберугрозы CISA KEV, наложения SCM, рыболовная активность (GFW), рынки прогнозов и другое. Конечные точки быстрого и медленного уровня возвращают обогащенные данные с географическими координатами, временными метками и указанием источника.
  • Компактный поиск (предпочтительнее полных выгрузок)get_summaryget_layer_slice с поуровневыми since_layer_versions (SSE-уведомление layer_changed сообщает агенту, какие именно слои обновились). search_telemetry — это межслойный индекс ключевых слов в стиле Google. search_news охватывает новости, GDELT, CrowdThreat, LiveUAMap, линии фронта и сообщения Telegram. entities_near, brief_area, find_flights/find_ships/find_entity и correlate_entity отвечают на целевые вопросы без многомегабайтных загрузок.
  • Набор инструментов разведки на каналеosint_lookup использует те же защищенные от SSRF бэкенды, что и панель разведки (ip, dns, whois, certs, bgp, sanctions, cve, mac, github, leaks, threats, sweep_init). entity_expand строит графы связей Wikidata + OFAC. osint_sweep запускает обнаружение подсетей Shodan InternetDB (уровень full). Псевдонимы слоев: telegram, malware/botnet, cyber/cisa/kev, scm/suppliers, gfw/fishing.
  • Метки ИИ-разведки — Размещайте цветные маркеры расследований прямо на карте оператора. 14 категорий меток (угроза, аномалия, военные, морские, авиационные, SIGINT, инфраструктура и т. д.) с оценками достоверности, временем жизни (TTL), URL-адресами источников и пакетным размещением до 100 меток за раз.
  • Управление картой — Перемещайте вид карты оператора к любым координатам, запускайте поиск спутниковых снимков и открывайте досье регионов. Агент может направлять внимание оператора на конкретные места в реальном времени.
  • SAR Изменения на местности — Запрашивайте каналы аномалий SAR, просматривайте детали меток, управляйте AOI и перемещайте карту для наблюдения за областями. Агент может отслеживать деформацию грунта, масштабы наводнений или повреждения и продвигать аномалии до меток.
  • Внедрение в собственные слои — Отправляйте пользовательские данные непосредственно в собственные слои ShadowBroker (камеры видеонаблюдения, корабли, узлы SIGINT, военные базы и т. д.), чтобы источники, обнаруженные агентом, отображались вместе с реальными каналами.
  • Участие в Wormhole Mesh — Агент может присоединиться к децентрализованной InfoNet, публиковать подписанные сообщения, вступать в зашифрованные каналы шлюзов, отправлять/получать зашифрованные личные сообщения и взаимодействовать с радио Meshtastic и Dead Drops — действуя как полноценный пир сети.
  • Участие в Sovereign Shell (v0.9.7) — Подавайте петиции, подписывайте и голосуйте за изменения управления, делайте ставки на резолюции и споры, сигнализируйте о готовности Heavy-Node к обновлениям — все программно, все с ограничением по уровню и HMAC. Агенты становятся полноценными участниками децентрализованной разведывательной экономики.
  • Геокодирование и сканирование близости — Преобразуйте названия мест в координаты, затем сканируйте все слои в радиусе для получения полного отчета по близости.
  • Новости и GDELT рядом с местоположением — Получайте события конфликтов GDELT и сводки новостей рядом с любыми координатами для региональной ситуационной осведомленности.
  • Доставка оповещений — Отправляйте фирменные разведывательные сводки, предупреждения и уведомления об угрозах в вебхуки Discord и каналы Telegram.
  • Разведывательные отчеты — Создавайте структурированные отчеты со сводной статистикой, основными военными рейсами, корреляциями, сейсмической активностью, количеством SIGINT и инвентаризацией меток.
  • Аудируемость — Каждый вызов канала регистрируется; оператор может просмотреть, что сделал агент.

Подключение агента: Откройте панель AI Intel на левой боковой панели, нажмите Connect Agent и скопируйте секрет HMAC. Оттуда направьте любого совместимого агента на канал — для OpenClaw импортируйте ShadowBrokerClient из openclaw-skills/shadowbroker/sb_query.py (см. SKILL.md для примеров); для любого другого агента используйте тот же контракт HMAC, описанный выше (временная метка + одноразовый номер + дайджест тела, с ограничением по уровню). Обнаружение: GET /api/ai/tools и GET /api/ai/capabilities. Канал — это протокол, а не агент.

Docker Compose + удаленные агенты: Панель инструментов взаимодействует с бэкендом через частный мост Docker (доверенный автоматически). Агент OpenClaw, работающий на хосте (вне контейнера), обращается к http://localhost:8000 через IP-адрес шлюза Docker — HMAC требуется там. В AI Intel → Connect Agent нажмите Bootstrap, затем Reveal, скопируйте SHADOWBROKER_HMAC_SECRET в среду вашего агента и один раз перезапустите бэкенд, чтобы загрузить data/openclaw.env на томе backend_data. Проверьте с помощью:

bashbash export SHADOWBROKER_URL=http://127.0.0.1:8000 export SHADOWBROKER_HMAC_SECRET= python openclaw-skills/shadowbroker/verify_hmac.py

Используйте порт бэкенда (`:8000`), а не порт панели управления Next.js (`:3000`). Самодельные подписанты должны хешировать точные байты POST: `json.dumps(payload, separators=(",", ":"), sort_keys=True)`.

### ⏱️ Машина времени — Воспроизведение снимков (НОВОЕ в v0.9.7)

Медиа-подобный транспорт для всего потока телеметрии. Рассматривайте живую карту как запись, которую можно перематывать, приостанавливать и воспроизводить заново.

* **Переключение Живое ↔ Снимок** — Переключение в режим снимка мгновенно приостанавливает глобальный цикл опроса; переключение обратно на Живое делает недействительными ETags и принудительно обновляет как быстрый, так и медленный уровни, чтобы панель управления догнала обновления без мерцания устаревших кадров.
* **Почасовой индекс** — Каждый захваченный снимок индексируется по его часовому сегменту с `count`, `latest_id`, `latest_ts` и полным списком `snapshot_ids`. Переходите к любому захваченному временному штампу непосредственно из ползунка временной шкалы.
* **Интерполяция кадров** — Движущиеся объекты (самолеты, корабли, спутники, военные рейсы) плавно интерполируются между записанными кадрами во время воспроизведения, так что движение остается непрерывным даже при редких снимках.
* **Переменная скорость воспроизведения** — Пролистывание, воспроизведение, ускорение и перемотка сохраненной телеметрии с регулируемой скоростью.
* **С учетом профиля** — Каждый снимок записывает профиль конфиденциальности, который был активен при его захвате, поэтому воспроизведение соответствует тому, что увидел бы оператор в этом профиле.
* **На стороне оператора, а не сервера** — Снимки хранятся локально в бэкенде; ни одна третья сторона никогда не видит временную шкалу воспроизведения.

### 📦 Панель ключей API — Путь-первый, только для чтения (НОВОЕ в v0.9.7)

Настройки → Ключи API теперь является реестром только для чтения. Значения ключей никогда не достигают процесса браузера — даже необфусцированный префикс. Панель отображает:

* Абсолютный путь к файлу `.env` бэкенда, разрешенный с помощью `Path(__file__).resolve()` — работает на любой ОС, любом диске, любом месте установки (Linux `/home/...`, macOS `/Users/...`, Windows на любом диске, контейнеры Docker, облачные ВМ).
* Индикаторы `[существует]` / `[будет создан при первом сохранении]` / `[НЕ ДЛЯ ЗАПИСИ — редактировать вручную]` на самом пути.
* Путь к шаблону `.env.example`, чтобы пользователи могли скопировать его и заполнить свои ключи.
* Двоичный значок `НАСТРОЕНО` / `НЕ НАСТРОЕНО` для каждого ключа, а также строка env, которую можно скопировать (например, `OPENSKY_CLIENT_ID=YOUR_VALUE`), которую пользователь может вставить в файл вручную.

Учетные данные OpenSky API теперь являются **критическим предупреждением** требования среды: проверка среды при запуске помечает отсутствующие учетные данные OpenSky OAuth2 с сильным предупреждением, а модальное окно журнала изменений ссылается непосредственно на страницу бесплатной регистрации. Без них слой рейсов откатывается к покрытию только ADS-B со значительными пробелами в Африке, Азии и Латинской Америке.

</details>

---

<details>
<summary>🏗️ Архитектура</summary>```
╔═════════════════════════════════════════════════════════════════════════════╗
║                       OPERATOR UI  (Next.js + MapLibre)                     ║
║                                                                             ║
║  ┌────────────────┐  ┌──────────┐  ┌────────────────┐  ┌────────────────┐   ║
║  │ MapLibre GL    │  │ NewsFeed │  │ Sovereign Shell│  │   Mesh Chat    │   ║
║  │  WebGL render  │  │  SIGINT  │  │  Petitions /   │  │  + Mesh Term.  │   ║
║  │  + clusters    │  │  GDELT   │  │  Upgrades /    │  │  (Infonet /    │   ║
║  │                │  │  Threat  │  │  Disputes /    │  │   Mesh /       │   ║
║  │                │  │          │  │  Gates /       │  │   Dead Drop)   │   ║
║  │                │  │          │  │  Bootstrap /   │  │                │   ║
║  │                │  │          │  │  Function Keys │  │                │   ║
║  └──────┬─────────┘  └────┬─────┘  └────────┬───────┘  └────────┬───────┘   ║
║         │                 │                 │                   │           ║
║  ┌──────┴─────────────────┴─────────────────┴───────────────────┴───────┐   ║
║  │  Time Machine ◀── snapshot playback ── snapshotMode toggle ──▶ Live │   ║
║  │  hourly index │ frame interpolation │ profile-aware │ per-tier ETag  │   ║
║  └──────────────────────────────────┬───────────────────────────────────┘   ║
║                                     │ REST  +  /api/[...path] proxy         ║
╠═════════════════════════════════════╪═══════════════════════════════════════╣
║                       BACKEND SERVICE PLANE  (FastAPI)                      ║
║                                     │                                       ║
║  ┌──────────────────────────────────┴────────────────────────────────────┐  ║
║  │              Data Fetcher  (APScheduler — fast / slow tiers)          │  ║
║  │                                                                       │  ║
║  │  ┌───────────┬───────────┬───────────┬───────────┬───────────┐        │  ║
║  │  │  OpenSky* │ adsb.lol  │ CelesTrak │   USGS    │   AIS WS  │        │  ║
║  │  │  Flights  │ Military  │   Sats    │  Quakes   │   Ships   │        │  ║
║  │  ├───────────┼───────────┼───────────┼───────────┼───────────┤        │  ║
║  │  │  Carrier  │   GDELT   │ CCTV (12) │ DeepState │   NASA    │        │  ║
║  │  │  Tracker  │ Conflict  │  Cameras  │ Frontline │   FIRMS   │        │  ║
║  │  ├───────────┼───────────┼───────────┼───────────┼───────────┤        │  ║
║  │  │   GPS     │  KiwiSDR  │  Shodan   │  Amtrak   │  SatNOGS  │        │  ║
║  │  │  Jamming  │   Radios  │  Devices  │ DigiTraf  │  TinyGS   │        │  ║
║  │  ├───────────┼───────────┼───────────┼───────────┼───────────┤        │  ║
║  │  │ Volcanoes │  Weather  │  Fishing  │ Mil Bases │   IODA    │        │  ║
║  │  │  Air Qual │  Alerts   │  Activity │ PwrPlants │  Outages  │        │  ║
║  │  ├───────────┼───────────┼───────────┼───────────┼───────────┤        │  ║
║  │  │ Sentinel  │   MODIS   │   VIIRS   │   Data    │ Meshtastic│        │  ║
║  │  │  Hub/STAC │   Terra   │ Nightlts  │  Centers  │   APRS    │        │  ║
║  │  ├───────────┴───────────┴───────────┴───────────┴───────────┤        │  ║
║  │  │  SAR (NEW v0.9.7)                                         │        │  ║
║  │  │   Mode A: ASF Search catalog (free, no account)           │        │  ║
║  │  │   Mode B: NASA OPERA / Copernicus EGMS / GFM / EMS /      │        │  ║
║  │  │           UNOSAT  ground-change anomalies (opt-in)        │        │  ║
║  │  └───────────────────────────────────────────────────────────┘        │  ║
║  │   * OpenSky: REQUIRED for global flight coverage                      │  ║
║  └───────────────────────────────────────────────────────────────────────┘  ║
║                                     │                                       ║
║  ┌──────────────────────────────────┴────────────────────────────────────┐  ║
║  │                   Snapshot Store  (Time Machine source)               │  ║
║  │   Hourly index  │  per-snapshot layer manifest  │  profile metadata   │  ║
║  └───────────────────────────────────────────────────────────────────────┘  ║
║                                                                             ║
║  ┌───────────────────────────────────────────────────────────────────────┐  ║
║  │   Agentic AI Channel  (HMAC-SHA256, tier-gated  —  OpenClaw + others) │  ║
║  │                                                                       │  ║
║  │   POST /api/ai/channel/command   →  one tool call                     │  ║
║  │   POST /api/ai/channel/batch     →  up to 20 concurrent tool calls    │  ║
║  │                                                                       │  ║
║  │   Tier:   restricted (read-only)   │   full (read + write + inject)   │  ║
║  │   Auth:   X-SB-Timestamp + X-SB-Nonce + X-SB-Signature                │  ║
║  │   Sig  =  HMAC-SHA256(secret, METHOD|path|ts|nonce|sha256(body))      │  ║
║  └───────────────────────────────────────────────────────────────────────┘  ║
╠═════════════════════════════════════════════════════════════════════════════╣
║                  DECENTRALIZED LAYER  (InfoNet Testnet — signed events)     ║
║                                                                             ║
║  ┌────────────────────────────┐    ┌──────────────────────────────────┐     ║
║  │    Mesh Hashchain          │    │   Sovereign Shell Governance     │     ║
║  │                            │    │                                  │     ║
║  │  Ed25519 signed events     │    │  Petitions  (DSL: UPDATE_PARAM,  │     ║
║  │  Public-key binding        │    │              ENABLE_FEATURE …)   │     ║
║  │  Replay / sequence guard   │    │  Upgrade-Hash voting (80% / 40%  │     ║
║  │  Two-tier finality         │    │             quorum / 67% Heavy)  │     ║
║  │   ├ Tier 1 (CRDT, fast)    │    │  Resolution & Dispute markets    │     ║
║  │   └ Tier 2 (epoch finality)│    │  Gate suspend / shutdown / appeal│     ║
║  │  Identity rotation         │    │  Bootstrap eligible-node-1-vote  │     ║
║  │  Constitutional invariants │    │   (Argon2id PoW, Heavy-Node only)│     ║
║  │  (MappingProxyType)        │    │  Function Keys (5 of 6 pieces)   │     ║
║  └─────────────┬──────────────┘    └─────────────┬────────────────────┘     ║
║                │                                 │                          ║
║                └──────────────┬──────────────────┘                          ║
║                               │                                             ║
║  ┌────────────────────────────┴──────────────────────────────────────┐      ║
║  │            Wormhole / InfoNet Relay  (transport layer)            │      ║
║  │   Gate personas │ canonical signing │ Dead Drop epoch mailboxes   │      ║
║  └───────────────────────────────────────────────────────────────────┘      ║
╠═════════════════════════════════════════════════════════════════════════════╣
║              PRIVACY CORE  (Rust crate — locked Protocol contracts)         ║
║                                                                             ║
║   privacy-core/  ─►  Argon2id │ Ed25519/X25519 │ AESGCM │ HKDF              ║
║                      Ring sigs* │ Stealth addrs* │ Pedersen* │ Bulletproofs*║
║                      Blind-sig issuance* (RSA / BBS+ / U-Prove / Idemix)    ║
║                                                                             ║
║   * = locked Protocol contract; cryptographic primitive lands Sprint 11+    ║
╚═════════════════════════════════════════════════════════════════════════════╝

   Distribution
   ────────────
     GitHub (primary):  ghcr.io/bigbodycobain/shadowbroker-{backend,frontend}
     GitLab (mirror):   registry.gitlab.com/bigbodycobain/shadowbroker/{backend,frontend}
     Multi-arch:        linux/amd64  +  linux/arm64  (Raspberry Pi 5 supported)
     Desktop:           Tauri shell  →  packaged backend-runtime  +  Next.js frontend

📊 Источники данных и API
ИсточникДанныеЧастота обновленияТребуется ключ API
OpenSky NetworkКоммерческие и частные рейсы~60 сДа
adsb.lolВоенные самолеты~60 сНет
aisstream.ioПозиции судов AISWebSocket в реальном времениДа
CelesTrakОрбитальные позиции спутников (TLE + SGP4)~60 сНет
USGS EarthquakeГлобальные сейсмические события~60 сНет
GDELT ProjectГлобальные конфликтные события~6 чНет
DeepState MapЛиния фронта Украины~30 минНет
ShodanПоиск устройств, подключенных к интернетуПо запросуДа
OpenSanctionsИндекс санкций OFAC SDN (разведка + граф сущностей)24-часовой кэшНет
abuse.ch Feodo + URLhausURL-адреса C2 / распространения вредоносного ПО~5 мин (опциональный слой)Нет
CISA KEVИзвестные эксплуатируемые CVE~5 мин (опциональный слой)Нет
ip-api.comГеолокация IP (разведка, граф сущностей)По запросуНет
Google Public DNSDNS-запросы через HTTPS (разведка)По запросуНет
RDAP.orgДанные регистрации доменов (разведка)По запросуНет
crt.shПрозрачность сертификатов (разведка)По запросуНет
bgpview.ioМаршрутизация BGP/ASN (разведка)По запросуНет
TeleGeography (статический)Маршруты подводных кабелейСтатическиеНет
ASFINAGВеб-камеры автомагистралей Австрии~10 минНет
AmtrakПозиции поездов США~60 сНет
DigiTrafficПозиции европейских железных дорог~60 сНет
Global Fishing WatchСобытия активности рыболовных судов~1 чДа (GFW_API_TOKEN)
Telegram public previewsПосты военных/OSINT каналов (telegram_osint)~1 чНет (опционально TELEGRAM_OSINT_CHANNELS)
Transport for London, NYC DOT, TxDOTКамеры видеонаблюдения (Великобритания, США)~10 минНет
Caltrans, WSDOT, GDOT, IDOT, MDOTКамеры видеонаблюдения (5 штатов США)~10 минНет
Spain DGT, Madrid CityКамеры видеонаблюдения (Испания)~10 минНет
Singapore LTAКамеры дорожного движения Сингапура~10 минДа
Windy WebcamsГлобальные веб-камеры~10 минНет
SatNOGSЛюбительские спутниковые наземные станции~30 минНет
TinyGSНаземные станции спутников LoRa~30 минНет
Meshtastic MQTTПозиции узлов Mesh-радиоВ реальном времениНет
APRS-ISПозиции любительского радиоTCP в реальном времениНет
KiwiSDRРасположение общественных SDR-приемников~30 минНет
OpenMHZПотоки сканеров полиции/пожарныхВ реальном времениНет
Smithsonian GVPГолоценовые вулканы по всему мируСтатические (кэшированные)Нет
OpenAQСтанции качества воздуха PM2.5~120 сНет
NOAA / NWSПредупреждения о суровой погоде и полигоны~120 сНет
WRI Global Power Plant DBБолее 35 000 электростанцийСтатические (кэшированные)Нет
Военные базы (наборы данных)Глобальные военные объектыСтатические (кэшированные)Нет
NASA FIRMSПожары/тепловые точки NOAA-20 VIIRS~120 сНет
NOAA SWPCКосмическая погода: Kp-индекс и солнечные события~120 сНет
IODA (Georgia Tech)Региональные оповещения об отключениях интернета~120 сНет
DC Map (GitHub)Глобальное расположение центров обработки данныхСтатические (кэш 7 д)Нет
NASA GIBSЕжедневные спутниковые снимки MODIS TerraЕжедневно (задержка 24–48 ч)Нет
Esri World ImageryВысокодетализированная спутниковая базовая картаСтатические (периодически обновляется)Нет
MS Planetary ComputerСцены Sentinel-2 L2A (правый клик)По запросуНет
Copernicus CDSEИзображения Sentinel Hub (Process API)По запросуДа (бесплатно)
VIIRS NightlightsОбнаружение изменений ночного освещенияСтатическиеНет
RestCountriesДанные профиля страныПо запросу (кэш 24 ч)Нет
Wikidata SPARQLДанные главы государстваПо запросу (кэш 24 ч)Нет
Wikipedia APIКраткие описания местоположений и изображения самолетовПо запросу (кэшированные)Нет
OSM NominatimГеокодирование названий мест (строка LOCATE)По запросуНет
CARTO BasemapsТемные тайлы картыНепрерывноНет

Конфиденциальность исходящих данных и аудит (#348–#366): Каждая самостоятельная установка использует свой собственный IP-адрес бэкенда и уникальный идентификатор User-Agent. Смотрите docs/OUTBOUND_DATA.md для получения информации о том, что взаимодействует с третьими сторонами, элементах управления opt-in/env и принятых компромиссах (CCTV Referer, CDN базовых карт, LiveUAMap и т.д.).


🚀 Начало работы

🐳 Настройка Docker (рекомендуется для самостоятельного хостинга)

Репозиторий включает docker-compose.yml, который извлекает предварительно собранные образы из GitHub Container Registry.```bash git clone https://github.com/BigBodyCobain/Shadowbroker.git cd Shadowbroker

Add your API keys in a repo-root .env file (optional — see Environment Variables below)

docker compose pull docker compose up -d

Откройте `http://localhost:3000`, чтобы увидеть панель управления.

> **Публичное развёртывание или в локальной сети?** Для большинства конфигураций настройка не требуется.
> Фронтенд проксирует все вызовы API через сервер Next.js на `BACKEND_URL`,
> который по умолчанию равен `http://backend:8000` (внутренняя сеть Docker).
> Хост-порт `8000` опубликован только для локального доступа к API/отладке (`127.0.0.1:8000`
> в `docker-compose.yml`). Если он конфликтует с другим сервисом, установите
> `BACKEND_PORT=8001` в `.env`; оставьте `BACKEND_URL` как `http://backend:8000`,
> потому что это внутренний порт Docker.
>
> **Запуск бэкенда вне Docker** (`cd backend && python main.py`):
> сервер разработки привязывается только к **loopback** (`127.0.0.1:8000`), поэтому другие машины
> в вашей локальной сети не смогут обращаться к маршрутам администрирования/локального доверия с пустым `ADMIN_KEY`. Установите
> `SHADOWBROKER_DEV_BIND_ALL=true` в `.env` только когда вам намеренно нужен
> `0.0.0.0` и используйте надёжный `ADMIN_KEY` для всех внешних вызывающих.
> Ограничение памяти бэкенда контролируется параметром `BACKEND_MEMORY_LIMIT` и по умолчанию
> равно `4G`. Если Docker сообщает о событиях OOM, бэкенд перезапустится, и медленные
> слои могут выглядеть пустыми, пока не заполнятся заново.
>
> Если ваш бэкенд работает на **другом хосте или порту**, установите `BACKEND_URL` во время выполнения — пересборка не требуется:
>
> ```bash
> # Linux / macOS
> BACKEND_URL=http://myserver.com:9096 docker compose up -d
>
> # Podman (via compose.sh wrapper)
> BACKEND_URL=http://192.168.1.50:9096 ./compose.sh up -d
>
> # Windows (PowerShell)
> $env:BACKEND_URL="http://myserver.com:9096"; docker compose up -d
>
> # Or add to a .env file next to docker-compose.yml:
> # BACKEND_URL=http://myserver.com:9096
> ```

**Пользователи Podman:** Не передавайте URL GitHub в `podman compose pull`; сначала склонируйте репозиторий, `cd Shadowbroker`, затем запускайте compose из этой папки. `podman compose` также требует провайдера Compose. Если Podman сообщает `looking up compose provider failed`, установите один:```bash
# Linux / macOS / WSL
python3 -m pip install --user podman-compose
podman-compose pull
podman-compose up -d

Please provide the Markdown content to translate.```powershell

Windows PowerShell

py -m pip install --user podman-compose podman-compose pull podman-compose up -d

Если вы используете оболочку, совместимую с bash, встроенная обёртка может автоматически определить Docker или Podman:```bash
./compose.sh --engine podman pull
./compose.sh --engine podman up -d

🐋 Автономное развертывание (Portainer, Uncloud, NAS и т.д.)

Нет необходимости клонировать репозиторий. Используйте готовые образы из GitHub Container Registry. Образы из реестра GitLab могут использоваться как зеркало, если вы публикуете их там.

Создайте docker-compose.yml со следующим содержимым и разверните его напрямую — вставьте в редактор стека Portainer, uncloud deploy или любой Docker-хост:```yaml

Image registry — uncomment ONE line per service:

GitHub (primary): ghcr.io/bigbodycobain/shadowbroker-backend:latest

GitLab (mirror): registry.gitlab.com/bigbodycobain/shadowbroker/backend:latest

services: backend: image: ghcr.io/bigbodycobain/shadowbroker-backend:latest # image: registry.gitlab.com/bigbodycobain/shadowbroker/backend:latest container_name: shadowbroker-backend ports: - "${BACKEND_PORT:-8000}:8000" environment: - AIS_API_KEY=your_aisstream_key # Required — get one free at aisstream.io - OPENSKY_CLIENT_ID= # Optional — higher flight data rate limits - OPENSKY_CLIENT_SECRET= # Optional — paired with Client ID above - LTA_ACCOUNT_KEY= # Optional — Singapore CCTV cameras - SHODAN_API_KEY= # Optional — Shodan device search overlay - SH_CLIENT_ID= # Optional — Sentinel Hub satellite imagery - SH_CLIENT_SECRET= # Optional — paired with Sentinel Hub ID - CORS_ORIGINS= # Optional — comma-separated allowed origins volumes: - backend_data:/app/data restart: unless-stopped

frontend: image: ghcr.io/bigbodycobain/shadowbroker-frontend:latest # image: registry.gitlab.com/bigbodycobain/shadowbroker/frontend:latest container_name: shadowbroker-frontend ports: - "3000:3000" environment: - BACKEND_URL=http://backend:8000 # Docker internal networking — no rebuild needed depends_on: - backend restart: unless-stopped

volumes: backend_data:

> **Как это работает:** Контейнер фронтенда проксирует все запросы `/api/*` через сервер Next.js к `BACKEND_URL`, используя внутреннюю сеть Docker. Браузер взаимодействует только с портом 3000. Хост-порт бэкенда предназначен для локального доступа к API/отладке и может быть изменён на `BACKEND_PORT=8001` без изменения `BACKEND_URL`.
>
> `BACKEND_URL` — это обычная переменная окружения времени выполнения (не сборочная `NEXT_PUBLIC_*`), поэтому вы можете изменить её в Portainer, Uncloud или любом редакторе compose без пересборки образа. Установите её на адрес, по которому ваш бэкенд доступен изнутри сети Docker (например, `http://backend:8000`, `http://192.168.1.50:8000`).

</details>

---

<details>
<summary>📦 Быстрый старт (без кода)</summary>

Если вы хотите просто запустить панель без работы с командами терминала:

1. Перейдите на вкладку **[Releases](https://raw.githubusercontent.com/bigbodycobain/releases)** справа на странице этого репозитория.
2. Скачайте последний `.zip` файл из релиза.
3. Распакуйте папку на свой компьютер.
4. **Windows:** Дважды кликните `start.bat`.
   **Mac/Linux:** Откройте терминал, введите `chmod +x start.sh`, `dos2unix start.sh` и запустите `./start.sh`.
5. Он автоматически установит всё необходимое и запустит панель!

Примечания к локальному запускателю:

- `start.bat` / `start.sh` запускают приложение без Docker — они устанавливают зависимости и запускают оба сервера напрямую.
- Если после обновления не работают конечные точки Wormhole identity или DM contact, проверьте папку `docs/mesh/` для устранения неполадок.
- Для развёртывания DM root witness, прозрачности и операторского мониторинга начните с `docs/mesh/wormhole-dm-root-operations-runbook.md`.
- Для примеров активов моста операций DM root также смотрите `scripts/mesh/poll-dm-root-health-alerts.mjs`, `scripts/mesh/export-dm-root-health-prometheus.mjs`, `scripts/mesh/publish-external-root-witness-package.mjs`, `scripts/mesh/smoke-external-root-witness-flow.mjs`, `scripts/mesh/smoke-root-transparency-publication-flow.mjs`, `scripts/mesh/smoke-dm-root-deployment-flow.mjs`, `scripts/mesh/sync-dm-root-external-assurance.mjs` и `docs/mesh/examples/`.

</details>

---

<details>
<summary>💻 Настройка для разработчиков</summary>

Если вы хотите изменить код или запустить из исходников:

#### Предварительные требования

* **Node.js** 18+ и **npm** — [nodejs.org](https://nodejs.org/)
* **Python** 3.10, 3.11 или 3.12 с `pip` — [python.org](https://www.python.org/downloads/) (**отметьте "Add to PATH"** во время установки)
  * ⚠️ Python 3.13+ может иметь проблемы совместимости с некоторыми зависимостями. **Рекомендуется 3.11 или 3.12.**
* Ключи API для: `aisstream.io` (обязательно), и опционально `opensky-network.org` (OAuth2), `lta.gov.sg`

### Установка```bash
# Clone the repository
git clone https://github.com/BigBodyCobain/Shadowbroker.git
cd Shadowbroker

# Backend setup
cd backend
python -m venv venv
venv\Scripts\activate        # Windows
# source venv/bin/activate   # macOS/Linux
pip install .

# Optional helper scripts (creates venv + installs dev deps)
# Windows PowerShell
# .\backend\scripts\setup-venv.ps1
# macOS/Linux
# ./backend/scripts/setup-venv.sh

# Optional env check (prints warnings for missing keys)
# Windows PowerShell
# .\backend\scripts\check-env.ps1
# macOS/Linux
# ./backend/scripts/check-env.sh

# Create .env with your API keys
echo "AIS_API_KEY=your_aisstream_key" >> .env
echo "OPENSKY_CLIENT_ID=your_opensky_client_id" >> .env
echo "OPENSKY_CLIENT_SECRET=your_opensky_secret" >> .env

# Frontend setup
cd ../frontend
npm ci

Запуск```bash

From the frontend directory — starts both frontend & backend concurrently

npm run dev

* **Next.js** фронтенд на `http://localhost:3000`
* **FastAPI** бэкенд на `http://localhost:8000`

### Pre-commit (Опционально)

Если вы используете pre-commit, установите хуки однократно из корня репозитория:```bash
pre-commit install

Локальный приёмник AIS (опционально)

Вы можете передавать собственные данные AIS о судах в ShadowBroker с помощью RTL-SDR-донгла и AIS-catcher — декодера AIS с открытым исходным кодом. Это обеспечивает вам покрытие судов в вашем районе в реальном времени — без необходимости в API-ключе.

  1. Подключите RTL-SDR-донгл
  2. Установите AIS-catcher (релизы) или используйте Docker-образ: ```bash docker run -d --device /dev/bus/usb
    ghcr.io/jvde-github/ais-catcher -H http://host.docker.internal:4000/api/ais/feed interval 10
  3. Или запустить нативно: ```bash AIS-catcher -H http://localhost:4000/api/ais/feed interval 10

AIS-catcher декодирует VHF-радиосигналы на частотах 161,975 МГц и 162,025 МГц и отправляет декодированные данные о судах в ShadowBroker каждые 10 секунд. Суда, обнаруженные вашей SDR-антенной, отображаются вместе с глобальным потоком AIS.

Docker (ARM/Raspberry Pi): Смотрите docker-shipfeeder для готового к продакшену Docker-образа, оптимизированного для ARM.

Примечание: Дальность AIS зависит от вашей антенны — обычно 20-40 морских миль с базовой настройкой, 60+ морских миль с морской VHF-антенной на высоте.


🎛️ Слои данных

Все 41 слой независимо переключаются с левой панели:

СлойПо умолчаниюОписание
Коммерческие рейсы✅ ВклАвиалинии, грузовые, самолеты GA
Частные рейсы✅ ВклНекоммерческие частные самолеты
Частные джеты✅ ВклВысокоценные бизнес-джеты с данными о владельцах
Военные рейсы✅ ВклВоенные и правительственные самолеты
Отслеживаемые самолеты✅ ВклСписок наблюдения особого интереса
Подавление GPS✅ ВклЗоны ухудшения NAC-P
Авианосцы / Военные / Грузовые✅ ВклВоенно-морские авианосцы, грузовые суда, танкеры
Гражданские суда✅ ВклЯхты, рыболовные, прогулочные
Круизные / Пассажирские✅ ВклКруизные лайнеры и паромы
Отслеживаемые яхты✅ ВклСуперъяхты миллиардеров и олигархов
Рыболовная активность✅ ВклСобытия Global Fishing Watch
Поезда✅ ВклПозиции Amtrak + европейских железных дорог
Спутники✅ ВклОрбитальные аппараты по типу миссии
SatNOGS✅ ВклЛюбительские наземные станции спутников
TinyGS✅ ВклНаземные станции спутников LoRa
Землетрясения (24 ч)✅ ВклСейсмические события USGS
Пожары (24 ч)✅ ВклТепловые аномалии NASA FIRMS VIIRS
Вулканы✅ ВклВулканы голоцена Смитсоновского института
Погодные оповещения✅ ВклПолигоны экстремальной погоды
Качество воздуха (PM2.5)✅ ВклСтанции OpenAQ по всему миру
Линия фронта в Украине✅ ВклПозиции линии фронта в реальном времени
Воздушные тревоги в Украине✅ ВклРегиональные оповещения о воздушных атаках
Глобальные инциденты✅ ВклСобытия конфликтов GDELT
Сеть видеонаблюдения✅ ВклБолее 11 000 камер из 13 источников, 6 стран
Сбои интернета✅ ВклРегиональные оповещения о связности IODA
Центры обработки данных✅ ВклГлобальное расположение ЦОД (более 2 000)
Военные базы✅ ВклГлобальные военные объекты
Приемники KiwiSDR✅ ВклПубличные SDR-радиоприемники
Узлы Meshtastic✅ ВклПозиции узлов mesh-радиосети
APRS✅ ВклЛюбительское радиопозиционирование
Сканеры✅ ВклПотоки полицейских/пожарных сканеров
Цикл дня/ночи✅ ВклНаложение солнечного терминатора
MODIS Terra (ежедневно)❌ ВыклЕжедневные спутниковые снимки NASA GIBS
Высокодетальные спутниковые снимки❌ ВыклСубметровые спутниковые снимки Esri
Sentinel Hub❌ ВыклAPI обработки Copernicus CDSE
Ночные огни VIIRS❌ ВыклОбнаружение изменений ночного освещения
Электростанции❌ ВыклБолее 35 000 электростанций по всему миру
Наложение Shodan❌ ВыклРезультаты поиска интернет-устройств
Тенденции грузовых перевозок❌ ВыклТенденции движения грузовиков по Sentinel-2 на основных автомагистралях (Анализировать здесь)
Подводные кабели❌ ВыклГлобальные маршруты подводных кабелей (статический GeoJSON)
C2-серверы вредоносных программ❌ ВыклТочки угроз abuse.ch Feodo + URLhaus
Поставщики SCM❌ ВыклМаркеры рисков цепочки поставок уровня 1/2 + оповещения панели
Киберугрозы❌ ВыклПоследние записи CISA KEV (статистика в полезной нагрузке медленного уровня)
Telegram OSINT✅ ВклПубличные военные/OSINT Telegram-каналы — почасовой сбор, геопарсинг меток
SAR✅ ВклКаталог синтезированной апертуры радара + оповещения об аномалиях

Инструменты разведки и сущностей (не слои карты — левая боковая панель / выбор):

ИнструментДоступ к панелиКоманда OpenClawОписание
Recon ToolkitЛокальный оператор (/api/osint/*)osint_lookup, osint_sweepIP, DNS, WHOIS, сертификаты, BGP, санкции, CVE, MAC, GitHub, утечки, угрозы, сканирование подсети
Entity GraphЛокальный оператор (/api/entity/expand)entity_expandГраф взаимоотношений Wikidata + OFAC + live-store
Панель рисков SCMЛокальный оператор (/api/scm-suppliers)get_layer_slice(["scm_suppliers"])Сводка угроз поставщиков + маркеры на карте
Обнаружение инструментовosint_toolsПеречисляет типы запросов разведки и схемы расширения сущностей

osint_sweep (активное сканирование InternetDB) требует OPENCLAW_ACCESS_TIER=full.


🔧 Производительность

Платформа оптимизирована для обработки массивных наборов данных в реальном времени:

  • Сжатие Gzip — полезные нагрузки API сжимаются ~92% (11,6 МБ → 915 КБ)
  • Кэширование ETag — ответы 304 Not Modified пропускают избыточный синтаксический анализ JSON
  • Отсечение по области просмотра — отображаются только объекты в пределах видимой области карты (+20% буфер)
  • Императивные обновления карты — слои с большим объемом данных (рейсы, спутники, пожары) обходят согласование React через прямые вызовы setData()
  • Кластеризованное отображение — Суда, CCTV, землетрясения и центры обработки данных используют кластеризацию MapLibre для уменьшения количества объектов
  • Дебаунс обновлений области просмотра — дебаунс 300 мс предотвращает частую перестройку GeoJSON при панорамировании/зуме; дебаунс 2 с на плотных слоях (спутники, пожары)
  • Интерполяция позиции — плавная анимация тиков 10 с между обновлениями данных
  • React.memo — тяжелые компоненты обернуты для предотвращения ненужных повторных рендеров
  • Точность координат — широта/долгота округляются до 5 десятичных знаков (~1 м) для уменьшения размера JSON

📁 Структура проекта

Новые участники могут использовать docs/contributor-map.md для более краткого ознакомительного руководства.

``` Shadowbroker/ ├── openclaw-skills/shadowbroker/ # OpenClaw skill — SKILL.md, sb_query.py client, alerts/monitor helpers ├── backend/ │ ├── main.py # FastAPI app, middleware, API routes (~4,000 lines) │ ├── cctv.db # SQLite CCTV camera database (auto-generated) │ ├── config/ │ │ └── news_feeds.json # User-customizable RSS feed list │ ├── services/ │ │ ├── data_fetcher.py # Core scheduler — orchestrates all data sources │ │ ├── ais_stream.py # AIS WebSocket client (25K+ vessels) │ │ ├── carrier_tracker.py # OSINT carrier position estimator (GDELT news scraping) │ │ ├── cctv_pipeline.py # 14-source CCTV camera ingestion pipeline │ │ ├── ssrf_guard.py # SSRF validation for operator recon fetches │ │ ├── sanctions/ofac.py # OpenSanctions OFAC SDN index │ │ ├── osint/lookups.py # Server-side recon lookups (Osiris port) │ │ ├── osint/openclaw_recon.py # OpenClaw dispatch for recon + entity_expand │ │ ├── osint_intel/resolve.py # Entity graph resolver (Wikidata + OFAC) │ │ ├── scm/suppliers.py # Supply-chain risk overlay │ │ ├── intel_feeds/ # Country risk index helpers │ │ ├── fetchers/malware.py # abuse.ch Feodo + URLhaus │ │ ├── fetchers/cyber_status.py # CISA KEV feed │ │ ├── fetchers/telegram_osint.py # Public Telegram channel scrape + geoparse │ │ ├── third_party/osiris/ # MIT attribution for Osiris-derived code │ │ ├── geopolitics.py # GDELT + Ukraine frontline + air alerts │ │ ├── region_dossier.py # Right-click country/city intelligence │ │ ├── radio_intercept.py # Police scanner feeds + OpenMHZ │ │ ├── kiwisdr_fetcher.py # KiwiSDR receiver scraper │ │ ├── sentinel_search.py # Sentinel-2 STAC imagery search │ │ ├── shodan_connector.py # Shodan device search connector │ │ ├── sigint_bridge.py # APRS-IS TCP bridge │ │ ├── network_utils.py # HTTP client with curl fallback │ │ ├── api_settings.py # API key management │ │ ├── news_feed_config.py # RSS feed config manager │ │ ├── fetchers/ │ │ │ ├── flights.py # OpenSky, adsb.lol, GPS jamming, holding patterns │ │ │ ├── geo.py # AIS vessels, carriers, GDELT, fishing activity │ │ │ ├── satellites.py # CelesTrak TLE + SGP4 propagation │ │ │ ├── earth_observation.py # Quakes, fires, volcanoes, air quality, weather │ │ │ ├── infrastructure.py # Data centers, power plants, military bases │ │ │ ├── trains.py # Amtrak + DigiTraffic European rail │ │ │ ├── sigint.py # SatNOGS, TinyGS, APRS, Meshtastic │ │ │ ├── meshtastic_map.py # Meshtastic MQTT + map node aggregation │ │ │ ├── military.py # Military aircraft classification │ │ │ ├── news.py # RSS intelligence feed aggregation │ │ │ ├── financial.py # Global markets data │ │ │ └── ukraine_alerts.py # Ukraine air raid alerts │ │ └── mesh/ # InfoNet / Wormhole protocol stack │ │ ├── mesh_protocol.py # Core mesh protocol + routing │ │ ├── mesh_crypto.py # Ed25519, X25519, AESGCM primitives │ │ ├── mesh_hashchain.py # Hash chain commitment system (~1,400 lines) │ │ ├── mesh_router.py # Multi-transport router (APRS, Meshtastic, WS) │ │ ├── mesh_wormhole_persona.py # Gate persona identity management │ │ ├── mesh_wormhole_dead_drop.py # Dead Drop token-based DM mailbox │ │ ├── mesh_wormhole_ratchet.py # Double-ratchet DM scaffolding │ │ ├── mesh_wormhole_gate_keys.py # Gate key management + rotation │ │ ├── mesh_wormhole_seal.py # Message sealing + unsealing │ │ ├── mesh_merkle.py # Merkle tree proofs for data commitment │ │ ├── mesh_reputation.py # Node reputation scoring │ │ ├── mesh_oracle.py # Oracle consensus protocol │ │ └── mesh_secure_storage.py # Secure credential storage │ ├── routers/ │ │ ├── osint.py # /api/osint/* recon routes (local operator) │ │ ├── entity_graph.py # /api/entity/expand │ │ ├── scm.py # /api/scm-suppliers │ │ └── intel_feeds.py # /api/malware, /api/cyber-threats, /api/telegram-feed, /api/country-risk ```

Read more

Категории