is-domain-alive.ts 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import { createDomainAliveChecker } from 'domain-alive';
  2. const dnsServers = [
  3. '8.8.8.8',
  4. '8.8.4.4',
  5. '1.0.0.1',
  6. '1.1.1.1',
  7. '162.159.36.1',
  8. '162.159.46.1',
  9. 'dns.cloudflare.com', // Cloudflare DoH that uses different IPs
  10. // one.one.one.one // Cloudflare DoH that uses 1.1.1.1 and 1.0.0.1
  11. '101.101.101.101', // TWNIC
  12. '185.222.222.222', // DNS.SB
  13. '45.11.45.11', // DNS.SB
  14. 'doh.dns.sb', // DNS.SB, Different PoPs w/ GeoDNS
  15. // 'doh.sb', // DNS.SB xTom Anycast IP
  16. // 'dns.sb', // DNS.SB use same xTom Anycast IP as doh.sb
  17. 'dns10.quad9.net', // Quad9 unfiltered
  18. 'doh.sandbox.opendns.com', // OpenDNS sandbox (unfiltered)
  19. 'unfiltered.adguard-dns.com',
  20. 'v.recipes', // Proxy Cloudflare
  21. // '76.76.2.0', // ControlD unfiltered, path not /dns-query
  22. // '76.76.10.0', // ControlD unfiltered, path not /dns-query
  23. // 'dns.bebasid.com', // BebasID, path not /dns-query but /unfiltered
  24. // '193.110.81.0', // dns0.eu
  25. // '185.253.5.0', // dns0.eu
  26. // 'zero.dns0.eu',
  27. 'dns.nextdns.io',
  28. 'anycast.dns.nextdns.io',
  29. 'wikimedia-dns.org',
  30. // 'ordns.he.net',
  31. 'dns.mullvad.net',
  32. 'basic.rethinkdns.com',
  33. 'doh.qis.io',
  34. 'dns.surfsharkdns.com',
  35. 'private.canadianshield.cira.ca',
  36. 'unfiltered.joindns4.eu',
  37. 'public.dns.iij.jp',
  38. 'doh.libredns.gr'
  39. // '198.54.117.10' // NameCheap DNS, supports DoT, DoH, UDP53
  40. // 'ada.openbld.net',
  41. // 'dns.rabbitdns.org'
  42. ].map(dns => 'https://' + dns + '/dns-query');
  43. console.log({ dnsServers });
  44. export const isDomainAlive = createDomainAliveChecker({
  45. dns: {
  46. dnsServers
  47. }
  48. });