# slskd/slskd

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/slskd-slskd).**

2,784 stars · 122 forks · C# · agpl-3.0

## Links

- GitHub: https://github.com/slskd/slskd
- Homepage: https://slskd.org
- awesome-repositories: https://awesome-repositories.com/repository/slskd-slskd.md

## Topics

`hacktoberfest` `soulseek` `soulseek-network` `soulseek-web`

## Description

slskd is a headless network daemon and peer-to-peer file-sharing server for the Soulseek network. It functions as a network client and API gateway, allowing users to search for and share files via a web interface or a REST API.

The project distinguishes itself through a focus on automation and remote management, featuring event-driven triggers that can execute system scripts or send webhooks. It supports advanced network routing via SOCKS5 proxies and provides a flexible deployment model that includes a dockerized client with volume mapping and environment-based configuration.

The system covers a broad range of capabilities including download queue management, shared directory configuration with privacy aliases, and identity verification using JWTs and API keys. It includes traffic management tools for global transfer throttling, user group priorities, and automated blocklist integration. Observability is handled through diagnostic logging and Prometheus-compatible metrics export.

Interactive API exploration is available via provided OpenAPI documentation.

## Tags

### Networking & Communication

- [Peer-to-Peer File Sharing](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/peer-to-peer-networking/peer-to-peer-file-sharing.md) — Acts as a distributed server that manages shared directories and facilitates peer-to-peer file transfers.
- [Network File Search](https://awesome-repositories.com/f/networking-communication/network-file-search.md) — Provides the core utility to search the Soulseek network for files matching defined terms. ([source](https://cdn.jsdelivr.net/gh/slskd/slskd@master/README.md))
- [Network Clients](https://awesome-repositories.com/f/networking-communication/network-clients.md) — Implements a network client for searching and sharing files on the Soulseek network.
- [Share Enumeration](https://awesome-repositories.com/f/networking-communication/network-file-sharing/share-enumeration.md) — Enables browsing and listing of files shared by other users across the Soulseek network. ([source](https://cdn.jsdelivr.net/gh/slskd/slskd@master/README.md))
- [P2P Shared Directory Configuration](https://awesome-repositories.com/f/networking-communication/p2p-shared-directory-configuration.md) — Allows configuration of shared directories with support for absolute paths and exclusion filters. ([source](https://github.com/slskd/slskd/blob/master/docs/config.md))
- [Peer-to-Peer Messaging](https://awesome-repositories.com/f/networking-communication/peer-to-peer-messaging.md) — Implements both private one-on-one messaging and participation in public network chat rooms. ([source](https://cdn.jsdelivr.net/gh/slskd/slskd@master/README.md))
- [Shared File Filtering](https://awesome-repositories.com/f/networking-communication/file-sharing/shared-file-filtering.md) — Uses regular expressions to exclude specific files from being visible to the network. ([source](https://github.com/slskd/slskd/blob/master/docs/config.md))
- [SOCKS5](https://awesome-repositories.com/f/networking-communication/network-infrastructure-routing/network-proxying-tools/proxy-clients/socks5.md) — Provides a SOCKS5 client to route outgoing network traffic through a proxy server for identity masking.
- [Network Listeners](https://awesome-repositories.com/f/networking-communication/network-listeners.md) — Configures the local IP address and port to listen for incoming peer connections. ([source](https://github.com/slskd/slskd/blob/master/docs/config.md))
- [Transfer Concurrency Controls](https://awesome-repositories.com/f/networking-communication/network-transfer-managers/transfer-concurrency-controls.md) — Caps the total number of concurrent transfers and their global speeds. ([source](https://github.com/slskd/slskd/blob/master/docs/config.md))
- [P2P Network Participation](https://awesome-repositories.com/f/networking-communication/p2p-network-participation.md) — Allows limiting child connections to balance bandwidth and connectivity during network participation. ([source](https://github.com/slskd/slskd/blob/master/docs/config.md))
- [Peer Connection Management](https://awesome-repositories.com/f/networking-communication/peer-connection-management.md) — Manages the coordination of parent and child nodes to control search request delivery. ([source](https://github.com/slskd/slskd/blob/master/docs/config.md))
- [Per-User Transfer Quotas](https://awesome-repositories.com/f/networking-communication/per-user-transfer-quotas.md) — Restricts the number of files or megabytes a single user can enqueue periodically. ([source](https://github.com/slskd/slskd/blob/master/docs/config.md))

### Security & Cryptography

- [Credential Authentication](https://awesome-repositories.com/f/security-cryptography/authentication-clients/credential-authentication.md) — Authenticates network access to the Soulseek network using registered usernames and passwords. ([source](https://github.com/slskd/slskd/blob/master/docs/config.md))
- [API Key Authentication](https://awesome-repositories.com/f/security-cryptography/identity-access-management/authentication-strategies/machine-and-protocol-identity/api-machine-authentication/api-key-authentication.md) — Verifies programmatic API access using long-lived authentication keys. ([source](https://github.com/slskd/slskd/blob/master/docs/config.md))
- [JSON Web Tokens](https://awesome-repositories.com/f/security-cryptography/json-web-tokens.md) — Generates JSON Web Tokens to maintain stateless user sessions for the API and web UI. ([source](https://github.com/slskd/slskd/blob/master/docs/config.md))
- [JWT Authentication](https://awesome-repositories.com/f/security-cryptography/jwt-authentication.md) — Uses JSON Web Tokens to secure the web interface and API following user authentication.
- [Token-based Authorization](https://awesome-repositories.com/f/security-cryptography/token-based-authorization.md) — Authorizes REST API requests using unique keys passed in HTTP headers with IP restrictions.
- [Automated Blocklist Subscriptions](https://awesome-repositories.com/f/security-cryptography/blocklist-aggregators/peer-blocklist-managers/automated-blocklist-subscriptions.md) — Automatically fetches and merges external P2P, DAT, or CIDR formatted blocklists. ([source](https://github.com/slskd/slskd/blob/master/docs/config.md))
- [IP Blacklisting](https://awesome-repositories.com/f/security-cryptography/ip-blacklisting.md) — Blocks specific users or IP ranges from searching, browsing, or messaging. ([source](https://github.com/slskd/slskd/blob/master/docs/config.md))

### Artificial Intelligence & ML

- [Central Coordinator Connections](https://awesome-repositories.com/f/artificial-intelligence-ml/external-server-connectivity/server-connection-managers/custom-server-connections/central-coordinator-connections.md) — Provides a utility to specify the address and port for connecting to the Soulseek central coordinator. ([source](https://github.com/slskd/slskd/blob/master/docs/config.md))

### DevOps & Infrastructure

- [Headless Network Daemons](https://awesome-repositories.com/f/devops-infrastructure/background-daemon-services/headless-network-daemons.md) — Functions as a headless background service for network participation, controlled via API or web UI.
- [P2P Network API Gateways](https://awesome-repositories.com/f/devops-infrastructure/rest-api-endpoint-management/application-rest-api-gateways/p2p-network-api-gateways.md) — Provides a REST API gateway for remotely managing network connections, downloads, and user profiles.
- [Remote Configuration File Operations](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/file-based-configuration/remote-configuration-file-operations.md) — Provides API endpoints to remotely retrieve and update the application's YAML configuration file. ([source](https://github.com/slskd/slskd/blob/master/docs/config.md))
- [Multi-Source Configuration](https://awesome-repositories.com/f/devops-infrastructure/configuration-source-management/multi-source-configuration.md) — Supports loading configuration from environment variables, YAML files, and command-line arguments with override logic. ([source](https://github.com/slskd/slskd/blob/master/docs/config.md))
- [Container Deployment](https://awesome-repositories.com/f/devops-infrastructure/container-deployment.md) — Ships with containerization support including configurable ports, volume mounts, and user permissions. ([source](https://github.com/slskd/slskd/blob/master/docs/docker.md))
- [Containerized P2P Clients](https://awesome-repositories.com/f/devops-infrastructure/containerized-p2p-clients.md) — Ships as a dockerized implementation with built-in support for volume mapping and environment configuration.
- [Headless Execution Modes](https://awesome-repositories.com/f/devops-infrastructure/headless-execution-modes.md) — Offers a headless execution mode that disables the web interface for API-only control. ([source](https://github.com/slskd/slskd/blob/master/docs/config.md))
- [Traffic Priority Groups](https://awesome-repositories.com/f/devops-infrastructure/job-scheduling/group-execution-control/sequential-and-parallel-job-groups/group-based-concurrency-limits/traffic-priority-groups.md) — Assigns users to groups with specific upload priorities and speed limits. ([source](https://github.com/slskd/slskd/blob/master/docs/config.md))

### Software Engineering & Architecture

- [Download Priority Queues](https://awesome-repositories.com/f/software-engineering-architecture/priority-based-request-queues/download-priority-queues.md) — Implements a download queue to track transfers and control retries, cancellations, and completions. ([source](https://cdn.jsdelivr.net/gh/slskd/slskd@master/README.md))
- [YAML Configuration Files](https://awesome-repositories.com/f/software-engineering-architecture/application-lifecycle-management/configuration-management/configuration-formats-and-schemas/yaml-configuration-files.md) — Manages application settings via YAML files with support for environment variable overrides.
- [Concurrent Task Limiters](https://awesome-repositories.com/f/software-engineering-architecture/concurrent-task-runners/concurrent-task-limiters.md) — Limits concurrent search tasks to prevent system overload and manage resource consumption. ([source](https://github.com/slskd/slskd/blob/master/docs/config.md))
- [Download Retry Policies](https://awesome-repositories.com/f/software-engineering-architecture/task-retry-policies/download-retry-policies.md) — Implements automated download resumption with configurable delays and exponential backoff for failed transfers. ([source](https://github.com/slskd/slskd/blob/master/docs/config.md))

### User Interface & Experience

- [Web Form Authentication](https://awesome-repositories.com/f/user-interface-experience/form-and-input-management/web-form-authentication.md) — Implements web-based login forms and session tokens to control access to the web interface. ([source](https://github.com/slskd/slskd/blob/master/docs/config.md))

### Data & Databases

- [Scan Caching Systems](https://awesome-repositories.com/f/data-databases/scan-caching-systems.md) — Caches file system scan results in memory or on disk to accelerate shared content discovery. ([source](https://github.com/slskd/slskd/blob/master/docs/config.md))

### Development Tools & Productivity

- [Privacy-Focused](https://awesome-repositories.com/f/development-tools-productivity/path-aliasing/privacy-focused.md) — Uses directory aliases to share files while concealing the actual absolute paths on the host system. ([source](https://github.com/slskd/slskd/blob/master/docs/config.md))
- [Event-Driven Scripting](https://awesome-repositories.com/f/development-tools-productivity/shell-script-execution-engines/custom-run-scripts/scheduled-script-executions/event-driven-scripting.md) — Triggers custom system scripts by passing internal event data as environment variables. ([source](https://github.com/slskd/slskd/blob/master/docs/config.md))
- [Webhook Notification Systems](https://awesome-repositories.com/f/development-tools-productivity/webhook-notification-systems.md) — Dispatches outbound JSON POST requests to external endpoints to notify them of specific system events. ([source](https://github.com/slskd/slskd/blob/master/docs/config.md))

### Operating Systems & Systems Programming

- [Container Volume Bindings](https://awesome-repositories.com/f/operating-systems-systems-programming/system-administration-maintenance/file-system-management/file-system-integration/host-to-guest-file-sharing/container-volume-bindings.md) — Supports mapping host directories to the container to register them as shared folders. ([source](https://github.com/slskd/slskd/blob/master/docs/docker.md))

### System Administration & Monitoring

- [External Process Triggers](https://awesome-repositories.com/f/system-administration-monitoring/external-process-triggers.md) — Triggers external system processes or webhooks in response to monitored internal events. ([source](https://github.com/slskd/slskd/blob/master/docs/config.md))
- [External Script Execution](https://awesome-repositories.com/f/system-administration-monitoring/external-script-execution.md) — Executes external system scripts or webhooks in response to internal events by passing state data.
- [User Group Management](https://awesome-repositories.com/f/system-administration-monitoring/user-group-management.md) — Organizes network users into groups to apply specific priority and queue strategies. ([source](https://github.com/slskd/slskd/blob/master/docs/config.md))

### Part of an Awesome List

- [Library Management and Transfer](https://awesome-repositories.com/f/awesome-lists/media/library-management-and-transfer.md) — Modern client-server application for the Soulseek network.
