Add Soulseek download backend to shanty-dl #18

Open
opened 2026-03-17 16:37:53 -04:00 by connor · 0 comments
Owner

Add a Soulseek-based download backend. Soulseek is a peer-to-peer network popular among music collectors, often having rare and high-quality files. Integration would likely use nicotine+ (a Soulseek client) or a direct protocol implementation.

  1. Soulseek client integration — options:

    • Use slskd (a modern Soulseek client with a REST API) as the backend — similar to how we use Transmission for torrents
    • Direct protocol implementation (complex, probably not worth it for MVP+1)
  2. Search and download — search Soulseek for a track, present results (with quality/format info), and download the best match

  3. Implement DownloadBackend trait for the Soulseek backend

Acceptance Criteria

  • Soulseek backend implements the DownloadBackend trait
  • Can search for tracks on Soulseek via slskd API
  • Can download files from Soulseek
  • Download progress is tracked
  • Quality/format info is available in search results for choosing the best source
  • Configuration for slskd connection exists

Dependencies

  • Issue #7 (download system with trait-based backends)
  • External: slskd instance must be running
Add a Soulseek-based download backend. Soulseek is a peer-to-peer network popular among music collectors, often having rare and high-quality files. Integration would likely use `nicotine+` (a Soulseek client) or a direct protocol implementation. 1. **Soulseek client integration** — options: - Use `slskd` (a modern Soulseek client with a REST API) as the backend — similar to how we use Transmission for torrents - Direct protocol implementation (complex, probably not worth it for MVP+1) 2. **Search and download** — search Soulseek for a track, present results (with quality/format info), and download the best match 3. **Implement `DownloadBackend` trait** for the Soulseek backend ### Acceptance Criteria - [ ] Soulseek backend implements the `DownloadBackend` trait - [ ] Can search for tracks on Soulseek via slskd API - [ ] Can download files from Soulseek - [ ] Download progress is tracked - [ ] Quality/format info is available in search results for choosing the best source - [ ] Configuration for slskd connection exists ### Dependencies - Issue #7 (download system with trait-based backends) - External: `slskd` instance must be running
connor added the LowPriority label 2026-03-19 12:29:04 -04:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Shanty/Main#18