Use your own structured-service list, in the published bootstrap shape.
Use custom servers, pacing, and caching
Every advanced flag for reaching your own servers, going easier on a large sweep, and reusing answers inside one long-running session.
Prerequisites
reserveinstalled. See Install reserve.- Familiarity with a basic check. See Check whether a domain name is available.
Your own structured-service list
--registry-serverspathreserve example --registry-servers mine.json{ "services": [[["io"], ["https://published.example/"]]] }Your own text-service list
--text-serverspathUse your own text-service table, in the same shape as the built-in one.
reserve example --text-servers mine.json{
"servers": {
"com": {
"host": "whois.mine.example",
"available_phrase": "nothing here"
}
}
}available_phrase is optional.
Overlay vs. replace
By default a supplied list overlays the built-in one: your entries win for the extensions they name, and everything else keeps working.
--servers-replacebooleanReplaces the built-in list instead of overlaying it, which is how you reach an internal zone with no public entry at all.
reserve example --text-servers mine.json --servers-replaceControl the IANA referral
When nothing already known answers, reserve asks IANA who serves that
extension today, which repairs a built-in host that's gone stale. That lookup is
cached per extension for the run.
--no-referralbooleanTurns the extra IANA lookup off.
$ reserve some-new-zone.example --no-referral
DOMAIN STATUS SOURCE TIME NOTE
? some-new-zone.example UNKNOWN 1632ms no registry service
0 available 0 taken 1 unknown (1 checked)
unknown means no registry would answer, never that the name is freeUseful for an offline run, or when you'd rather fail fast than wait on it.
Slow a large sweep down
A sweep across hundreds of extensions can hammer a small number of servers,
since one operator often answers for hundreds of extensions from a single
endpoint. reserve paces itself per registry host, never per extension.
--cautiousbooleanHolds every endpoint to a cautious limit and acts as a ceiling: --rate,
--per-registry, and --concurrency can only lower it further, never raise
it above cautious.
--per-registryinteger, 1-1024Lookups in flight against any one registry.
--rateinteger, 1-10000Sustained requests per second against any one registry.
$ reserve example -g everything --cautious
checking 40 of 272 example.shop 1s
DOMAIN STATUS SOURCE TIME NOTE
+ example.com AVAILABLE registry 842ms
...reserve example -g everything --cautious --rate 1 --per-registry 1Reuse answers within one run
A name repeated in the input (typed twice, or given once as an argument and once
inside --names-from) is asked once automatically, with the answer copied to
every row that named it. This never crosses separate runs and never touches an
available verdict.
--cache-ttlsecondsFor repeated checks inside one long process such as the picker: a taken or
unknown answer younger than the given window is reused instead of asked again.
A reused row is marked cached in its note column.
$ reserve example --interactive --cache-ttl 300
# ... first check ...
DOMAIN STATUS SOURCE TIME NOTE
- example.com TAKEN registry 1104ms
# ... same check again inside the same picker session, within 300s ...
DOMAIN STATUS SOURCE TIME NOTE
- example.com TAKEN registry 1104ms cachedTyping --cache-ttl alone on the command line runs once and exits. It's an
instruction flag like any other, so it skips the picker the same way --tld or
--group would. Pair it with --interactive to keep the picker open, or set
the cache window from the picker's own settings screen (o) instead.
Result
A supplied server list, a slower pace, or a cache window changes how reserve
reaches the network, but never changes the shape of the result table: you still
get the same DOMAIN STATUS SOURCE TIME NOTE columns. An available answer is
never served from cache, because a name that just became free is exactly the
change this tool exists to catch.
The whole point of reserve is catching the moment a name becomes free.
Reusing an available verdict from a few minutes ago would risk reporting a
name as open when someone else already grabbed it, so only TAKEN and
UNKNOWN answers are ever eligible for --cache-ttl, and AVAILABLE always
asks fresh.