Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fall back to clearnet entry over Tor #912

Closed
nopara73 opened this issue Nov 30, 2018 · 8 comments

Comments

Projects
None yet
3 participants
@nopara73
Copy link
Collaborator

commented Nov 30, 2018

Half of our users (including me) cannot connect to our hidden service due to this issue. This happens once or twice a month and stays like this for hours (days?).

Closed 1 streams for service [scrubbed].onion for reason resolve failed. Fetch status: No more HSDir available to query.

We could fall back to querying clearnet (still over Tor) instead of our onion when this happens, since it is quite problematic.

https://www.reddit.com/r/TOR/comments/a1vyxt/closed_1_streams_for_service_scrubbedonion_for/

https://twitter.com/nopara73/status/1068599461205618688

@nopara73 nopara73 added the debug label Nov 30, 2018

@nopara73

This comment has been minimized.

Copy link
Collaborator Author

commented Nov 30, 2018

It looks like Tor decided to label this issue as "wontfix" https://trac.torproject.org/projects/tor/ticket/27188

@nopara73

This comment has been minimized.

Copy link
Collaborator Author

commented Nov 30, 2018

This fix must go into the next release.

@kristapsk

This comment has been minimized.

Copy link

commented Nov 30, 2018

On a related note - shouldn't Wasabi display some error message when it's unable to connect to the API endpoint instead of this?
image
It even allows to enqueue coins for CJ (that could be ok, with the idea that connectivity issues will resolve in time).
image
Ok, there is "Backend: NotConnected" in a status bar, but not everybody will notice it at first.

@nopara73

This comment has been minimized.

Copy link
Collaborator Author

commented Dec 1, 2018

On a related note - shouldn't Wasabi display some error message when it's unable to connect to the API endpoint instead of this?

Agree. There are way too many "I lost coins" and "My balance is zero" and such headlines. I think instead of warning messages, the status bar should be the place. Maybe make the icons red and blinking when something is not good and add tooltips to explain why that something is not working well and what can be the consequence.

@nopara73

This comment has been minimized.

Copy link
Collaborator Author

commented Dec 1, 2018

From a privacy point of view it'd be better to connect to bridges, this way we wouldn't know if a set of users use a different entry for connection: https://www.torproject.org/docs/bridges.html.en

It may be the hardest solution and deemed to introduce a bunch of other issues, but in theory this could work the best.

@nopara73 nopara73 referenced this issue Dec 2, 2018

Closed

Crash on exit #911

@nopara73 nopara73 self-assigned this Dec 3, 2018

@nopara73 nopara73 added the priority label Dec 3, 2018

@lontivero

This comment has been minimized.

Copy link
Contributor

commented Dec 4, 2018

@nopara73 I don't find a clean/simple way to implement this (i accept suggestions) so, I think it could be easy to let the user choose to connect to clearnet or onion service in the settings window and change the config file as we do with the other settings.

So, if we do this, users can go to Settings, select ClearNet and restart Wasabi. What do you think?

@nopara73

This comment has been minimized.

Copy link
Collaborator Author

commented Dec 4, 2018

So, if we do this, users can go to Settings, select ClearNet and restart Wasabi. What do you think?

@lontivero It must be automatic, otherwise it's pretty much useless.

I don't find a clean/simple way to implement this

Yeah, I've been brainstorming on it, too, but always end up not coming up with a good way. Generally we need two things:

  1. To detect this issue. It's hard, because the error can mean a bunch of different things. I think we must watch the tor log files to identify it properly.
  2. To query. While the clearnet thingy would be sufficient, it may have some minor privacy implications: losing all the goodness we have with onions and the server would see who connects over the onion address and who doesn't. If we could do this we could connect to a bridge as it was advised above.
@lontivero

This comment has been minimized.

Copy link
Contributor

commented Dec 4, 2018

  1. To detect this issue. It's hard, because the error can mean a bunch of different things. I think we must watch the tor log files to identify it properly.

I didn't consider that. It can be a good idea, yes. Currently I am trying to figure out why it doesn't detect when the internet connection goes down, it used to work okay but now it simply keeps waiting on the stream.ReceiveAsync methods.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.