Allow for multiple configured (front, reflector) domain fronting pairs in Moat module
It's happened twice now that the domain fronting settings for Moat have stopped working:
- when
cdn.sstatic.net
moved to CloudFlare - when Fastly stopped supporting domain fronting and
foursquare.com
renewed its cert
When Moat stops working, it leaves us scrambling to find new front domains, the update process requires a new release, and it can be difficult for users to receive updates or connect if Connection Assist is unreachable. It's also difficult to choose a single front domain that will work in almost every place. Even though Connect Assist allows us offer country-specific circumvention settings, we have only a single setting for using Connect Assist itself.
Ideally, we could provide multiple (front, reflector) pairs, and iterate through them until a working pair is found. That pair can be saved for future use until it stops working and the module will re-iterate through the list until a new pair is found.