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>
30 lines
1.2 KiB
Markdown
30 lines
1.2 KiB
Markdown
# Stegasoo 4.2.1 Plan
|
|
|
|
## Bugs
|
|
- [ ] Fix EXIF viewer panel not loading metadata in Web UI
|
|
- [x] DCT mode: portrait photos export rotated 90° (EXIF orientation not handled)
|
|
- Added `_apply_exif_orientation()` to apply EXIF rotation before embedding
|
|
- [x] DCT mode: add rotation fallback (try as-is, rotate 90°, retry on failure)
|
|
- Added rotation fallback in `extract_from_dct()` with quick header validation
|
|
- [x] 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
|