Symlinking

GoatFlubber's picture
Description: 
it'd be nice if soulseek could follow symlinks for example, if i had a heap of partitions on my computer and instead of moving all my stuff into the one folder on one partition i could have links in my shared folder that soulseek would follow to the other folders on the other partitions. symlinks should be available on Linux and Mac and some other form of linking on Windows.
0
Your rating: None
1
Average: 1 (2 votes)

Comments

That would be really handy! I cannot copy all my files into one folder…

Not following linked folders is by design; I believe it was mainly due to the desire to avoid getting caught in a loop or index the same content multiple times.

Windows actually has many options for folder links, but it doesn't give users easy ways to create most of them; it's more of a power-user kind of thing. The options are: ordinary shortcuts (.lnk files), shell link folders (a .lnk and desktop.ini hack supported in Explorer only), symlinks (supported in Windows Vista and up), and NTFS junctions (like symlinks that are always followed, so deleting it also deletes the target folder).

SoulseekQt is actually aware of shortcuts and shell links and intentionally excludes them from indexing. It's supposed to ignore symlinks as well, but I think current versions are following the links. I'm not sure it's possible to ignore junctions.

I know this is somewhat old, but it's still relevant.
I understood from an older thread that it is possible to use symlinks, so I tried it.
Seems like soulseek will index the symlink (of a dir) as a dir, but won't index its contents.

I understand the current situation is desired by the developers, and I understand the reason behind it.
But for the user it's very hindering, and it doesn't even achieve its purpose.

Currently the only way for the user to have a shared dir organized differently than their local-use organization is by bluntly copying everything they want to share.
So the user is left to either restructure their files to a shareable fashion (which isn't necessarily desired), or share individual dirs and files (which is messy for both the sharer and the seeker).

And if the user really wants to make a loop, they can still create a junction loop.
I just tried it, it works. And soulseek didn't crash or anything, just showed up a seemingly infinite branch.

Symlink crawling is a very sensible solution, and it's a shame it's dumped like that.
If the program is solid, then a malicious user won't be able to make it crash to others. The program shouldn't hinder a user when it's safe enough.