ARGOS — run RF, cyber, and intelligence-gathering operations from one console

Quick Start · Docs · Architecture · Configuration · Security


CI Release License: MIT Node >=22.11 Platform Stack

Argos tactical dashboard — live MIL-STD-2525 map

What is Argos?

Argos wraps the native SDR and network-analysis CLIs you already trust — hackrf_sweep, Kismet, gpsd, grgsm — behind a single Svelte 5 dashboard, streaming every tool to one operator view over WebSocket and SSE. It runs natively on an NVIDIA Jetson AGX Orin or a Raspberry Pi 5 in the field, so the whole RF and network picture lives in one place instead of a dozen terminals.

Quick Start

git clone https://github.com/christianpeirson/argos-edge.git
cd argos-edge
sudo bash scripts/ops/setup-host.sh   # installs host tools + services, generates .env
npm install
npm run dev

Open http://<host-ip>:5173 — you should see the tactical dashboard. For prerequisites and the production (systemd) deploy, see Installation.

[!WARNING] Argos integrates offensive, signals-intelligence, and electronic-warfare tooling intended for authorized training, research, and testing only. Transmitting on regulated spectrum and capturing third-party traffic are illegal without authorization. You are solely responsible for compliance with all applicable laws, radio licenses, and rules of engagement.

Capabilities

Concrete, not aspirational — each row is wired to real tools today.

Domain Tools Access / transport
Spectrum hackrf_sweep, OpenWebRX, NovaSDR, SDR++ Waterfall + peak-hold over WebSocket
Cellular grgsm, GSM/IMSI monitoring Live scan view + console
Wi-Fi / Bluetooth Kismet, Blue Dragon (BLE survey) Survey tables over SSE
Geolocation & mapping gpsd, signal geolocation Leaflet + MapLibre GL, MIL-STD-2525 symbology
RF propagation Signal-Server, Navy APM Map overlays
Situational awareness TAK / Cursor-on-Target export Broadcast + certificate management
Network reconnaissance Authorized-use offensive framework (tactical/) Integrated PTY terminals (node-pty + xterm)
AI assistant Anthropic Claude In-console agent panel (online)

Hardware Requirements

Component Notes Required
Compute — NVIDIA Jetson AGX Orin (Ubuntu 22.04) or Raspberry Pi 5 8GB (Kali) Jetson is the primary target; RPi 5 is the original/alternate platform Yes
HackRF One (or USRP B205mini) Spectrum capture; B205mini for wideband Blue Dragon BLE Yes
u-blox GPS dongle Positioning Recommended
External Wi-Fi adapter Wi-Fi scanning (the managed NIC stays reserved for internet) Yes
USB 3.0 powered hub Power delivery for peripherals Yes
500GB+ NVMe SSD Storage Recommended

Installation

Prerequisites: Node >=22.11, git, and sudo on a fresh host.

Primary path — native host (Jetson AGX Orin / Ubuntu 22.04). Follow the canonical guide: docs/install/jetson-aarch64.md. In summary:

  1. sudo bash scripts/ops/setup-host.sh — installs Node, Kismet, gpsd, udev rules, and the third-party tool containers; generates .env.
  2. Configure .env (see Configuration).
  3. npm run build, then deploy via systemd: sudo bash scripts/ops/install-services.sh and systemctl start argos-final.

Alternate path — Raspberry Pi 5 / Kali. See SETUP.md.

Docker is used only for third-party tools (OpenWebRX, NovaSDR, Bettercap). The Argos app itself runs natively on adapter-node (scripts/ops/prod-server.ts), not in a container.

Architecture

SDR / network hardware (HackRF, USRP, Wi-Fi, GPS)
  → native CLI tool wrappers (hackrf_sweep, Kismet, gpsd, grgsm)
  → Node server + SvelteKit (adapter-node, custom ws/upgrade handler)
  → real-time transport (WebSocket + SSE)
  → Svelte 5 dashboard (runes + IBM Carbon)
Layer Technology
Frontend SvelteKit 2 · Svelte 5 (runes) · IBM Carbon (carbon-components-svelte)
Language TypeScript (strict)
Server Node >=22.11 · adapter-node (custom ws upgrade handler)
Realtime WebSocket (ws) + SSE
Storage better-sqlite3
Terminals node-pty + xterm
Observability OpenTelemetry · Sentry

Built on: HackRF · Kismet · gpsd · gr-gsm · OpenWebRX · GNU Radio · MapLibre · Leaflet · TAK.

See ADR-0001 for the framework rationale and ADR-0006 for the IBM Carbon UI decision.

SDR Options

Tool Type Access HackRF
OpenWebRX Docker iframe :8073 Shared
NovaSDR Docker iframe :9002 Shared
SDR++ Native noVNC :6082 Shared

Configuration

Runtime configuration is via environment variables — copy .env.example to .env. All variables are validated at startup in src/lib/server/env.ts, and the setup script generates the required values on first run.

Variable Required Purpose
ARGOS_API_KEY Yes API authentication (fail-closed; min 32 chars)
ANTHROPIC_API_KEY Optional Enables the AI assistant panel (console.anthropic.com)
STADIA_MAPS_API_KEY Optional Vector map tiles (stadiamaps.com)
OPENCELLID_API_KEY Optional Cell-tower database (opencellid.org)
Argos live status bar with MGRS grid
Live status bar — WiFi / SDR / GPS / TAK status with MGRS grid and Zulu time

Documentation

Resources & Reference

Troubleshooting

Problem Fix
No DNS / can't resolve hostnames sudo tailscale set --accept-dns=true
No GPS fix Move outside with sky view, wait ~2 minutes
Page is blank Check npm run dev output for errors
Wi-Fi adapter not detected Unplug and replug the USB hub
HackRF not detected Run hackrf_info on the host
Port conflict sudo lsof -i :5173

Contributing

Contributions are welcome — see CONTRIBUTING.md for the branch model, the local npm run verify gate, and commit conventions. Issue and PR templates live in .github/.

Security

See SECURITY.md for private vulnerability reporting. Argos integrates offensive and signals-intelligence tooling intended for authorized training, research, and testing only — you are responsible for compliance with all applicable laws and authorizations.

License

Argos is released under the MIT License — see LICENSE.

Top categories

Loading Svelte Themes