Files
stegasoo/TODO-4.2.1.md
Aaron D. Lee b09f607d34 Add stegasoo-api AUR package
New package in aur-api/ for API-only installation:
- Installs [api,cli,compression] extras
- Has fastapi/uvicorn for REST API
- No flask/gunicorn (web UI deps)
- 74MB package size
- Systemd service with TLS enabled by default

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 18:13:26 -05:00

2.3 KiB

Stegasoo 4.2.1 Plan

Bugs

  • Fix EXIF viewer panel not loading metadata in Web UI
    • Redesigned with card-based grid layout and categories
    • Compact styling for better space usage
  • DCT mode: portrait photos export rotated 90° (EXIF orientation not handled)
    • Added _apply_exif_orientation() to apply EXIF rotation before embedding
  • DCT mode: add rotation fallback (try as-is, rotate 90°, retry on failure)
    • Added rotation fallback in extract_from_dct() with quick header validation
  • Rotate tool: use jpegtran for lossless JPEG rotation (preserves DCT stego!)
    • Web UI rotate tool now uses jpegtran for JPEGs
    • DCT decode rotation fallback now uses jpegtran for JPEGs
    • Dynamic UI shows "DCT Safe" for JPEGs, warning for other formats

Tools Audit

  • Web UI tools - full shakedown and fixes
    • Compress, Rotate, Strip, EXIF viewer all working
    • Rotate uses jpegtran for lossless JPEG rotation
    • Compact UI styling
  • CLI tools - full shakedown and fixes
    • Fixed encode to output JPEG when carrier is JPEG (was always PNG)
    • Fixed jpegtran -trim flag destroying DCT stego data
    • Added compress, rotate, convert tools (matching Web UI)
    • Rotate uses jpegtran for JPEGs, supports flip-only operations

AUR Packages

  • stegasoo-cli - standalone CLI package (no web dependencies)
    • Created aur-cli/PKGBUILD with [cli,dct,compression] extras only
    • No flask/gunicorn/fastapi/uvicorn/pyzbar deps
    • 68MB vs 79MB for full package
  • stegasoo-api - REST API package
    • Created aur-api/PKGBUILD with [api,cli,compression] extras
    • Has fastapi/uvicorn, no flask/gunicorn
    • 74MB package size
    • Includes systemd service with TLS

API Auth Work

  • API key authentication (simpler than OAuth2 for personal use)
    • frontends/api/auth.py - key generation, hashing, validation
    • Keys stored in ~/.stegasoo/api_keys.json (hashed)
    • X-API-Key header for authentication
    • Auth disabled when no keys configured
  • TLS with self-signed certificates
    • Auto-generates certs on first run
    • CLI: stegasoo api tls generate
    • Certs stored in ~/.stegasoo/certs/
  • CLI commands for API management
    • stegasoo api keys list/create/delete
    • stegasoo api tls generate/info
    • stegasoo api serve (starts with TLS by default)

API Documentation

  • Postman collection (with environment templates)