Description: Soulseek® is a unique ad-free, spyware free, and just plain free file sharing application.
One of the things that makes Soulseek® unique is our community and community-related features. Based on peer-to-peer technology, virtual rooms allow you to meet people with the same interests, share information, and chat freely using real-time messages in public or private.
Soulseek®, with its built-in people matching system, is a great way to make new friends and expand your mind!
There was an old version of the launcher in the forums here, but it is no longer hosted and needs to be updated to work correctly. I have a copy of the old launcher if anybody would like to take a look at it. It leaves a folder behind in %ProgramData%. It was also hastily thrown together and could probably have been much better.
I dont think Soulseek is GNU\GPL. It is freeware.
You're right, I just forgot to change that line when I copied from another post. I fixed it in the original post
+1 for soulseek ... is excellent!!
I downloaded your launcher (is this the same one that was posted in the original topic?) but I can't extract the setup file as per your instructions in help.html. I tried both the server & client versions with 7-Zip and Universal Extractor. Am I missing something?
Are you sure you tried to extract it with 7-zip? I just downloaded it from here and it extracted just fine with 7-zip. There are only 3 files inside the setup.
It should work just fine.
slsk.exe won't run here without being installed though...
"SoulSeek's installation is corrupt or missing. Please reinstall SoulSeek."
What am I doing wrong?
So you extracted the files from the installer, but the portable launcher won't run?
I didn't try the launcher, I just ran it standalone. Do I need the launcher?
All the paths in the registry are in hex so updating *drives* will be difficult/impossible. Maybe I could read from reg, convert to string, write to ini, replace in file, read from ini, convert to hex, write to reg, I don't know (you get the idea!). Even if I could do that, I will run into the next hurdle.
I can convert each *path* to hex and put it straight into the registry no problem but Soulseek won't recognise it without further formatting which I can't figure out.
Soulseek makes it possible to disable writing the configuration to the registry and use (binary) config files instead. Unfortunately, these are stored in "AllUsers\AppData" so admin would be required as I can't see any way to redirect them. I can replace all drive letters in these files so it's all PAF compatible but no path replacement is possible (similar problem to EAC, the files look good but Soulseek won't recognise them and they are corrupt on exit. No crashes though!)
Even using the config files, the recent file list is still in the registry but I can wipe it before launch if the drive letter has changed (better to lose it than for it to point to files that aren't there anymore?). I haven't tested this though as I am yet to be able to download a file! I presume this is because I'm still a Soulseek 'n00b' (!) rather than any fault of the app Always stuck in the queue...
I can add an admin check that closes the app rather than messing up the configuration by trying (and failing) to move things but launching anyway. I'm not sure how much of a problem requiring admin is here, especially with the firewall, which needs admin? OK, so you could log in as admin, add Soulseek to the fiewall, log out, log in as user etc. but this would break with a drive letter change (and would be major hassle!). I could add an "auto-add-to/remove-from-firewall" INI option (off by default) which handles the drive letter and cleans up. But again, requires admin.
It also leaves three files in "user\Local Settings\Temporary Internet Files", one of which contains your login data! I'm not sure if it's possible for a launcher to clean these up so it will leave traces. Unless I can get the 'Web' tab disabled by default but I'm guessing that's all part of the login process so I doubt it. Perhaps this is the real drawback? I'll have another look at it though.
Shall I continue? It would take about five minutes to get what I've got up to scratch so if you want it as it is, with these minor (?) issues, no problem.
Sorry for the long post, perhaps I'm making it more difficult than it should be, but I just wanted to be thorough. Perhaps you have any more helpful info?
Thanks for the long post, you've actually described things really well, hopefully I can help a bit. I'm going to post in the SoulSeek forums to see if I can get some answers.
Since it looks like it's going to require some admin privileges, I think a check and run as admin would be the best way to go. I don't think the auto-add the firewall exception would hurt anything, but if you do that you should probably remove it from the exception list on exit.
As for the settings, I would default to cfg files since it seems like they're a bit easier to work with. I'll post over at the SoulSeek forums to see if I can figure out why/what the formatting issue is. As far as I can tell there are only 2 files that would need drive letter updates: save.cfg and shared.cfg. I'll see if I can figure out how they're formatted.
As for the paths: I've tested this on Win7 and all the cfg files are left in %ProgramData%\Soulseek. I'm not sure if this is the same as %AppData%, but it's probably worth noting. I found the 3 files you were talking about in Temporary Internet Files. I don't know if these can be deleted/backed up either. I was looking through the html file and I was able to find the username, but not the password so I don't know how that's stored. I think all that is for is the web tab that you mentioned which should be safe to disable as far as I can tell if it's even possible. It looks like the login info is saved in the login.cfg file.
I'll post in the SoulSeek forums to see if I can get some answers to some of these issues, but I wouldn't hold my breath.
As for your issues with being stuck in a queue, when you search for files you can see how many other people are trying to download stuff from that user in the "In queue" column. These files usually show up in grey and you're going to have to wait to download them. Files that show up in black don't have anybody in the queue and you should be able to download from them right away.
EDIT: I just started a forum topic over at the Soulseek forums, feel free to add any information you thing would be helpful.
I was also able to figure out that the cfg files are also written in hex so there could be some issues there. I'm waiting to hear back about the specific format.
EDIT 2: I also found Nicotine Plus which looks like an open source client that uses the Soulseek network. I've never used it so I have no idea if it would be any better or if it even works. I'll try it out later tonight and let you know how it goes.
I have it check the user account and then quit (gracefully) if not admin. Can I 'run as admin' on a user account? I admit I haven't really checked this out generally.
That's what happens. I've used it on a number of things (REAPER, ezQuake) and it works great, give it a try.
Yeah, it's just the two. There's no problem replacing the drive letters in the files. it's just that they have to be moved to an 'admin only' area.
If you run Soulseek, go into the registry, right-click and look (modify) you'll see that there are other characters in there besides the paths. I'm a bit lost looking at them, to be honest. Suffice to say that just a direct import into the registry (as hex) doesn't produce the same result (and doesn't work) but we *are* able to do it in the files.
Yeah, same thing, no worries. $APPDATA in NSIS.
If I run Soulseek and disable it, on the next run it's back so I don't think it's possible. There's the NSIS variable $INTERNET_CACHE but I haven't fully investigated yet. I'll let you know if I can get at them.
I found the Soulseek Guide for the Dummies over on the site which I thought was good, so I knew about the colours/queue. I'm guessing Elvis really has left the building...
EDIT: OK, saw your topic. I'll keep an eye on it.
EDIT2: Just re-read your topic over at the Soulseek forums. We have to update either the registry *or* the files. If we use the HKCU registry then the files aren't created (so don't need to be moved to AllUsers\AppData) so I guess that is preferable. What the admin requirements are beyond this, I'm not so sure yet (except for the firewall, which may decide it). Just wanted to clarify.
Corrected my Elvis quote LOL
I don't really know how this would work, but I think the launcher would have to backup both the registry and the cfg files. I think the registry is preferable too, but I think you're going to have somebody somewhere who checks the box to not use the registry. So ultimately I think that both the registry and the cfg files will need to be accounted for unless the option to disable the registry is somehow inaccessible.
You're right, of course.
Let's see if anybody responds to your request. If it turns out that the registry really can't be updated then you could just have a note similar to "don't enable file associations/whatever" as in others apps. Like "don't enable writing the config to the registry!!"
Or maybe the launcher could just completely wipe the registry file and then re-write only the bits we need on every run? Ruthless
Just thinking out loud there.
I worked on this again and, in the absence of any more info, I did the following -
To be honest, if this was for my own personal use, I would be OK with all that but let me know what you think.
This sounds great, I think you got it pretty much where it needs to be.
I really appreciate you taking the time to do this. I'm totally fine using it as is if you feel like posting it or simply sending the link if you don't want to post it.
but to answer your questions -
No problem doing this, I hope it's all OK! I'll post it soon & you can give it a try.
Thanks for answering my questions. Everything sounds great. I'm looking forward to testing it out and seeing your 'fudged' cleanup.
sadly the prog doesn't save any configuration changes within soulseeks options nor does it save username/password, friends list and files started to download (in case of albums for example) where only a part was loaded yet.