Tldx – CLI tool for fast domain name discovery

77 Brandutchmen 29 6/1/2025, 4:29:20 AM github.com ↗

Comments (29)

noperator · 13h ago
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.
Brandutchmen · 22h ago
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!

cranberryturkey · 21h ago
need --suggest "..." --max 100
Brandutchmen · 21h ago
I'm wanting to add something like this.

Besides length, what would you think would be a good way to sort suggestions here?

cranberryturkey · 21h ago
just alphabetically easier to read imo
Brandutchmen · 21h ago
good suggestion

Currently, it just streams out whichever whois servers respond first. Sorting is a good improvement!

cranberryturkey · 20h ago
Agreed. I’d provide two lists both sorted. First a list of taken then a list of available.
Brandutchmen · 19h ago
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
dayjah · 9h ago
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.

cranberryturkey · 3h ago
i'd rather be able to pipe the results to a domains.txt file to be honest.
a_dabbler · 15h ago
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)
Arubis · 11h ago
WHOIS is actually scheduled for sunset by IANA: https://www.icann.org/en/announcements/details/icann-update-...
Brandutchmen · 10h ago
This is good to know! I'll migrate this over to RDAP
indigodaddy · 12h ago
So only do a whois when no SOA exists. That's clever.
Brandutchmen · 6h ago
Yeah! Excited to have a short circuit.
Brandutchmen · 10h ago
Good advice!

DNS check -> RDAP seems to be the right way to take this.

cb321 · 16h ago
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.

dedicate · 17h ago
The core problem: The good old days of easy domain hunting are long gone...
amelius · 16h ago
My version of the tool:

    #!/bin/sh

    echo "Don't bother, all the good names have been taken"
akoculu · 14h ago
I just got some good domains like mitte.ai and told.so a few months ago
Brandutchmen · 17h 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.

akoculu · 14h ago
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...

Brandutchmen · 10h ago
ashleyhindle · 12h ago
Same here
Brandutchmen · 10h ago
croes · 18h ago
phinnaeus · 17h ago
Surely just a typo in the readme
Brandutchmen · 17h ago
Yep! There's supposed to be two examples there... Fixed now :)
Brandutchmen · 17h ago
Good eye.

Fixed now :)