Custom domains for ic0.app [Community Consideration]

IC Novice here.

Based on the conversation it seems like the assumption is that ic0.app is intuitive - have to be honest here - I don’t even know how to pronounce ic0, and I don’t know what the “0” represents. Anyone who has never used the internet computer is going to have at least some lever of discomfort with the ic0.app.

I agree the custom sub domain names are an improvement, but seems like it would be easy to improve on the domain. Can the community petition ICANN for a new gTLD such as .ICP?

3 Likes

Good question. I will ask team

I was under the assumption that this feature was meant to support completely custom domains (like demergence.org, stoicwallet.com). Has that been changed? Are we only shooting for custom subdomains on ic0.app?

2 Likes

I have the same impression as you, Jordan… but when I wrote above I realized that I had always assumed it, I didn’t actually ever asked anyone explicitly it.

I pinged folks who know more than me to get an idea of the theoretical state of the world to make sure I’m on same page with what’s possible snd/or reasonable.

4 Likes

Are we going to get the chance to vote on this? What would it take to get a formal proposal submitted to the NNS?

1 Like

Annoying as it sounds it is very unlikely any new TLD such as .ICP will be allowed by ICANN as a one-off. It will have to be applied for (along with many other hundreds and possibly thousands of applications) in the second round of new TLDs. Applications for the first round of new TLDs (like .APP and .BIKE etc) were opened early 2012 and the first approved new TLD went live for general use in Feb 2014, 2 years after applying. Applications for the second round won’t go ahead until ICANN has given the go ahead to the process, which it hasn’t yet. According to reports the ICANN board will not approve the second round until Q2 2022 at the earliest. With improvements to the application process and assuming Dfinity gets the string (they will be competing against other applicants) it is unlikely .ICP will be available for actual use until Q3/Q4 2023. Even then this is a very optimistic timeline, ICANN is notoriously slow and bureacratic.

Custom sub-domains (subdomains*.ic0.app) could be the way to forward in the meantime. Perhaps with a process for Dfinity approved custom sub-domain holders having rights to the matching .icp when it is live (to give some continuity in naming).

Other considerations include whether .ICP would be the right string to apply for and also whether ic0.app is the right root domain for the custom sub-domains (removing any barriers to adoption should be the key).

Note: The domain ic.app is already registered (Jan 2021) and it’s unclear whether this is owned by Dfinity. Not criticising the choice of ic0 but ic would have been ideal as the root for sub-domains (avoiding the 0). Although I don’t know enough about IC’s structure how big a change this would be. Or whether ic.app (or some other IC root) could be run in parallel to ic0.app.

5 Likes

I need to be able to use any GTLD that I choose, just like I can with AWS etc.

This is a major stumbling block for me and more importantly, my clients.

3 Likes

I am trying to remember why you can’t simply set a CNAME from your domain to <canisterid>.ic0.app, and the relevant components (boundary node and certifying service worker) will query DNS to read the CNAME to get the canister id to resolve to…

Ah, there is TLS. The boundary node would have to aquire a certificate for that domain on the fly. But is that a problem these days, with letsencrypt being a thing?

And then there is the problem that top level domains can’t be CNAMEs. How about a TXT entry then?

Of course, NIH’ing some completely new system, nicely on chain with governance and everything would be fun. But to move the IC forward and make it usable with arbitrary domains, just matching what, say, GitHub Pages has been supporting for a long while, maybe be prudent? And it only affects the two boundary components.

8 Likes

I’ve used GitHub - auto-ssl/lua-resty-auto-ssl: On the fly (and free) SSL registration and renewal inside OpenResty/nginx with Let's Encrypt. on some SaaS projects that need custom domains. It is Lua and nginx…I have no idea what DFINITY uses on the nodes.

1 Like

Only re-iterating what others have already said, but would be in favour of:

  • Being able to point any domain name to a canister
  • Only implementing custom subdomains as an interim if there are significant technical barriers to the above
  • Not sidetracking things with the .icp TLD (it suggests vendor-lock, which is not a good thing IMO)
7 Likes

Regarding the first two bullet points in the Tricky Parts section:

Public announcements of the IC’s DNS developments and several notices before launch + perhaps incentives for IC ecosystem participants (stakers, etc.) would be the most legitimate foundation for how to do it, in my opinion.

Or…maybe have the community vote through the NNS on whether to do a set of customer Canister names that are auction-only – auction would be priced in ICP and be held for the first X days after the system is live.

What I think you don’t want to have happen is to turn the entire DNS into a bidding war, but for some names like the subset you seem concerned about, the auction idea is worth considering. Some component of first come first serve needs to be in there.

1 Like

Arbitrary domain names please, and if extremely difficult subdomains only as a temporary solution.

4 Likes

Hey!

This is the creator of ICME. People keep asking me about how to setup their own domains.
CNAME: if this worked it would be great.

Currently doing A NAME records to point to the ‘vanity’ IC URLs :rofl:

This is of great importance to get resolved. For SEO, and normal people being able to find and remember their favorite IC apps. Think of the use case from a blogger, EC site, etc, if no one can find their product or easily forget the URL they do not get business. Many want to transfer over to the IC, but cannot if their sites vanish from the web. SEO and domains are very important to most people.

They do not care about the tech to get it done, they care about their bottom line.

Really good suggestions above. Having CNAME work for any domain would be ideal. Heroku has some setup which seems similar to me. They have arbitrary domains names for apps. something.heroku.com. You can add a custom domain name: mysite.com. And then apply SSL that they do for you.

After that you just point a CNAME record to something.heroku.com

9 Likes

Amen. I don’t know why this seems to be a controversial idea…

2 Likes

Custom domains are going to happen, it is just a question of when. In the meantime it is possible to set up your own via simple free static hosting e.g. GitHub - jplevyak/icfront: Secure custom domains for smart contracts on the Internet Computer.. Stay tuned for a proposal.

17 Likes

Fantastic news. :pray: :pray: :pray:

2 Likes

Thanks for the Firebase hosting info, I’m going to give it a try.

One of my key reasons for going all in on the IC is to fully escape from the Google ecosystem but this is a great temporary solution.

fwiw, the solution @jplevyak posted above uses Firebase only because that is what he is more familiar with, but it is not tied to it for any particular design reason (just an implementation detail).

3 Likes

Understood. I’m not criticising, it was just a remark. I’m grateful for a working solution but still excited by the prospect of native custom domains on the IC.

3 Likes

oh i did not take it as a criticism (sorry if my wording made it sound like that), I just wanted to make clear that savvy hackers can retrofit the solution John posted to their platform of choice

4 Likes