Commit Graph

10 Commits

Author SHA1 Message Date
Branson
488cd64d25 Fix syntax error 2026-01-16 19:40:45 -05:00
bransoned
bfcb78b0b4 fix: merge conflicts and upstream changes merged 2026-01-16 22:45:04 +00:00
bransoned
81979713ef Update appsettings file and make SquidWTF default service 2026-01-10 21:03:07 -05:00
V1ck3s
dbb1964f46 feat: add cache-only storage mode for streaming without library persistence 2026-01-11 00:29:25 +01:00
V1ck3s
5d03f86872 feat: add download mode option (Track/Album) for Deezer downloads
Closes #10
2026-01-06 22:53:43 +01:00
V1ck3s
3fd98ea3de feat: add explicit content filter for Deezer tracks (#22) 2026-01-06 21:59:00 +01:00
V1ck3s
88d8cbb376 fix: address Copilot PR review findings
- Register DeezerDownloadService and DeezerMetadataService as Singleton
  to properly share state across requests (rate limiting, download tracking)
- Fix race condition in LocalLibraryService.LoadMappingsAsync with
  double-check locking pattern
- Dispose HttpRequestMessage objects to prevent memory leaks (4 occurrences)
- Handle fire-and-forget TriggerLibraryScanAsync with proper error logging
- Replace Console.WriteLine with ILogger in SubsonicController
- Fix while loop in DownloadSongAsync to refresh activeDownload state
- Use modern C# range operator syntax for Substring calls
- Clean up appsettings.json template (remove private IP, clear ARL token)
- Add documentation comment for Blowfish decryption key
- Add downloads directory to gitignore
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
V1ck3s
843ef87da8 initial commit 2025-09-20 16:42:46 +02:00