Connection Assistant
Early designs for the Tor Browser connection assistant can be found here: https://gitlab.torproject.org/tpo/community/training/-/issues/19
@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)
.
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.
Thank you @bitmold
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 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?
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
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.