freedot is a lightweight, fast, and scriptable CLI tool to check domain availability across hundreds of TLDs — with filters, progress bar, export formats, and optional exports. It supports Linux and macOS with a smooth UX and Bash/Zsh completions.
- ✅ Check availability of a base domain (e.g.,
mybrand) across many TLDs - ✅ Filter by:
- Category (
--category) - TLD length (
--tld-length) using=,>=, or<=
- Category (
- ✅ Live TLD list pulled directly from GitHub
- ✅ Export results to
json,csv,yaml, ortoml - ✅ Real-time progress bar with color
- ✅ Bash + Zsh autocompletion support
- ✅ Man page included
- ✅ Works on Linux & macOS
- ✅ Install dependencies with
--install-deps
git clone https://github.com/samsonzone/freedot-cli.git
cd freedot-cli
make installmake uninstallfreedot <domain_base> [options]freedot mybrand
freedot mybrand -x "3"
freedot mybrand -x ">=3" -c general
freedot mybrand -o json
freedot --list
freedot --help
freedot --versionfreedot pulls the latest ext.txt from GitHub every time it's run:
📄 https://github.com/samsonzone/freedot-cli/blob/main/ref/ext.txt
Format:
tld,usage
com,general
net,general
io,tech
ai,tech
Use --list to view available usage categories.
source completions/freedot.bashOr install permanently:
sudo cp completions/freedot.bash /etc/bash_completion.d/sudo cp completions/_freedot /usr/local/share/zsh/site-functions/
autoload -Uz compinit && compinitman freedotIf not installed:
gzip -c man/freedot.1 > /usr/share/man/man1/freedot.1.gzwhoisdig(fromdnsutils/bind-utils)timeout(fromcoreutilsorgtimeouton macOS)
To install required tools:
freedot --install-deps- 🛠 Fixed TLD length filtering logic for Bash compatibility on Ubuntu/macOS
- 🌐 Automatically pulls
ext.txtfrom GitHub instead of relying on local file - 📦 Minor cleanup and help/UX updates
MIT
Made with ☕ and domain dreams by @samsonzone
To get the latest version of freedot, just run:
freedot self-updateThis will:
- Download the latest script from GitHub
- Update
/usr/local/bin/freedot, completions, and man page - Confirm the version automatically