Skip to content

soulfind-dev/soulfind

Repository files navigation

Soulfind

Soulseek server implementation in D

Note that Soulfind exists for local testing, and should not be used in production.

Building

Dependencies

Ensure the following dependencies are available:

  • ldc, dmd or gdc for compiler
  • dub for build system
  • sqlite3 for database

You can download a compiler for Windows and macOS on dlang.org. The dub build system is included. On other systems, use a package manager to install the dependencies.

On Windows and macOS, the sqlite3 library shipped with the system is used. No separate sqlite3 installation is necessary.

On other systems, you must additionally install gcc for linking.

Compiling a Binary

To compile Soulfind, run:

dub build

To compile Soulfind with debug logging enabled:

dub build --debug=db --debug=msg --debug=user

To compile a static binary on supported systems (mainly musl-based Linux distributions), run:

dub build --config=static

Once compiled, binaries are available in the bin/ folder.

Using a Different Compiler

LDC is used as the default D compiler. Set the DC environment variable to use a different compiler:

DC=dmd dub build
DC=gdc dub build

Configuration

Soulfind stores all its configuration in a SQLite database. On startup, Soulfind will look for the file soulfind.db by default, unless provided a different path with the --database flag.

The default config values are:

  • port: 2242
  • max_users: 65535
  • motd: Soulfind <version>

Server owners can configure the server and add admins with the soulsetup utility.

Admins can interact with the server by sending commands in a private chat with the server user (help to see all commands).

Important

If an owner adds a username to the admin list before the user has registered a password, it is no longer possible to register through the Soulseek client. Only an owner can register the user in the Registered users section in the soulsetup utility.

Missing Features

  • Rate limits
  • Private rooms
  • Distributed search network

Authors

Soulfind is free and open source software, released under the terms of the GNU General Public License v3.0 or later.

People who have contributed to Soulfind:

  • seeschloss (creator)
  • mathiascode
  • slook

© 2005–2025 Soulfind Contributors

About

Soulseek server implementation in D

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages