DCT steganography improvements: - Add _apply_exif_orientation() to fix portrait photos encoding rotated - Add _jpegtran_rotate() for lossless JPEG rotation preserving DCT data - Add rotation fallback in extract_from_dct() - tries 0°, 90°, 180°, 270° - Quick header validation to skip invalid rotations efficiently - Fix: wrap debug.print in try/except to prevent extraction failures Web UI rotate tool: - Use jpegtran for JPEGs (lossless, preserves DCT steganography) - Fall back to PIL for non-JPEGs - Dynamic UI shows "DCT Safe" for JPEGs, warning for other formats This enables the workflow: encode → compress → rotate → decode Rotated stego JPEGs can now be decoded by trying all orientations. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1.2 KiB
1.2 KiB
Stegasoo 4.2.1 Plan
Bugs
- Fix EXIF viewer panel not loading metadata in Web UI
- DCT mode: portrait photos export rotated 90° (EXIF orientation not handled)
- Added
_apply_exif_orientation()to apply EXIF rotation before embedding
- Added
- DCT mode: add rotation fallback (try as-is, rotate 90°, retry on failure)
- Added rotation fallback in
extract_from_dct()with quick header validation
- Added rotation fallback in
- 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
- CLI tools - full shakedown and fixes
AUR Packages
stegasoo-cli- standalone CLI package (no web dependencies)stegasoo-api- REST API package (needs auth overhaul first)
API Auth Work (blocking stegasoo-api)
- Implement OAuth2 authentication
- TLS 1.3 support with self-signed certificates
- Figure out cert trust/distribution for clients
API Documentation
- Postman collection
- Environment variable templates