I’m always building small tools for myself that end up buried in private repos. I figured it was time to start sharing a few that others might find useful.
Just published tldx, a CLI tool I use to quickly check if a domain name is available across a bunch of TLDs and variations.
Hopefully, some of you CLI enthusiasts can find it useful!
need --suggest "..." --max 100
I'm wanting to add something like this.
Besides length, what would you think would be a good way to sort suggestions here?
just alphabetically easier to read imo
good suggestion
Currently, it just streams out whichever whois servers respond first. Sorting is a good improvement!
Agreed. I’d provide two lists both sorted. First a list of taken then a list of available.
I wonder if it'll be good to go from a line-by-line print to an actual TUI. That'd make sorting + dynamically inserting new domains make sense
Great tool! Prior me is sad this didn’t exist!
I’d be fine with a live summary status updating showing # available and # taken. Hitting ctrl+c resulting in printing the lists as above.
Also perhaps a —timeout flag, or similar as I may only want to wait 5 minutes / length of time it takes to steep tea for answers.
i'd rather be able to pipe the results to a domains.txt file to be honest.
You can also use https://github.com/noperator/raink to brainstorm TLDs that are relevant to some topic you care about. For example:
curl -s https://data.iana.org/TLD/tlds-alpha-by-domain.txt |
raink -f /dev/stdin -p 'which of these TLDs is most related to the concept of "hacking"?' |
jq -r 'map(.value)[:10]'
[
"BLACK",
"COMSEC",
"TOOLS",
"SECURITY",
"ZERO",
"EXPOSED",
"FORUM",
"SHELL",
"BOT",
"SOFTWARE"
]
Those are all in the IANA list but not all can be registered—just showing as PoC. See https://bishopfox.com/blog/raink-llms-document-ranking for more background.Are you the creator of that project?
Since identifier bike shedding is more broad than only top-level domain names, readers interested in a tool like this might also be interested in https://github.com/c-blake/thes - a command-line thesaurus utility written in Nim and organized around the Moby Thesaurus format. An example usage might be:
$ thes -n5 lofty
airy gaudy high showy brand sound
big grand lurid steep clear valid
erect grave noble tall lucid logo
fancy great proud tony regal
Observant readers might notice 3 banks of alphabetic sorting for the 3 kinds of synonyms - reciprocal/reflected (airy..tony), defined but irreciprocal (brand..valid), and wilder made-up names/phrases someone got into Moby (just logo in this example). These can be configured to show up in 3 distinct terminal colors.Besides the prefix/suffix ideas of `tldx` in TFA, "synonymity" could also be incorporated, but you might need a higher quality source of such than Moby which has kind of a "big tent" aspect to its synonym lists.
You should consider adding DNS checks prior to WHOIS. Whois is unreliable and you can be quickly blocked, doing a quick SOA DNS request can help reduce your WHOIS queries when the domain definitely exists (no SOA is not enough to confirm domain is unregistered but existing SOA is enough to confirm a domain is registered)
WHOIS is actually scheduled for sunset by IANA: https://www.icann.org/en/announcements/details/icann-update-...
This is good to know! I'll migrate this over to RDAP
So only do a whois when no SOA exists. That's clever.
Yeah! Excited to have a short circuit.
Good advice!
DNS check -> RDAP seems to be the right way to take this.
The core problem: The good old days of easy domain hunting are long gone...
My version of the tool:
#!/bin/sh
echo "Don't bother, all the good names have been taken"
I just got some good domains like mitte.ai and told.so a few months ago
I agree. That's why I love using a permutation tool like this. It has had some surprising finds so far.
Though it's still a cope for the real problem of domain squatting.
installation fails for me
λ brew tap brandonyoungdev/tldx λ brew install tldx
==> Fetching brandonyoungdev/tldx/tldx ==> Downloading https://github.com/brandonyoungdev/tldx/releases/download/ curl: (56) The requested URL returned error: 404
Error: tldx: Failed to download resource "tldx" Download failed: https://github.com/brandonyoungdev/tldx/releases/download/v1...
Same here
Could you try: https://github.com/brandonyoungdev/tldx/issues/10
What’s the difference between
https://github.com/brandonyoungdev/tldx?tab=readme-ov-file#t...
and
https://github.com/brandonyoungdev/tldx?tab=readme-ov-file#t...
Surely just a typo in the readme
Yep! There's supposed to be two examples there... Fixed now :)
Good eye.
Fixed now :)