orbot icon indicating copy to clipboard operation
orbot copied to clipboard

Connection Assistant

Open cstiens opened this issue 4 years ago • 8 comments

cstiens avatar Jan 04 '22 21:01 cstiens

Early designs for the Tor Browser connection assistant can be found here: https://gitlab.torproject.org/tpo/community/training/-/issues/19

cstiens avatar Jan 06 '22 16:01 cstiens

@n8fr8 Do you think we should have this logic/feature in Orbot — to make a bridge recommendation based on the user's location?

Or perhaps we try a bridge automatically (maybe using the locale if we know that to already inform the selection)

Screen Shot 2022-01-06 at 10 22 37 AM .

cstiens avatar Jan 06 '22 16:01 cstiens

I don't think the pros would outweigh the cons for having any sort of location based lookup in Orbot. It would require introducing a new permission that users would have to grant. I think it would also be shown when they go to install the app which in my experience causes a great deal of suspicion/distrust.

I remember at some point in the past Orbot would be configured differently by default if the locale was set to Farsi. Not sure if anything like this happens anymore.

bitmold avatar Jan 06 '22 16:01 bitmold

Thank you @bitmold

cstiens avatar Jan 06 '22 16:01 cstiens

If the user wants to tell us their location though, that is fine. It is just used temporarily to ask the new Tor infrastructure for what kind of bridge to use.

n8fr8 avatar Jan 06 '22 16:01 n8fr8

@n8fr8 When Tor is blocked, should we automatically reconnect the user?

  • Based on the bridge that works best in most scenarios?
  • Or based on locale?
  • Do we need permission to ask for locale or do we already know it?
  • What are our chances of choosing a bridge that works based on locale? (ie. For most moderate censorship scenarios, will we have success?)

Is there harm in auto reconnecting without explicit user permission?

Note: We can support a flow where users share their country. I wondering how much we can safely do in the background without any user input

If the user shares their country, are there cases where we wouldn’t have a bridge that would work (ie. where the user would have to request one or use a custom bridge)? And would we know that based on the country? Or only after trying a bridge or two?

cstiens avatar Feb 07 '22 20:02 cstiens

Or based on locale?

Do we need permission to ask for locale or do we already know it?

By locale do you mean the language the users device is set to, or their geographical location? I assume the latter, and if so you do need a permission. The user needs to explicitly grant it when prompted

bitmold avatar Feb 08 '22 05:02 bitmold

Design Spec for Global Quick Connect [Version 1]

When the user taps the connect button to turn on Tor/VPN, the app automatically tries to connect to Tor in the order of methods below:

  • Direct
  • If that doesn’t work, try snowflake.
  • If that doesn’t work, prompt the user to solve a captcha and give them a Tor bridge (obsf 4).
  • If that doesn’t work, suggest that the user finds a friend with a bridge (custom bridge).

We are working on incorporating the ideas around knowing which connection will work best based on the user's location. For the initial implementation, the quick connect experience is the same regardless of location.

cstiens avatar May 12 '22 06:05 cstiens