Skip to content

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


To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information