Broker side channel fallback mechanism
Currently we are using domain fronting as our main side channel to connect to the broker, but amp cache is also supported. When the domain fronting is blocked (like in tpo/anti-censorship/team#115 (closed)) it will be useful to automatically fall back to amp cache.
This would be really nice to be encoded in the bridge line, but we are already near the limit on size for the bridge line.
The snowflake client could use the bridgeline provided side channel configuration and if that fails try to use the one provided by the flags passed to the binary on launch (by ClientTransportPlugin
). This has the problem that those flags will not be distributed by Circumvention Settings and needs some coordination with the different tor applications to have the same defaults everywhere. We might need to think how snowflake library users will use this fallback (or if they need to implement it themselves).