Add multiple builtin bridge options for snowflake
💡 Proposal
User Story
We rely heavily on circumvention settings to provide a snowflake bridge line that will work for a user depending on their location. At the moment, there is high diversity in snowflake bridge lines, particulary for rendezvous method:
- SQS and domain fronting in CN
- AMP cache in TM
- domain fronting in IR
- SQS and domain fronting in RU
This is great, but while there is a single point of failure for reaching the circumvention settings (see #42436), users might have difficulty getting settings they need. Having multiple snowflake builtins by rendezvous option would provide some easy fallbacks in the case that circumvention settings are unreachable and add redundancy.
Security and Privacy Implications
Security
N/A
Privacy
Snowflake rendezvous all happens as part of bootstrapping the Tor connection and so does not go over Tor. Users that select SQS rendezvous will be sending traffic to Amazon. AMP cache sends traffic to Google, and domain fronting currently to CDN77.
Accessibility Implications
Having too many options, each of which are fairly technical in their differences might be confusing to users. We could, for example, consider naming them as follows:
- snowflake with domain fronting as
snowflake-cdn77
- snowflake with sqs as
snowflake-amazon
- snowflake with ampcache as
snowflake-google
This has the added benefit of making visible to the user where their connections are going. But, if users are familiar with the rendezvous terminology it might also be confusing.
Other Trade-Offs
Prior Art
We did have something like this for meek back when we had multiple meek bridges.
Does this feature exist in other browsers?
-
Yes -
Firefox -
Firefox ESR -
Other (please specify)
-
-
No
Does this feature exist as an extension? If yes, which one provides this functionality?
No