tina-hello/doh-cf-workers

How to update?

xenstar opened this issue · 3 comments

Hi Tina,

  1. I saw you had updated this repository a few times. To update it, I need to copy the contents from index.js index.js and change my DNS provider and update in the Cloudflare worker section right? Is there anything else I have to do? Because I think the last time when I deployed it, I did it manually.

  2. Will it automatically support http/3? I am using nextdns.io, and they recently supported doh3.nextdns.io as their http/3 DNS. But not sure if I have to change anything in the code to make it work.

The recent update related to index.js is only about adding JSON API, this isn't necessary for most people out there and you can skip it if you want. Yes, copying it is enough. The more recent updates are related to the wrangler update, only relevant if you use the Deploy to Workers button, simply pulling the changes would automatically push your own copy to the Workers.

The downstream (between you and your Workers instance) already uses HTTP/3 when available, you can confirm it with ameshkov/dnslookup, run dnslookup example.org h3://yourworkeraddress. I believe you don't even have to update because this is handled entirely on Cloudflare side.

As for upstream (between your Workers and the server you specify in doh variable)... 🤷‍♀️ I think fetch in Workers should already use it, but doh3.nextdns.io subdomain doesn't exist currently, and dnslookup example.org h3://doh3.dns.nextdns.io/ just time out, which indicate NextDNS currently doesn't actually serve DoH3. I'm not aware of any DoH3-only provider, if you know any, let me know if they don't work when set as the doh variable.

The nextdns DOH3 version link is https://doh3.dns.nextdns.io (I put the wrong link before).

https://doh3.dns.nextdns.io/(your next dns user id)

I set up in this way.

I am using Kaspersky, and it's blocking the http3. I will fix it.

From my NextDNS log, it seems fetch on Workers doesn't use DoH3 even with that subdomain, the request uses regular DoH. That's why I asked if you know a DoH3 provider, either fetch doesn't use DoH3 or there's a parameter needed that I'm not aware of.

Since at least DoH3 is working for the downstream, I'm not going to find a library that implements DoH3 calls to avoid any dependency. I'm assuming one day fetch in Workers would use DoH3 when available without any code change.