Don't actually pull this - I'm just submitting the PR to highlight the Flashlight changes

This integrates the new flashlight, without MITM and with the ability to tunnel XMPP and other such protocol over CloudFlare.
That's no different from the way you have it though. You can just skip the onNewS3Config method and not store masqueradeHost state outside of lookupSafe, and you'd accomplish the same thing in a bit simpler way that doesn't get into worrying about the event.