otinstaller · Domain and DNS
Install ctfr on Linux in one command
ctfr lists the subdomains of a domain by reading Certificate Transparency logs through crt.sh. Nothing touches the target; it only asks the public log index.
ctfr in three lines
pipx install otinstaller
ot install ctfr
ot run ctfr -- d:example.comRuns UnaPibaGeek/ctfr (GPL-3.0, ★ 2.1k, otinstaller v0.0.4, registry updated Oct 13, 2026). otinstaller installs and runs it; it does not change or verify it.
What ctfr is for
- Quick passive subdomain lists.
- Seeding BBOT or dnsgen with known names.
Typed inputs for ctfr
otinstaller translates these prefixes into ctfr's own flags. Anything else after -- is passed through unchanged, so every original flag still works.
- d:
- domain ·
ot run ctfr -- d:example.com
Run every installed tool that takes the same input at once: ot run --all d:example.com
Where the results go
Every run lands under ./results/ctfr/<target>/ as a timestamped output file plus a .meta.json sidecar: the exact command, start and end time, exit code, and the SHA-256 of the output. Group runs with --case, compare the last two with ot diff ctfr <target>, and pull indicators out with ot extract.
Before you run it
- crt.sh is sometimes slow or rate limited; retry later rather than hammering it.
Update, remove, inspect
ot info ctfr # inputs, flags, keys
ot example ctfr # sample output
ot update ctfr # move to the next tested version
ot remove ctfr # delete its virtualenvFull reference for this tool: docs for ctfr.
Pairs with
When open-source isn't enough
ctfr reads one public log. SearchIn's DNS providers return current and historical records and the subdomains the logs never saw.
FAQ
ctfr with otinstaller, answered
How do I install ctfr on Kali or Ubuntu?
Install otinstaller once with pipx install otinstaller, run ot init, then ot install ctfr. The tool lands in its own virtualenv under ~/.otinstaller/, pinned to a version that was tested on Ubuntu, so nothing touches your system Python. ot doctor flags a missing git or venv module.
Which inputs does ctfr take through otinstaller?
d: (domain). otinstaller maps each prefix to ctfr's own flag. Everything after -- that is not a typed input is passed through unchanged, so the original flags still work.
Where does otinstaller save ctfr results?
Under ./results/ctfr/<target>/ in the folder you run from, as a timestamped output file plus a .meta.json sidecar with the exact command, timing, exit code, and SHA-256. Add --case <name> to group runs, and ot diff ctfr <target> to compare the last two.
Does ctfr need an API key or a login?
No key is required for the basic run. Optional keys, where the project supports them, go in ~/.otinstaller/.env and are passed only to tools that declare them.
Can I run ctfr together with other tools?
Yes. ot run --all d:example.com runs every installed tool that accepts domain input, in parallel, including ctfr. Save the combination as a playbook to repeat it.