- Modernized the frontend with HTMX for server-driven UI and Alpine.js for client state.
- Refactored anime, player, and recommendation logic into modular routers.
- Updated README.md to reflect the latest project state and technologies (v2.4).
- Added Plyr.io for an improved streaming experience.
- Improved project structure with componentized templates.
- Added Playwright and Vitest configuration for frontend testing.
- Migrated monolithic main.py to feature-scoped routers in app/routers/
- Added GEMINI.md for project context and AI instructional guidelines
- Updated README.md with a comprehensive modernization plan (SQL migration, robust scraping DSL, frontend modernization)
- Improved authentication with cookie support and modular JS
- Updated test suite and documentation
This commit adds comprehensive Sonarr webhook integration and implements
critical security improvements identified in code review.
## Sonarr Integration
- Full webhook support for Grab, Download, Rename, Delete, and Test events
- HMAC SHA256 signature verification for webhook authentication
- Series mapping system (Sonarr TVDB ID → Anime Provider URL)
- 11 new API endpoints for configuration, mappings, search, and downloads
- Comprehensive test suite (31 tests, all passing)
- Complete documentation in docs/SONARR_INTEGRATION.md
## Security Enhancements
- CORS restricted to specific origins (user's IP: 192.168.1.204:3000)
- Path traversal prevention via sanitize_filename() and is_safe_filename()
- Structured logging infrastructure (replaced all print() statements)
- Environment-based configuration with .env support
- Filename sanitization prevents malicious path attacks
## New Features
- Lpayer and Sibnet downloader support
- Kitsu API integration for anime metadata
- Recommendation engine based on download history
- Latest releases endpoint for new anime
- Modular web interface with component-based templates
## Configuration
- Centralized settings via app/config.py with pydantic-settings
- Sonarr config auto-created in config/ directory
- Example configurations provided for easy setup
## Tests
- 31 Sonarr integration tests (23 functionality + 9 security)
- 100+ tests passing in core test files
- Security utilities fully tested
## Documentation
- Updated CLAUDE.md with Sonarr and testing info
- Added IMPROVEMENTS_2024-01-24.md analysis
- Added SONARR_IMPLEMENTATION.md technical summary
Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Complete restructuring of the roadmap to align with the development plan:
Version 2.2 - Completed (Favoris):
- SQLite-based favorites system
- 6 REST API endpoints with sorting/filtering
- Statistics and persistent JSON storage
Version 2.3 - Base de Données & Authentification:
- SQLite with SQLAlchemy
- JWT authentication (7-day tokens)
- User profiles and preferences
- Download and watch history
- Anonymous access for backward compatibility
Version 2.4 - APIs Externes & Recommandations:
- Jikan API integration (MyAnimeList)
- AniList API integration (GraphQL)
- Caching system with TTL
- Fallback mechanism (AniList → Jikan)
- Metadata enrichment
Version 2.5 - Webhooks & Automatisation:
- Sonarr webhook support
- HMAC SHA256 verification
- Auto-download on new episodes
- Event handling: Download, Rename, Delete
Version 2.6 - Gestion de Bibliothèque Avancée:
- Detailed statistics
- Episode marking (watched/unwatched)
- Progress tracking and resume
- Playlists and personal notes
Version 2.7 - Qualité et Formats:
- Quality selection (1080p, 720p, 480p)
- Automatic conversion
- Compression and subtitles extraction
- Multi-audio support
Version 3.0 - Fonctionnalités Sociales & Mobile:
- Social features (sharing, comments)
- Discord/Telegram integration
- Mobile apps and PWA
- Chromecast/AirPlay support
Version 4.0 - Fonctionnalités Avancées:
- Cloud sync (Google Drive/Dropbox)
- Remote streaming
- Multi-user support
- Public API and plugins
Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Add detailed documentation for:
- Anime search and download features (4 providers)
- File host and video host support
- Download management and web interface
- Complete API endpoints reference
- Usage examples and configuration guide
- Provider addition guide
- Detailed roadmap for future versions
Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Add complete support for SendVid video hosting service used by Anime-Sama
for anime series like Hell's Paradise.
Changes:
- Create SendVidDownloader class with proper headers to avoid 403 errors
- Add SendVid detection and handling in AnimeSamaDownloader
- Update download_manager to include SendVid-specific headers
- Support custom episode naming (e.g., "Hells Paradise - Episode 01.mp4")
Technical details:
- SendVid embed pages require User-Agent and Referer headers
- Direct MP4 URLs extracted from <source> tags with IP/time-based parameters
- Tested with Hell's Paradise Episode 01 (7MB, 24min, 1280x720)
Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>