3 Commits (main)

Author SHA1 Message Date
Raynoxis 42790c6850 Fix Podman rootless permissions and improve setup
- Remove downloads folder creation from Dockerfile to avoid permission conflicts
- Remove user directive from docker-compose.yml (incompatible with rootless)
- Add :Z flag to volume mount for proper SELinux labeling
- Add fix-permissions.sh script for easy Podman setup
- Update documentation with correct Podman rootless instructions
- Update changelog for v2.0.2

This fixes the "Permission denied" error when downloading files in Podman
rootless mode by properly configuring UID mapping.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
8 months ago
Raynoxis a745ceeafb Major security and concurrency improvements
Security fixes:
- Add YouTube URL validation with regex to prevent command injection
- Fix path traversal vulnerability in download-file endpoint
- Add input validation for containers and audio codecs
- Initialize postproc_added variable to prevent undefined errors
- Run Docker container as non-root user (appuser:1000)
- Add curl to Docker image for healthcheck support
- Remove flask-cors (unused dependency)

Concurrency improvements:
- Implement UUID-based session directories for downloads
- Prevent race conditions between concurrent requests
- Add automatic cleanup of old sessions (>1h)
- Each download now isolated in its own directory

Code quality improvements:
- Add comprehensive logging throughout the application
- Add type hints for validation functions
- Improve error handling with specific exceptions
- Add constants for configuration (TIMEOUT, BYTES_PER_MB, etc.)
- Better documentation with docstrings

API changes:
- download endpoint now returns session_id
- download-file endpoint now requires session_id and filename
- New cleanup endpoints for session management

Frontend updates:
- Updated to use new session-based download URLs
- Remove command display for security (showed internal paths)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
8 months ago
Raynoxis 7050c6fe56 initial commit 8 months ago