A collection of tools to filter and manipulate domain names on standard input.
Make sure go is installed through your distro. You can install all the tools
with:
$ go install github.com/ynadji/dnstools/...@HEAD
nld changes domain names on stdin to their nth level domain (NLD). For
example, the 1LD (TLD), 2LD, 3LD, and 4LD of foo.bar.google.com are com,
google.com, bar.google.com, and foo.bar.google.com, respectively. nld
uses the public suffix list so it is aware to treat co.uk as a TLD rather than
naively splitting on ..
¡ nld --help
NAME:
nld - nld < domains.txt > nlds.txt
USAGE:
nld [global options] command [command options] [arguments...]
COMMANDS:
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--numLevels value, -n value Domain level to extract (default: 2)
--ignoreErrors Silently ignore errors (default: false)
--usePrivateSuffixes Treat known private suffixes as TLDs (default: false)
--ignoreNonIcann Ignore domains with TLDs not known by the PSL (default: false)
--exactOnly Only keep domains if exactly matches label level (default: false)
--help, -h show help (default: false)
dclean filters or maps domain names on stdin based on common validations and
transformations.
¡ dclean --help
NAME:
dclean - dclean [subcommand] < domains.txt > processed-domains.txt
USAGE:
dclean [global options] command [command options] [arguments...]
COMMANDS:
valid, v Filter to domains that are syntactically valid.
registerable, r Filter to domains that could be registered and used. Excludes TLDs.
ascii, a Map input domains to ASCII (IDN->punycode).
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--help, -h show help (default: false)