LayeredStudio / whoiser

🌍 Easy to use WHOIS info for domains, TLDs and IPs
MIT License
215 stars 32 forks source link

Third Level Domains, Additional TLDs, & Bug Fixes #80

Closed popeeyy closed 1 year ago

popeeyy commented 1 year ago
Q A
Bug fix? Yes
New feature? Yes
Deprecations? No
License MIT

Adds more queries to get whois servers with DNS if they don't exist in the IANA database. (third level domains and other obscure TLDs) Also adds support for looking up third level domains such as .co.uk. I did use optional chaining if that is an issue for supporting older node.js versions.

Also fixes .gg, .je, and .as whois results as they use new lines and have a weird registrar field. Closes #50 Now follows referral server for the RIPE database. Closes #72

height[bot] commented 1 year ago

Link Height tasks by mentioning a task ID in the pull request title or commit messages, or description and comments with the keyword link (e.g. "Link T-123").

💡Tip: You can also use "Close T-X" to automatically close a task when the pull request is merged.

AndreiIgna commented 1 year ago

hey @popeeyy thanks for this contribution. I will test it a bit more in the following days, then it will be merged and released. Thanks

popeeyy commented 1 year ago

There is one issue that I have not addressed and that is third level TLD WHOIS servers are not appropriately cached yet. I'm not sure what the best way to implement that would be since I don't want to accidentally query a domain as a third level domain when it's actually a normal TLD.

I'm not sure if it's even needed as DNS queries are used to get the WHOIS servers for third level domains rather than a WHOIS query.

AndreiIgna commented 1 year ago

@popeeyy this is merged and included in the v1.14 release, and I'm testing it now on https://dmns.app

After testing it on a few third level domains, I think the whoisTldAlternate should not be enabled by default for third level domains. The query with whois.iana.org returns the correct whois server for domains for 2nd or 3rd level domains:

and the whoisTldAlternate adds an extra request that returns the same WHOIS server in the end. Have you found 3rd level domains where the basic tld whois was failing?

popeeyy commented 1 year ago

@AndreiIgna IANA was not returning the correct WHOIS servers at least for third level domains ending in xx.com Perhaps it could be enabled by default for those domains? I'm not sure what other endings are affected by this.

Example: roblox.ru.com

Old: image

Updated: image

AndreiIgna commented 1 year ago

great, I'll add this example to the tests file, then see what works best as default options

popeeyy commented 1 year ago

@AndreiIgna I would make sure to add a different domain on a similar TLD as the one I listed will be thrown back into the registry soon since it was a phishing domain.

AndreiIgna commented 1 year ago

@popeeyy after 1 week of testing on https://dmns.app/tlds & domains whois, I saw that the whoisTldAlternate is too eager to take over finding the tld whois. It works well, but in some cases discarding tld info from Iana request.

I'm making some changes in https://github.com/LayeredStudio/whoiser/pull/86 to find some good defaults on when to use this function, and if you have more tlds or domains to test it against, please add them here