Vibe-coded. Sorry.
https://github.com/514-labs/dnsglobe/blob/c29802162636832e88...
You take the `other`, do a `to_string()` on it, which creates a String representation. Then you pass a reference to that String, and, in the case it doesn't contain `time out` or `timeout` or `refused`, the reference gets turned AGAIN into a String (i.e. new allocation), truncated to 48, and then returned.
There is no check whether that the character at the 48th byte is a character boundary.
Add to that the fact that this is a Rust project with the oldest commit created yesterday and it is using the 2021 edition.
Be better.
Aren’t there websites already that check global DNS servers to check TTL expiry of DNS records?
The myth of DNS “propagation” needs to die. Changed DNS entries do not “propagate”. The old cached DNS entries in DNS resolvers simply expire, in an arbitrary order. DNS resolvers are not linked geographically; there is no “propagation”.
If this tool was querying a list of widely-used public (and/or private) DNS resolvers, it might be useful. But pretending that DNS entries propagate geographically does not do anyone any favors.