Commit Graph

6 Commits

Author SHA1 Message Date
V1ck3s
55727f206f fix: artist, album, songs image problem fixed with new ID format 2025-12-13 18:06:37 +01:00
V1ck3s
d183853cb2 feat: improve downloaded files organization 2025-12-13 18:06:37 +01:00
V1ck3s
96f6f7f8d4 fix: remote track number is now working, default bitrate for remote songs, remote quality for remote songs 2025-12-13 18:06:37 +01:00
V1ck3s
9b398c7484 feat: replace OpenSSL with native Blowfish decryption and add library rescan
- Replace OpenSSL subprocess with BouncyCastle native Blowfish CBC decryption
- Add automatic Subsonic library scan trigger after downloads (with 30s debounce)
- Improve error handling in DeezerMetadataService search methods
- Add comprehensive tests for download service, metadata service, and library service
- Increase test coverage from 13 to 32 tests
2025-12-13 18:06:37 +01:00
V1ck3s
8aa9c2d437 feat: implement DeezerDownloadService with Blowfish decryption
- Port JavaScript DeezerDownloader to C#
- Add Deezer API authentication with ARL token
- Implement track download via media.deezer.com API
- Add Blowfish CBC decryption for encrypted chunks (uses OpenSSL)
- Add rate limiting and retry with exponential backoff
- Update config for Deezer ARL tokens
- Configure Subsonic URL to 192.168.1.12:4533
2025-12-13 18:06:37 +01:00
V1ck3s
6b07ac7646 feat: add subsonic proxy architecture with external music services
- Add MusicModels (Song, Artist, Album, SearchResult, DownloadInfo)
- Add IMusicMetadataService and DeezerMetadataService for external search
- Add IDownloadService and DeezspotDownloadService for downloads
- Add LocalLibraryService for managing downloaded songs cache
- Add custom endpoints: search3, stream, getSong, getAlbum, getCoverArt
- Configure dependency injection for all services
2025-12-13 18:06:37 +01:00