After exiting the wallet, tor.exe continues to run in the background.
Windows 7
It is intentional to increase privacy. This is how Tor installs itself on Linux by default, it always runs on the background. It is because there were some people got deanonymized based on simple timing analysis: "when and who was running Tor at the time of the thing happened inside this campus?" I can look it up for you if you want.
The main question should be rather if we could make Tor start with OS rather than Wasabi to run it after a restart. But that's prone to permission issues, so I guess not closing Tor when Wasabi closes is an acceptable compromise.
Btw, it barely requires any resources.
Thanks for explaining your rationale, @nopara73. I think this design decision should be more apparent at some point when using the software. I've got a few ideas if you're open to hearing them. You closed this "issue" really quickly after your response. :-)
I think this design decision should be more apparent
I agree, it's just this has been discussed over and over again and the conclusion was always: this cannot be done without confusing the user.
I've got a few ideas if you're open to hearing them.
I'd love to hear them!
On Windows, at least, it is common to 'exit' a program resulting in an icon in the systray with the program, or a background process, running in the background. This is usually presented as a default behaviour (that can be changed) in an options section. This leaves it "out of the way", but obvious (to some users, at least) that it is still running. Subsequently attempting to close the program via the icon could, for example, raise a warning dialog with the rationale you've described. But at some point you should respect the user's decision. It doesn't instil confidence to have to manually kill a program.
I think you may be underestimating the people who are, and will be, using this software, at least the initial users. I think it's more confusing for it to leave a process behind than to communicate why it might be best to leave it running.
@murrayn Do you think in the settings we could enable the user to configure how it works that would be enough?
There is also an issue with the users who are running Wasabi through their own Tor. Right now Wasabi, if find Tor running, it'll not start its own.
Maybe adding a short bullet in the README.md (under notes) on this behavior would be an easy way to tell users why the tor process keeps running. Someone who notices that the process is still open on their computer would likely read the entire readme when installing. Hopefully @nopara73 wont have to keep answering the same question after that.
Maybe a feature in the future would be to "Minimize to tray"?
Maybe a feature in the future would be to "Minimize to tray"?
What do you mean by this?
Hopefully @nopara73 wont have to keep answering the same question after that.
Most of the time it's a discussion, not me answering. I admit I closed the related opened issues too fast lately without hearing the OP out properly.
"Minimize to tray" is what I was referring to earlier. User clicks "Exit" and an icon remains in the systray. The user is aware that the program (and/or a subprogram like tor.exe) is still running, but if that user insists on closing all related processes, it can be done without too many hoops to jump through.
I see. I think that only works for OSX users, for everyone else it ruins the expected behavior and makes them angry.
Please consider informing about this behaviour, for example by showing a dialog with "don't show again" checkbox when the user closes the wasabi window.
Why is this important?
Because some users use a VPN to hide the fact that they are running a tor client from the ISP/Government/Corporate network. When they close wasabi they expect all network activity, especially tor, to be halted, if they don't know this they will leak this little detail they've been using tor.
If the user know about it they can just leave the VPN connection alive or terminate manually the tor process.
Please consider this, thanks.
I think it should be at least in the setting configurable. Dangling processes after a program got closed are confusing or raise concerns what the app is doing in the background. I understand your motivations but I fear the negative side effects are higher than the extra protection it might add for some users in some situations.
It's pretty simple. If an app is told to quit by the user, and the GUI portion exits, but the app hasn't actually quit running all of the code it started, it's malware. It's been explicitly instructed to exit by the user, but it hasn't stopped running.
Any code that is started by Wasabi, Wasabi is responsible for stopping. If it doesn't stop when the user wants it to, that's an error.
Tor is embedded in this case, and for all practical purposes is a function of Wasabi wallet, because it's bundled inside and started by it.
Please respect the computer of the user. It's not yours.
Correspondingly, I don't think this is a "feature/enhancement".
Not stopping all of the app's processes when receiving an explicit "quit" instruction from the user in the GUI is a bug, despite the fact that you mistakenly thought that this was a good idea.
It's pretty simple. If an app is told to quit by the user, and the GUI portion exits, but the app hasn't _actually_ quit running all of the code it started, it's malware. It's been explicitly instructed to exit by the user, but it hasn't stopped running.
Any code that is started by Wasabi, Wasabi is responsible for stopping. If it doesn't stop when the user wants it to, that's an error.
Tor is embedded in this case, and for all practical purposes is a function of Wasabi wallet, because it's bundled inside and started by it.
Please respect the computer of the user. It's not yours.
I agree with this and it's the responsibility of software packages that distribute with third party software to not leave them hanging after the application is stopped. tor daemon by default does not fork as a daemon without the use of --runasdaemon 1 anyways. This should be considered a bug not a feature request as leaving applications not created by the main software running in the background is unacceptable
Added option for this: https://github.com/zkSNACKs/WalletWasabi/pull/4463