I am sharing about 25 albums on soulseek but my uploads are empty which as far as I know means nobody has tried to download anything from me. I don’t have port-forwarding available to me, I use a VPN, and I am periodically offline. Is it really weird that nobody has downloaded anything from me or is that kind of normal?


How is the downloader going to ask the uploader for the file without an open port?
Edit: I read the protocol documentation and discovered that it does have a way to make the connections the other way, so only one side needs to have port forwarding enabled.
The open port is only to facilitate a direct connection between PCs to upload/download. It is not required for your client to advertise through a tracker, DHT or PeX that you are an available seeder.
Soulseek is a totally different protocol to torrents. It doesn’t use a tracker. Files are per-user. When you download a particular file, it only comes from one user. It’s like how Limewire and KaZaA used to work (since it’s from that same era)
Read this https://en.wikipedia.org/wiki/Soulseek#Central_server_and_search_engine
It’s a tracker. It works on exactly the same principles as torrents.
Here’s a screenshot of a search and download I did on a VPN that doesn’t allow port forwarding.
There’s no tracker. Your link just says that there’s a central search and chat room server. The search just points your client to users that have files with that name. It doesn’t track anything else.
The server does not know which files you download - that’s just between you and the person you’re downloading from. You can download files directly from a user (e.g. by searching for a username then browsing their files) without relying on the central server at all.
You don’t need port forwarding for downloads, only for uploads.
I’m done discussing this. You’re wrong. A simple google search will show you a bunch of posts on Reddit and elsewhere saying the same thing I am.
It’s not my responsibility to make up for your decision not to find easily accessible information.
Just because a bunch of posts are misinformed doesn’t mean that they’re right. There’s a lot of misinformation online, especially on Reddit.
Reading either the source code for a Soulseek client, or the unofficial protocol documentation, will help you have a better understanding of how it actually works.
If you look at that document, you will see that there are no server messages related to uploading or downloading files, meaning the server is not involved.
Searches are distributed amongst peers, similar to what DHT does (but it’s its own protocol). The server does know about a small number of peers, which then distribute the search to other peers connected to them, etc. in a tree hierarchy: https://nicotine-plus.org/doc/SLSKPROTOCOL.html#distributed-messages
Soulseek’s official documentation for v157 (https://www.slsknet.org/157.html) describes it as such:
File transfers are entirely peer to peer. There is no tracker or any other central server involved. The FileTransferInit command (which starts the transfer) goes directly to the other peer that has the file you’re requesting: https://nicotine-plus.org/doc/SLSKPROTOCOL.html#file-transfer-init
Getting the list of files a user has is also entirely peer to peer - no central server is involved.
Edit: I stand somewhat corrected, according to what I can find after diving into the slsk rabbit hole a bit, it basically is like torrenting, except each “request” only goes to a single client instead of the swarm, so while the below comment still applies to the speed of making a connection, the downloader won’t have gotten it from somewhere else as they’ll have been waiting for you.
It is required to initiate a connection from the downloading side though. If your port is closed the only way a connection can be established is by periodic polling by your client… And unless the content you have is really niche, by the time you reach out the downloader probably will have gotten it from someone that was available.
Nope, the port can be open on either the downloader or uploaders side. It doesn’t matter which. Only one is needed.
Are you talking about torrents or about Soulseek? Soulseek doesn’t use DHT nor PeX.