Crypto: - Replace broken ChaCha20 (static nonce) with ChaCha20-Poly1305 AEAD - HKDF-SHA256 key derivation from per-device factory NVS master keys - Random 12-byte nonce per message (ESP32 hardware RNG) - crypto_init/encrypt/decrypt API with mbedtls legacy (ESP-IDF v5.3.2) - Custom partition table with factory NVS (fctry at 0x10000) Firmware: - crypto.c full rewrite, messages.c device_id prefix + AEAD encrypt - crypto_init() at boot with esp_restart() on failure - Fix command_t initializations across all modules (sub/help fields) - Clean CMakeLists dependencies for ESP-IDF v5.3.2 C3PO (C2): - Rename tools/c2 + tools/c3po -> tools/C3PO - Per-device CryptoContext with HKDF key derivation - KeyStore (keys.json) for master key management - Transport parses device_id:base64(...) wire format Tools: - New tools/provisioning/provision.py for factory NVS key generation - Updated flasher with mbedtls config for v5.3.2 Docs: - Update all READMEs for new crypto, C3PO paths, provisioning - Update roadmap, architecture diagrams, security sections - Update CONTRIBUTING.md project structure
54 lines
1.1 KiB
Plaintext
54 lines
1.1 KiB
Plaintext
# ESPILON C2 Configuration
|
|
# Copy this file to .env and adjust values
|
|
|
|
# ===================
|
|
# C2 Server
|
|
# ===================
|
|
C2_HOST=0.0.0.0
|
|
C2_PORT=2626
|
|
|
|
# ===================
|
|
# Camera Server
|
|
# ===================
|
|
# UDP receiver for camera frames
|
|
UDP_HOST=0.0.0.0
|
|
UDP_PORT=5000
|
|
UDP_BUFFER_SIZE=65535
|
|
|
|
# Web server for viewing streams
|
|
WEB_HOST=0.0.0.0
|
|
WEB_PORT=8000
|
|
|
|
# ===================
|
|
# Security
|
|
# ===================
|
|
# Token for authenticating camera frames (must match ESP firmware)
|
|
CAMERA_SECRET_TOKEN=Sup3rS3cretT0k3n
|
|
|
|
# Flask session secret (change in production!)
|
|
FLASK_SECRET_KEY=change_this_for_prod
|
|
|
|
# Web interface credentials
|
|
WEB_USERNAME=admin
|
|
WEB_PASSWORD=admin
|
|
|
|
# ===================
|
|
# Storage
|
|
# ===================
|
|
# Directory for camera frame storage (relative to c2 root)
|
|
IMAGE_DIR=static/streams
|
|
|
|
# ===================
|
|
# Video Recording
|
|
# ===================
|
|
VIDEO_ENABLED=true
|
|
VIDEO_PATH=static/streams/record.avi
|
|
VIDEO_FPS=10
|
|
VIDEO_CODEC=MJPG
|
|
|
|
# ===================
|
|
# Honeypot Dashboard (optional plugin)
|
|
# ===================
|
|
# Path to espilon-honey-pot/tools/ directory
|
|
# HP_DASHBOARD_PATH=/path/to/espilon-honey-pot/tools
|