Closed yrliou closed 3 years ago
Verified FIXED
using nightly
with the testplan from https://github.com/brave/brave-core/pull/7702 on
Brave | 1.23.19 Chromium: 89.0.4389.72 (Official Build) nightly (x86_64) |
---|---|
Revision | 3f345f156bfd157bd1bea06310e55f3fb2490359-refs/branch-heads/4389@{#1393} |
OS | macOS Version 11.2.2 (Build 20D80) |
Open Brave and visit brave.crypto
, it should show error page saying This site can’t be reached
.
Go to settings, search for unstoppable, there should be no unstoppable domains resolve method setting.
brave://flags
and search for unstoppable and enable the feature flag.brave.crypto
should now should the interstitial for users to opt-in unstoppable domains support.Method to resolve unstoppable domains
in brave://settings
should now be Disabled
.brave.crypto
again.Proceed using Cloudflare server
.Method to resolve unstoppable domains
in brave://settings
should now be Public DNS over HTTP server
.brad.crypto
, page should be loaded normally without any interstitial pages. Additionally, I filed https://github.com/brave/brave-browser/issues/14478 for the cropped Public DNS over HTTPS serv
text in the select widget.
Verification passed on
Brave | 1.22.65 Chromium: 89.0.4389.90 (Official Build) (64-bit)
-- | --
Revision | 62eb262cdaae9ef819aadd778193781455ec7a49-refs/branch-heads/4389@{#1534}
OS | Windows 10 OS Version 2004 (Build 19041.867)
brave.crypto
and ensured opt-in interstitial page is opened (as per the issue description https://github.com/brave/brave-browser/issues/14488#issue-822797722)Method to resolve Unstoppable Domains
settings set to Ask by default
http://brave.crypto/
in normal tab is showing up This site can’t be reached
page when Method to resolve Unstoppable Domains
is set to Disable
in brave://settings
6,7 and 8. Set the Method to resolve Unstoppable Domains
is set to Ask
again in brave://settings and ensured reload the page http://brave.crypto/
opens up an interstitial page and click on proceed opens up the http://brave.crypto/ page
Method to resolve unstoppable domains
in brave://settings is set to Public DNS over HTTP server
brave.crypto
page loads normally without any interstitial pages.Verification passed on
Brave | 1.22.66 Chromium: 89.0.4389.90 (Official Build) (64-bit) |
---|---|
Revision | 62eb262cdaae9ef819aadd778193781455ec7a49-refs/branch-heads/4389@{#1534} |
OS | Ubuntu 18.04 LTS |
brave.crypto
and ensured opt-in interstitial page is opened (as per the issue description https://github.com/brave/brave-browser/issues/14488#issue-822797722)Method to resolve Unstoppable Domains
settings set to Ask by default
http://brave.crypto/
in normal tab is showing up This site can’t be reached
page when Method to resolve Unstoppable Domains
is set to Disable
in brave://settings
6,7 and 8. Set the Method to resolve Unstoppable Domains
is set to Ask
again in brave://settings and ensured reload the page http://brave.crypto/
opens up an interstitial page and click on proceed opens up the http://brave.crypto/ page
Method to resolve unstoppable domains
in brave://settings is set to Public DNS over HTTP server
brave.crypto
page loads normally without any interstitial pages.
Support the name resolution of unstoppable domains via https://resolver.unstoppable.io/dns-query endpoint when the feature is enabled in brave://flags and user set the resolve method to public DoH server.
Settings
Under brave://settings/extensions, a new dropdown box setting for unstoppable domain resolution will be added, and the default value will be “Ask”.
Onboarding
(Above screenshot is an initial version of the interstitial page, it will be updated to match design spec.) When the unstoppable domain resolution setting is “Ask”, an interstitial page will be shown when users try to visit .crypto domains for users to opt in. If users choose to proceed, the setting will be changed to “Public DNS over HTTPS server”, and the page will be reloaded and resolved using the DNS gateway, future navigations to .crypto domains will be resolved using the same DNS gateway. If users click “Don’t ask again”, the setting will be set to disabled.
DNS gateway
When a user input an address with a known TLD from unstoppable domains (ex: .crypto domains) in the browser URL bar, the domain name will be resolved through a DNS gateway which supports the resolution of unstoppable domains. Brave will use https://resolver.unstoppable.io/dns-query endpoint provided by Unstoppable Domains, which is a proxy to https://eth.resolver.cloudflare-eth.com/dns-query, as the DNS gateway. It will be responsible for making calls to Ethereum smart contracts using the Ethereum JSON RPC to resolve the address. This DNS gateway will be added into the browser's DNS over HTTPS providers, but will only be used for resolving known TLD from Unstoppable Domains. Because this method requires DNS over HTTPS support, we will not resolve Unstoppable Domains if DoH is disabled either by user or by policy regardless of the value of user setting for Unstoppable Domain resolution. Using DNS gateway is a simpler method which could be used by default for all our users without introducing overhead of making calls to Ethereum, and is using the protocols (HTTP, DNS) which are well supported by the browser. However, it does come with a downside that the decentralization is decreased due to the introduction of the hosted DNS gateway, so in the future we will also provide the option to resolve via ethereum directly to users.
Recognizing TLDs from unstoppable domains
In order to make URLs with known TLDs from unstoppable domains to be categorized as URL when users input them in the location bar, we will treat these TLDs as known TLDs from the public suffix list. With this, the first entry in the dropdown list will be URL as shown below.