chrome_alternative_tlds

Getting alternative TLDs to work with Chrome

Chrome has this very weird behavior where - when typing a full qualified domain name that is not known to Google (such as opennic.glue or grep.geek into the address bar - it redirects the user to their primary search engine (Google by default, because it's a Google product after all) instead of navigating to the actual website you just wanted to reach because the browser keeps a hardcoded, non-reconfigurable list of all ICANN TLDs. Annoying, isn't it? This is not annoying, but also a security concern, because it sends those requests directly to Google who is known to indefinitely log all search queries.

This is known to cause issues when using alternative DNS roots with custom TLDs such as OpenNIC's .glue, .bbs, .chan, etc.

Google has decided to not fix this issue in favor of performance and usability:

There are a few possible workarounds for this issue, some are inconvenient to use while others require a few minutes of your free time:

This workaround is recommended as Chrome will learn the domains you frequently navigate to and you won't need to add a forward-slash to the domains you visit frequently

Every time you want to visit a domain with a custom TLD, try adding a forward-slash (/) to the end of the domain.

Example: You're trying to visit the domain opennic.glue, try opennic.glue/ instead.

Every time you want to visit a domain with a custom TLD, try adding a leading protocol identifier (such as http://, https://, ftp://, etc.) in front of the domain.

Example: You're trying to visit the domain opennic.glue, try http://opennic.glue instead.

Open the Chrome settings, click Manage search engines… and add a new search engine:

Add a new search engine: direct
Keyword: %s
URL with %s in place of query: http://%s/

Mark the search engine that you just added as default by clicking Make default.

This will cause Chrome to search any text you type into the address bar at http://<text>/ which breaks normal search queries via the address bar. You'll either have to stick with manually opening Google and then searching for something, or you'll have to add keyword search engine:

Add a new search engine: Google Search
Keyword: go
URL with %s in place of query: {google:baseURL}search?q=%s&{google:RLZ}{google:originalQueryForSuggestion}{google:assistedQueryStats}{google:searchFieldtrialParameter}{google:iOSSearchLanguage}{google:searchClient}{google:sourceId}{google:instantExtendedEnabledParameter}{google:contextualSearchVersion}ie={inputEncoding}

Now, every time you want to search for something, you need to type go <text> into your address bar and it will search <text> on Google.

This workaround is not recommended as it requires more keystrokes (7) than the Trailing slash workaround (1 keystroke)

Open the Chrome settings, click Manage search engines… and add a new search engine:

Every time you want to visit a domain with a custom TLD, you need to prepend direct to the domain (with a space).

Example: You're trying to visit the domain opennic.glue, try direct opennic.glue instead.

The following browsers don't have this annoying behavior hardcoded, you might want to consider switching:

Do you know of another workaround that is worth listing here? Please let us know or add it to this wiki page by editing it.

  • /wiki/data/pages/chrome_alternative_tlds.txt
  • Last modified: 8 years ago
  • by fusl