Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Crucix — Ihr persönlicher Informationsagent. Beobachtet die Welt aus mehreren Datenquellen und benachrichtigt Sie, wenn sich etwas ändert. | Kitploit
Tools/GitHubGitHub/calesthio/crucix
OSINT (Open-Source-Intelligence)AufklärungInformationsbeschaffungBedrohungsanalyseLernen & BildungKuratierte Ressourcen
GitHubcalesthio/crucix

Crucix

Ihr persönlicher Informationsagent. Beobachtet die Welt aus mehreren Datenquellen und benachrichtigt Sie, wenn sich etwas ändert.

Repository anzeigen
11.3k1.8kvor 3 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Webseite

Crucix

Dein eigenes Intelligence-Terminal. 27 Quellen. Ein Befehl. Keine Cloud.

Besuche die Live-Seite: crucix.live

Live Website Open Demo

Node.js 22+ License: AGPL v3 Dependencies Sources Docker

Betrete das Signal-Netzwerk

Signal Wire Ops Room

Crucix Dashboard

Weitere Screenshots
Boot-SequenzWeltkarte
BootKarte

Live-Website: https://www.crucix.live/ Erkunde zuerst die öffentliche Demo, klone dann das Repository, um Crucix lokal auszuführen.

Crucix zieht Satelliten-Branderkennung, Flugverfolgung, Strahlungsüberwachung, Satellitenkonstellations-Tracking, Wirtschaftsindikatoren, Live-Marktpreise, Konfliktdaten, Sanktionslisten und soziale Stimmung aus 27 Open-Source-Intelligence-Feeds – parallel, alle 15 Minuten – und rendert alles auf einem einzigen autarken Jarvis-artigen Dashboard.

Schließe ein LLM an und es wird zu einem bidirektionalen Intelligence-Assistenten – der mehrstufige Warnmeldungen an Telegram und Discord sendet, wenn sich etwas Bedeutsames ändert, auf Befehle wie /brief und /sweep von deinem Telefon reagiert und umsetzbare Handelsideen generiert, die auf echten domänenübergreifenden Daten basieren. Dein eigener Analyst, der die Welt beobachtet, während du schläfst.

Probiere zuerst die Live-Demo auf https://www.crucix.live/ aus, klone dann das Repository, wenn du den vollständigen lokalen Stack haben möchtest.

Keine Cloud. Keine Telemetrie. Keine Abos. Nur node server.mjs und du bist startklar.

Token / Asset-Warnung

[!WARNING] Crucix hat keinen offiziellen Token, Coin, NFT, Airdrop, Presale oder einen anderen Blockchain-basierten Asset gestartet. Jeder Token oder digitale Asset, der den Namen, das Logo oder die Marke von Crucix verwendet, ist nicht mit Crucix verbunden oder von Crucix unterstützt. Kaufe ihn nicht, bewirb ihn nicht, verbinde keine Wallet, um ihn zu beanspruchen, signiere keine Transaktionen und sende keine Gelder aufgrund von Beiträgen Dritter, DMs oder Websites.


Warum es das gibt

Die meisten der weltweit verfügbaren Echtzeit-Intelligenzdaten – Satellitenbilder, Strahlungswerte, Konfliktereignisse, Wirtschaftsindikatoren, Flugverfolgung, maritime Aktivitäten – sind öffentlich zugänglich. Sie sind jedoch über Dutzende von Regierungs-APIs, Forschungseinrichtungen und offene Datenfeeds verstreut, die niemand einzeln prüfen kann.

Crucix bringt alles an einem Ort zusammen. Nicht hinter einer Bezahlschranke, nicht in einer Enterprise-Plattform eingeschlossen, nicht mit Sicherheitsfreigabe erforderlich. Einfach offene Daten, aggregiert und kreuzkorreliert auf deinem eigenen Rechner, alle 15 Minuten aktualisiert.

Es wurde für alle entwickelt, die verstehen wollen, was gerade wirklich in der Welt passiert – Forscher, Journalisten, Händler, OSINT-Analysten oder einfach neugierige Menschen, die glauben, dass der Zugang zu Informationen nicht vom eigenen Budget abhängen sollte.


Schnellstart```bash

1. Clone the repo

git clone https://github.com/calesthio/Crucix.git cd Crucix

2. Install dependencies (just Express)

npm install

3. Copy env template and add your API keys (see below)

cp .env.example .env

4. Start the dashboard

npm run dev

root@kitploit:~
> **Wenn `npm run dev` stillschweigend fehlschlägt** (ohne Ausgabe beendet), führen Sie Node stattdessen direkt aus:
> ```bash
> node --trace-warnings server.mjs
> ```
> Dies umgeht den Skript-Runner von npm, der auf manchen Systemen (insbesondere PowerShell unter Windows) Fehler verschlucken kann. Sie können auch `node diag.mjs` ausführen, um die genaue Ursache zu diagnostizieren – es prüft Ihre Node-Version, testet jedes Modul-Import einzeln und überprüft die Portverfügbarkeit. Siehe [Fehlerbehebung](#troubleshooting) für weitere Informationen.

Das Dashboard öffnet sich automatisch unter `http://localhost:3117` und beginnt sofort mit seinem ersten Intelligence-Sweep. Dieser erste Sweep fragt alle 27 Quellen parallel ab und dauert in der Regel 30–60 Sekunden – das Dashboard bleibt leer, bis der Sweep abgeschlossen ist und das erste Datenupdate liefert. Danach aktualisiert es sich automatisch alle 15 Minuten via SSE (Server-Sent Events). Kein manuelles Seiten-Refresh erforderlich.

**Voraussetzungen:** Node.js 22+ (nutzt natives `fetch`, top-level `await`, ESM)

### Docker```bash
git clone https://github.com/calesthio/Crucix.git
cd Crucix
cp .env.example .env    # add your API keys
docker compose up -d

Dashboard unter http://localhost:3117. Sweep-Daten bleiben in ./runs/ über Volume-Mount persistent. Enthält einen Health-Check-Endpunkt.


Was Sie erhalten

Live-Dashboard

Ein autarkes Jarvis-artiges HUD mit:

  • 3D-WebGL-Globus (Globe.gl) mit Atmosphärenglühen, Sternenfeld und sanfter Rotation – plus klassischer Flachkarten-Umschalter
  • 9 Markertypen in beiden Ansichten: Branderkennungen, Flugverkehr, Strahlungsstandorte, maritime Engpässe, SDR-Empfänger, OSINT-Ereignisse, Gesundheitswarnungen, geolokalisierte Nachrichten, Konfliktereignisse
  • Animierte 3D-Flugkorridorbögen zwischen Flugverkehrs-Hotspots und globalen Knotenpunkten
  • Regionsfilter (Welt, Amerika, Europa, Naher Osten, Asien-Pazifik, Afrika) – dreht den Globus oder zoomt die flache Karte
  • Live-Marktdaten — Indizes, Krypto, Energie, Rohstoffe über Yahoo Finance (kein API-Schlüssel erforderlich)
  • Risikoanzeigen — VIX, High-Yield-Spread, Lieferketten-Druckindex
  • OSINT-Feed — englischsprachige Beiträge von 17 Telegram-Nachrichtendienst-Kanälen (erweiterbar)
  • News-Ticker — zusammengeführte RSS + GDELT-Schlagzeilen + Telegram-Beiträge, automatisch scrollend
  • Sweep-Delta — Live-Panel, das zeigt, was sich seit dem letzten Sweep geändert hat (neue Signale, Eskalationen, Deeskalationen mit Schweregrad)
  • Quellenübergreifende Signale — korrelierte Informationen aus den Bereichen Satellit, Wirtschaft, Konflikte und Soziales
  • Nuklearwache — Echtzeit-Strahlungsmessungen von Safecast + EPA RadNet
  • Weltraumwache — CelesTrak-Satellitenverfolgung: aktuelle Starts, ISS, militärische Konstellationen, Starlink/OneWeb-Zahlen
  • Hebelbare Ideen — KI-generierte Handelsideen (mit LLM) oder signal-korrelierte Ideen (ohne)

Leistungsmodi

Der Button VISUALS FULL / VISUALS LITE in der oberen Leiste ändert nur das Rendering-Verhalten – er entfernt nicht Datenquellen oder reduziert die Sweep-Abdeckung.

Wenn Sie auf VISUALS LITE umschalten, deaktiviert das Dashboard:

  • Dekorative Hintergrundeffekte wie die Radial-/Gitterüberlagerungen und Scanlinien
  • Entfernt aufwändige Unschärfe-/Hintergrundfilter-Effekte auf Panels und Overlays
  • Stoppt nicht-essentielle Animationen wie das Blinken des Logorings, Konfliktringe und Korridor-Fluss-Effekte
  • Deaktiviert die automatische Globusdrehung und schaltet animierte Flugbogen-Striche aus
  • Wandelt den horizontalen News-Ticker und den OSINT-Stream in statische, scrollbare Listen um, anstatt in kontinuierlich animierte Laufbänder

Mobilespezifisches Verhalten:

  • Auf Mobilgeräten erzwingt VISUALS LITE außerdem den Flachkartenmodus, wenn Sie sich gerade auf dem Globus befinden
  • Zukünftige mobile Ladevorgänge beginnen weiterhin flach, solange der Low-Performance-Modus aktiviert ist

Die Einstellung wird im Browser-Local-Storage gespeichert, sodass sich die UI an Ihre letzte Einstellung erinnert.

Automatische Aktualisierung

Der Server führt alle 15 Minuten (konfigurierbar) einen Sweep-Zyklus durch. Jeder Zyklus:

  1. Fragt alle 27 Quellen parallel ab (~30s)
  2. Synthetisiert Rohdaten in das Dashboard-Format
  3. Berechnet das Delta zum vorherigen Durchlauf (was sich geändert hat, eskaliert, deeskaliert) — sichtbar im Sweep Delta-Panel auf dem Dashboard
  4. Generiert LLM-Handelsideen (falls konfiguriert)
  5. Bewertet Eilmeldungsalarme — mehrstufig (FLASH / PRIORITY / ROUTINE) mit semantischer Deduplizierung. Sendet an Telegram und/oder Discord, falls konfiguriert. Funktioniert mit LLM-Bewertung oder fällt auf regelbasierte Alarmierung zurück, wenn LLM nicht verfügbar ist.
  6. Sendet ein Update an alle verbundenen Browser via SSE

Telegram-Bot (bidirektional)

Crucix fungiert auch als interaktiver Telegram-Bot. Neben dem Versenden von Alarmen reagiert er auf Befehle direkt aus Ihrem Chat:

Dies erfordert TELEGRAM_BOT_TOKEN und TELEGRAM_CHAT_ID in .env. Der Bot fragt alle 5 Sekunden nach Nachrichten (konfigurierbar über TELEGRAM_POLL_INTERVAL).

Discord-Bot (bidirektional)

Crucix unterstützt auch Discord als vollwertigen Bot mit Slash-Befehlen und Rich-Embed-Alarmen. Es spiegelt die Fähigkeiten des Telegram-Bots mit Discord-eigener Formatierung wider.

BefehlFunktion
/statusSystemzustand, letzter Sweep-Zeitpunkt, Quellenstatus, LLM-Status
/sweep

Alarme werden als Rich Embeds mit farbcodierten Seitenleisten zugestellt: rot für FLASH, gelb für PRIORITY, blau für ROUTINE. Jedes Embed enthält Signaldetails, Konfidenzwerte und domänenübergreifende Korrelationen.

Einrichtung erfordert: DISCORD_BOT_TOKEN, DISCORD_CHANNEL_ID und optional DISCORD_GUILD_ID für die sofortige Registrierung von Slash-Befehlen. Siehe API-Schlüssel einrichten für Details.

Webhook-Fallback: Wenn Sie keinen vollständigen Bot betreiben möchten, setzen Sie stattdessen DISCORD_WEBHOOK_URL. Dies ermöglicht unidirektionale Alarme (keine Slash-Befehle) ohne Abhängigkeiten — kein discord.js erforderlich.

Optionale Abhängigkeit: Der vollständige Bot erfordert discord.js. Installieren Sie es mit npm install discord.js. Wenn es nicht installiert ist, fällt Crucix automatisch in den reinen Webhook-Modus zurück.

Optionale LLM-Schicht

Verbinden Sie einen von 8 LLM-Anbietern für erweiterte Analysen:

  • KI-Handelsideen — quantitativer Analyst, der 5-8 umsetzbare Ideen unter Angabe spezifischer Daten erstellt
  • Intelligentere Alarmbewertung — LLM klassifiziert Signale in die Stufen FLASH/PRIORITY/ROUTINE mit domänenübergreifender Korrelation und Konfidenzbewertung
  • Anbieter: Anthropic Claude, OpenAI, Google Gemini, OpenRouter (Unified API), OpenAI Codex (ChatGPT-Abonnement), MiniMax, Mistral, Grok
  • Sanfter Fallback — wenn LLM nicht verfügbar ist, übernimmt eine regelbasierte Engine die Alarmbewertung. LLM-Fehler bringen den Sweep-Zyklus niemals zum Absturz.

API-Schlüssel einrichten

Kopieren Sie .env.example in .env im Projektstammverzeichnis:```bash cp .env.example .env

root@kitploit:~
### Erforderlich für beste Ergebnisse (alle kostenlos)

| Key | Quelle | Beschaffung |
|-----|--------|------------|
| `FRED_API_KEY` | Federal Reserve Economic Data | [fred.stlouisfed.org](https://fred.stlouisfed.org/docs/api/api_key.html) — sofort, kostenlos |
| `FIRMS_MAP_KEY` | NASA FIRMS (Satellitenfeuerdaten) | [firms.modaps.eosdis.nasa.gov](https://firms.modaps.eosdis.nasa.gov/api/area/) — sofort, kostenlos |
| `EIA_API_KEY` | US Energy Information Administration | [api.eia.gov](https://www.eia.gov/opendata/register.php) — sofort, kostenlos |

Diese drei entsperren die wertvollsten Wirtschafts- und Satellitendaten. Die Registrierung dauert jeweils etwa 60 Sekunden.

### Optional (aktiviert zusätzliche Quellen)

| Key | Quelle | Beschaffung |
|-----|--------|------------|
| `ACLED_EMAIL` + `ACLED_PASSWORD` | Daten zu bewaffneten Konfliktereignissen | [acleddata.com/register](https://acleddata.com/register/) — kostenlos, OAuth2 |
| `AISSTREAM_API_KEY` | Maritime AIS-Schiffsverfolgung | [aisstream.io](https://aisstream.io/) — kostenlos |
| `ADSB_API_KEY` | Ungefilterte Flugverfolgung | [RapidAPI](https://rapidapi.com/adsbexchange/api/adsbexchange-com1) — ~$10/Monat |

### LLM-Anbieter (optional, für KI-verbesserte Ideen)

Setzen Sie `LLM_PROVIDER` auf einen von: `anthropic`, `openai`, `gemini`, `codex`, `openrouter`, `minimax`, `mistral`, `grok`

| Anbieter | Erforderlicher Schlüssel | Standardmodell |
|----------|-------------|---------------|
| `anthropic` | `LLM_API_KEY` | claude-sonnet-4-6 |
| `openai` | `LLM_API_KEY` | gpt-5.4 |
| `gemini` | `LLM_API_KEY` | gemini-3.1-pro |
| `openrouter` | `LLM_API_KEY` | openrouter/auto |
| `codex` | Keiner (verwendet `~/.codex/auth.json`) | gpt-5.3-codex |
| `minimax` | `LLM_API_KEY` | MiniMax-M2.5 |
| `mistral` | `LLM_API_KEY` | mistral-large-latest |
| `grok` | `LLM_API_KEY` | grok-4-latest |

Führen Sie für Codex `npx @openai/codex login` aus, um sich über Ihr ChatGPT-Abonnement zu authentifizieren.

### Telegram-Bot + Benachrichtigungen (optional)

| Schlüssel | Beschaffung |
|-----|------------|
| `TELEGRAM_BOT_TOKEN` | Erstellen Sie über [@BotFather](https://t.me/BotFather) auf Telegram |
| `TELEGRAM_CHAT_ID` | Holen Sie sich über [@userinfobot](https://t.me/userinfobot) |
| `TELEGRAM_CHANNELS` | *(Optional)* Durch Kommata getrennte zusätzliche Kanal-IDs zur Überwachung über die 17 eingebauten Kanäle hinaus |
| `TELEGRAM_POLL_INTERVAL` | *(Optional)* Abfrageintervall für Bot-Befehle in ms (Standard: 5000) |

### Discord-Bot + Benachrichtigungen (optional)

| Schlüssel | Beschaffung |
|-----|------------|
| `DISCORD_BOT_TOKEN` | Erstellen Sie im [Discord Developer Portal](https://discord.com/developers/applications) → Bot → Token |
| `DISCORD_CHANNEL_ID` | Rechtsklick auf Kanal in Discord (Entwicklermodus ein) → Kanal-ID kopieren |
| `DISCORD_GUILD_ID` | *(Optional)* Rechtsklick auf Server → Server-ID kopieren. Ermöglicht sofortige Slash-Befehl-Registrierung (sonst dauert es bis zu 1 Stunde für globale Befehle) |
| `DISCORD_WEBHOOK_URL` | *(Optional)* Kanaleinstellungen → Integrationen → Webhooks → Neuen Webhook → URL kopieren. Verwenden Sie dies für den Nur-Benachrichtigungsmodus ohne Bot |

**Discord-Bot-Einrichtung:**
1. Gehen Sie zum [Discord Developer Portal](https://discord.com/developers/applications) und erstellen Sie eine neue Anwendung
2. Gehen Sie zu **Bot** → klicken Sie auf **Token zurücksetzen** → kopieren Sie den Token in `DISCORD_BOT_TOKEN`
3. Aktivieren Sie unter **Privilegierte Gateway-Intents** die Option **Message Content Intent**
4. Gehen Sie zu **OAuth2** → **URL-Generator** → wählen Sie die Bereiche `bot` + `applications.commands` → wählen Sie die Berechtigungen `Nachrichten senden` + `Embed-Links`
5. Kopieren Sie die generierte URL und öffnen Sie sie in Ihrem Browser, um den Bot zu Ihrem Server einzuladen
6. Installieren Sie die Abhängigkeit: `npm install discord.js`

Benachrichtigungen funktionieren mit oder ohne LLM sowohl auf Telegram als auch auf Discord. Mit einem konfigurierten LLM ist die Signalbewertung umfangreicher und kontextbewusster. Ohne einen solchen bewertet eine deterministische Regelmaschine Signale basierend auf Schweregrad, domänenübergreifender Korrelation und Signalanzeige.

### Ohne jegliche Schlüssel

Crucix funktioniert auch ohne API-Schlüssel. Über 18 Quellen erfordern überhaupt keine Authentifizierung. Quellen, die Schlüssel benötigen, geben strukturierte Fehler zurück, und der Rest des Scans läuft normal weiter.

---

## Architektur```
crucix/
├── server.mjs                 # Express dev server (SSE, auto-refresh, LLM, bot commands)
├── crucix.config.mjs          # Configuration with env var overrides + delta thresholds
├── diag.mjs                   # Diagnostic script — run if server fails to start
├── .env.example               # All documented env vars
├── package.json               # Runtime: express | Optional: discord.js
├── docs/                      # Screenshots for README
│
├── apis/
│   ├── briefing.mjs           # Master orchestrator — runs all 27 sources in parallel
│   ├── save-briefing.mjs      # CLI: save timestamped + latest.json
│   ├── BRIEFING_PROMPT.md     # Intelligence synthesis protocol
│   ├── BRIEFING_TEMPLATE.md   # Briefing output structure
│   ├── utils/
│   │   ├── fetch.mjs          # safeFetch() — timeout, retries, abort, auto-JSON
│   │   └── env.mjs            # .env loader (no dotenv dependency)
│   └── sources/               # 27 self-contained source modules
│       ├── gdelt.mjs          # Each exports briefing() → structured data
│       ├── fred.mjs           # Can run standalone: node apis/sources/fred.mjs
│       ├── space.mjs          # CelesTrak satellite tracking
│       ├── yfinance.mjs       # Yahoo Finance — free live market data
│       └── ...                # 23 more
│
├── dashboard/
│   ├── inject.mjs             # Data synthesis + standalone HTML injection
│   └── public/
│       └── jarvis.html        # Self-contained Jarvis HUD
│
├── lib/
│   ├── llm/                   # LLM abstraction (8 providers, raw fetch, no SDKs)
│   │   ├── provider.mjs       # Base class
│   │   ├── anthropic.mjs      # Claude
│   │   ├── openai.mjs         # GPT
│   │   ├── gemini.mjs         # Gemini
│   │   ├── grok.mjs           # Grok
│   │   ├── openrouter.mjs     # OpenRouter (Unified API)
│   │   ├── codex.mjs          # Codex (ChatGPT subscription)
│   │   ├── minimax.mjs        # MiniMax (M2.5, 204K context)
│   │   ├── mistral.mjs        # Mistral AI
│   │   ├── ideas.mjs          # LLM-powered trade idea generation
│   │   └── index.mjs          # Factory: createLLMProvider()
│   ├── delta/                 # Change tracking between sweeps
│   │   ├── engine.mjs         # Delta computation — semantic dedup, configurable thresholds, severity scoring
│   │   ├── memory.mjs         # Hot memory (3 runs, atomic writes) + cold storage (daily archives)
│   │   └── index.mjs          # Re-exports
│   └── alerts/
│       ├── telegram.mjs       # Multi-tier alerts (FLASH/PRIORITY/ROUTINE) + two-way bot commands
│       └── discord.mjs        # Discord bot (slash commands, rich embeds) + webhook fallback
│
└── runs/                      # Runtime data (gitignored)
    ├── latest.json            # Most recent sweep output
    └── memory/                # Delta memory (hot.json + cold/YYYY-MM-DD.json)

Gestaltungsprinzipien

  • Pure ESM — jede Datei ist .mjs mit expliziten Importen
  • Minimale Abhängigkeiten — Express ist die einzige Laufzeitabhängigkeit. discord.js ist optional (für Discord-Bot). LLM-Anbieter verwenden rohes fetch(), keine SDKs.
  • Parallele Ausführung — Promise.allSettled() feuert alle 27 Quellen gleichzeitig.
  • Graceful Degradation — fehlende Schlüssel erzeugen Fehler, keine Abstürze. LLM-Fehler beenden keine Sweeps.
  • Jede Quelle ist eigenständig — führe node apis/sources/gdelt.mjs aus, um jede Quelle unabhängig zu testen
  • In sich geschlossenes Dashboard — die HTML-Datei funktioniert mit oder ohne Server.

Datenquellen (27)

Stufe 1: Kern-OSINT & Geopolitik (11)

Stufe 2: Wirtschaft & Finanzen (7)

Stufe 3: Wetter, Umwelt, Technik, Soziales, SIGINT (7)

Stufe 4: Weltraum & Satelliten (1)

QuelleWas es verfolgtAuth
CelesTrakSatellitenstarts, ISS-Tracking, militärische Konstellationen, Starlink/OneWeb-ZählungenKeine

Stufe 5: Live-Marktdaten (1)

QuelleWas es verfolgtAuth
Yahoo FinanceEchtzeitkurse: SPY, QQQ, BTC, Gold, WTI, VIX + 9 weitereKeine

npm-Skripte


Konfiguration

Alle Einstellungen befinden sich in .env mit sinnvollen Standardwerten:

Delta-Engine-Schwellenwerte (wie empfindlich das System auf Änderungen zwischen Sweeps reagiert) können in crucix.config.mjs im Abschnitt delta.thresholds angepasst werden. Die Standardwerte sind so abgestimmt, dass sie Rauschen herausfiltern, während aussagekräftige Bewegungen erfasst werden.


API-Endpunkte

Bei Ausführung von npm run dev:

EndpunktBeschreibung
GET /Jarvis HUD Dashboard
GET /api/dataAktuelle synthetisierte Intelligence-Daten (JSON)

Fehlerbehebung

npm run dev wird still beendet (keine Ausgabe, kein Fehler)

Dies ist ein bekanntes Problem, bei dem der Skript-Runner von npm Fehler verschlucken kann, insbesondere unter Windows PowerShell. Versuchen Sie es nacheinander:

1. Node direkt ausführen (npm umgehen):```bash node --trace-warnings server.mjs

root@kitploit:~
Dies ist funktional identisch zu `npm run dev`, gibt dir aber die vollständige Fehlerausgabe.

**2. Führe das Diagnoseskript aus:**```bash
node diag.mjs

Dies testet jeden Import einzeln, überprüft Ihre Node.js-Version und stellt sicher, dass Port 3117 verfügbar ist. Es wird Ihnen genau sagen, was fehlschlägt.

3. Prüfen, ob Port 3117 bereits verwendet wird:

Möglicherweise läuft noch eine frühere Crucix-Instanz im Hintergrund.```powershell

Windows PowerShell

netstat -ano | findstr 3117 taskkill /F /PID <the_PID_from_above>

Or kill all Node processes

taskkill /F /IM node.exe

root@kitploit:~
## Inhaltsverzeichnis

- [Aufklärung](#reconnaissance)
- [Ressourcenentwicklung](#resource-development)
- [Initialer Zugang](#initial-access)
- [Ausführung](#execution)
- [Persistenz](#persistence)
- [Privilegieneskalation](#privilege-escalation)
- [Umgehung von Verteidigungsmaßnahmen](#defense-evasion)
- [Zugriff auf Anmeldeinformationen](#credential-access)
- [Erkennung](#discovery)
- [Laterale Bewegung](#lateral-movement)
- [Sammlung](#collection)
- [Befehl und Kontrolle](#command-and-control)
- [Exfiltration](#exfiltration)
- [Auswirkungen](#impact)```bash
# macOS / Linux
lsof -ti:3117 | xargs kill

Dann versuche es erneut zu starten. Du kannst auch den Port ändern, indem du PORT=3118 in deiner .env Datei setzt.

4. Überprüfe die Node.js-Version:```bash node --version

root@kitploit:~
Crucix benötigt Node.js 22 oder neuer. Falls Sie eine ältere Version haben, laden Sie die neueste LTS von [nodejs.org](https://nodejs.org/) herunter.

### Dashboard zeigt nach dem ersten Start leere Panels an

Dies ist normal – der erste Durchlauf benötigt 30–60 Sekunden, um alle 27 Quellen abzufragen. Das Dashboard wird automatisch befüllt, sobald der Durchlauf abgeschlossen ist. Überprüfen Sie das Terminal auf Fortschrittsprotokolle des Durchlaufs.

### Bei einigen Quellen werden Fehler angezeigt

Erwartetes Verhalten. Quellen, die API-Schlüssel benötigen, geben strukturierte Fehler zurück, wenn der Schlüssel nicht gesetzt ist. Der Rest des Durchlaufs läuft normal weiter. Überprüfen Sie den Abschnitt „Quellenintegrität“ im Dashboard (oder die Serverprotokolle), um zu sehen, welche Quellen fehlgeschlagen sind und warum. Die drei wirkungsvollsten kostenlosen Schlüssel zum Hinzufügen sind `FRED_API_KEY`, `FIRMS_MAP_KEY` und `EIA_API_KEY`.

OpenSky kann auch `HTTP 429` zurückgeben, wenn seine öffentlichen Hotspots zu aggressiv abgefragt werden. Crucix versucht nicht, diese Begrenzung zu umgehen. Stattdessen zeigt es die Drosselung/Fehler in der Quellengesundheit an und bewahrt den letzten nicht leeren Luftverkehrsschnappschuss aus `runs/`, sodass die Flugschicht des Dashboards bei einem gedrosselten Durchlauf nicht plötzlich leer wird.

### Telegram-Bot reagiert nicht auf Befehle

Stellen Sie sicher, dass sowohl `TELEGRAM_BOT_TOKEN` als auch `TELEGRAM_CHAT_ID` in `.env` gesetzt sind. Der Bot antwortet nur auf Nachrichten von der konfigurierten Chat-ID (Sicherheitsmaßnahme). Sie sollten beim Start `[Crucix] Telegram alerts enabled` und `[Crucix] Bot command polling started` in den Serverprotokollen sehen. Falls nicht, überprüfen Sie Ihren Token mit `curl https://api.telegram.org/bot<YOUR_TOKEN>/getMe`.

### Discord-Bot reagiert nicht auf Slash-Befehle

Überprüfen Sie diese in der Reihenfolge:
1. Stellen Sie sicher, dass `DISCORD_BOT_TOKEN` und `DISCORD_CHANNEL_ID` in `.env` gesetzt sind
2. Überprüfen Sie, ob `discord.js` installiert ist: `npm ls discord.js`. Falls nicht, führen Sie `npm install discord.js` aus
3. Wenn Slash-Befehle nicht erscheinen, setzen Sie `DISCORD_GUILD_ID` — ohne diesen können globale Befehle bis zu einer Stunde dauern, um sich zu verbreiten. Gildenspezifische Befehle werden sofort registriert
4. Bestätigen Sie, dass der Bot mit den Bereichen `bot` + `applications.commands` eingeladen wurde und im Zielkanal die Berechtigungen `Nachrichten senden` + `Embed-Links` hat
5. Überprüfen Sie die Serverprotokolle beim Start auf `[Discord] Bot logged in as ...`. Wenn Sie `[Discord] discord.js not installed` sehen, installieren Sie es und starten Sie neu
6. **Webhook-Only-Fallback:** Wenn Sie nur Benachrichtigungen ohne Slash-Befehle wünschen, setzen Sie `DISCORD_WEBHOOK_URL` anstelle des Bot-Tokens. Es wird kein `discord.js` benötigt.

---

## Screenshots

Der Ordner `docs/` enthält Dashboard-Screenshots, auf die in dieser README verwiesen wird:

| Datei | Beschreibung |
|------|-------------|
| `docs/dashboard.png` | Vollständiges Dashboard — Heldenbild am Anfang dieser README |
| `docs/boot.png` | Kinematografische Startsequenz-Animation |
| `docs/map.png` | D3-Weltkarte mit Markierungstypen und Flugbögen |
| `docs/globe.png` | 3D-WebGL-Globusansicht mit Atmosphärenglühen und Markierungen |

Um sie zu aktualisieren: Führen Sie das Dashboard aus, warten Sie, bis ein Durchlauf abgeschlossen ist, und verwenden Sie dann die Entwicklertools Ihres Browsers (`F12` → `Strg+Umschalt+P` → "Screenshot in voller Größe aufnehmen") oder ein Tool wie [LICEcap](https://www.cockos.com/licecap/) für GIFs.

---

## Mitwirken

Einen Fehler gefunden? Möchten Sie eine 28. Quelle hinzufügen? Pull-Requests sind willkommen. Jede Quelle ist ein eigenständiges Modul in `apis/sources/` — exportieren Sie einfach eine `briefing()`-Funktion, die strukturierte Daten zurückgibt, und fügen Sie sie zum Orchestrator in `apis/briefing.mjs` hinzu.

Wenn Sie dies nützlich finden, hilft ein Stern anderen, es ebenfalls zu finden.

Beitragsrichtlinien, Überprüfungserwartungen und Regeln zum Hinzufügen von Quellen finden Sie in `CONTRIBUTING.md`. Für Sicherheitsmeldungen siehe `SECURITY.md`.

## Kontakt

Für Partnerschaften, Integrationen oder andere allgemeine Anfragen erreichen Sie mich unter `[email protected]`.

Bitte verwenden Sie für Fehlerberichte und Funktionswünsche GitHub Issues, damit Diskussionen sichtbar und umsetzbar bleiben.

---

## Star History

<a href="https://www.star-history.com/?repos=calesthio%2FCrucix&type=date&legend=top-left">
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/image?repos=calesthio/Crucix&type=date&theme=dark&legend=top-left" />
    <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/image?repos=calesthio/Crucix&type=date&legend=top-left" />
    <img alt="Sternverlaufsdiagramm" src="https://assets.kitploit.com/production/public/readmes/placeholders/f0fc86cfe65f76d40e15aaec61704ec8220a56dc89d4be03c46f67cb31b9fa8c.svg" />
  </picture>
</a>

---

## Lizenz

AGPL-3.0
Tool herunterladen
3D-Globus-Ansicht
Globus
BefehlFunktion
/statusSystemzustand, letzter Sweep-Zeitpunkt, Quellenstatus, LLM-Status
/sweepManuellen Sweep-Zyklus auslösen
/briefKompakte Textzusammenfassung der neuesten Informationen (Richtung, Schlüsselkennzahlen, Top-OSINT)
/portfolioPortfoliostatus (falls Alpaca verbunden)
/alertsLetzte Alarmchronologie mit Stufen
/mute / /mute 2hAlarme für 1h (oder benutzerdefinierte Dauer) stummschalten
/unmuteAlarme fortsetzen
/helpAlle verfügbaren Befehle anzeigen
Manuellen Sweep-Zyklus auslösen
/briefKompakte Textzusammenfassung der neuesten Informationen
/portfolioPortfoliostatus (falls Alpaca verbunden)
QuelleWas es verfolgtAuth
GDELTGlobale Nachrichtenereignisse, Konfliktkartierung (100+ Sprachen)Keine
OpenSkyEchtzeit-ADS-B-Flugverfolgung über 6 Hotspot-RegionenKeine
NASA FIRMSSatelliten-Brand-/Thermalanomalieerkennung (3h Verzögerung)Kostenloser Schlüssel
Maritime/AISSchiffsverfolgung, Geisterschiffe, SanktionsumgehungKostenloser Schlüssel
SafecastBürgerwissenschaftliche Strahlungsüberwachung nahe 6 NuklearstandortenKeine
ACLEDBewaffnete Konfliktereignisse: Kämpfe, Explosionen, ProtesteKostenlos (OAuth2)
ReliefWebUN-Katastrophenhilfe-VerfolgungKeine
WHOKrankheitsausbrüche und GesundheitsnotfälleKeine
OFACUS-Finanzsanktionen (SDN-Liste)Keine
OpenSanctionsAggregierte globale Sanktionen (30+ Quellen)Teilweise
ADS-B ExchangeUngefilterte Flugverfolgung, inklusive MilitärBezahlt
QuelleWas es verfolgtAuth
FRED22 Schlüsselindikatoren: Zinskurve, CPI, VIX, Fed Funds, M2Kostenloser Schlüssel
US TreasuryStaatsverschuldung, Renditen, FiskaldatenKeine
BLSCPI, Arbeitslosigkeit, Nonfarm Payrolls, PPIKeine
EIAWTI/Brent-Rohöl, Erdgas, BeständeKostenloser Schlüssel
GSCPINY Fed Global Supply Chain Pressure IndexKeine
USAspendingBundesausgaben und VerteidigungsverträgeKeine
UN ComtradeStrategische Rohstoffhandelsströme zwischen GroßmächtenKeine
QuelleWas es verfolgtAuth
NOAA/NWSAktive US-WetterwarnungenKeine
EPA RadNetUS-RegierungsstrahlungsüberwachungKeine
USPTO PatentsPatentanmeldungen in 7 strategischen TechnologiebereichenKeine
BlueskySoziale Stimmung zu geopolitischen/MarktthemenKeine
RedditSoziale Stimmung aus wichtigen SubredditsOAuth
Telegram17 kuratierte OSINT-/Konflikt-/Finanzkanäle (Web-Scraping, erweiterbar via config)Keine
KiwiSDRGlobales HF-Radioempfängernetzwerk (~600 Empfänger)Keine
SkriptBefehlBeschreibung
npm run devnode --trace-warnings server.mjsDashboard mit automatischer Aktualisierung starten
npm run sweepnode apis/briefing.mjsEinmaligen Sweep ausführen, JSON in stdout ausgeben
npm run injectnode dashboard/inject.mjsNeueste Daten in statisches HTML einfügen
npm run brief:savenode apis/save-briefing.mjsSweep ausführen + zeitgestempelten JSON speichern
npm run diagnode diag.mjsDiagnose ausführen (Node-Version, Importe, Portprüfung)
VariableStandardBeschreibung
PORT3117Dashboard-Server-Port
REFRESH_INTERVAL_MINUTES15Automatisches Aktualisierungsintervall
LLM_PROVIDERdeaktiviertanthropic, openai, gemini, codex, openrouter, minimax, mistral oder grok
LLM_API_KEY—API-Schlüssel (nicht für codex erforderlich)
LLM_MODELStandard pro AnbieterModellauswahl überschreiben
TELEGRAM_BOT_TOKENdeaktiviertFür Telegram-Benachrichtigungen + Bot-Befehle
TELEGRAM_CHAT_ID—Ihre Telegram-Chat-ID
TELEGRAM_CHANNELS—Zusätzliche Kanal-IDs zur Überwachung (kommagetrennt)
TELEGRAM_POLL_INTERVAL5000Bot-Befehl-Abfrageintervall (ms)
DISCORD_BOT_TOKENdeaktiviertFür Discord-Benachrichtigungen + Slash-Befehle
DISCORD_CHANNEL_ID—Discord-Kanal für Benachrichtigungen
DISCORD_GUILD_ID—Server-ID (sofortige Slash-Befehl-Registrierung)
DISCORD_WEBHOOK_URL—Webhook-URL (nur Benachrichtigungs-Fallback, kein Bot erforderlich)
GET /api/healthServerstatus, Betriebszeit, Quellenanzahl, LLM-Status
GET /eventsSSE-Stream für Live-Push-Updates