Skip to content
BTF Kabir edited this page Jul 17, 2026 · 3 revisions

FAQ

Antivirus quarantines the Windows exe

Unsigned Rust CLIs sometimes get heuristic hits (e.g. Defender “generic”). Release builds are plain GitHub Actions artifacts (no UPX). Options:

  1. Build yourself: cargo build -p dns-cli --release
  2. Allowlist after verifying release checksums (SHA256SUMS.txt)

Where do I put the binary?

Next to testdata/ and config/ from the source zip (or a full clone). Running from an empty folder will fail doctor / profiles.

What is the demo profile?

Sample profile pointing at *.example.com. Edit config/profiles.json (or copy from profiles.example.json) for real domains / keys.

Do I need slipnet?

No. Scan + generate work without it. Slipnet is optional e2e; fetch is opt-in. See docs/SLIPNET.md.

Low RAM / multi-million IP list?

Use --preset low (or --stream):

  • Reads the file line-by-line (does not load the whole list into RAM)
  • Keeps only a bounded number of tasks in flight
  • Writes each result to disk as it arrives

Peak RAM is roughly O(workers + unique working IPs), not O(file size). That does not make a 10M scan “instant” on one core — it is still network-bound and needs free disk for dns_all_results.txt.

dns-cli scan huge.txt --preset low --quiet
dns-cli scan huge.txt --preset low --limit 50000 --quiet

Details: docs/MEMORY.md.

Avoid --preset normal (no stream) and FFI scanner_run_from_file on huge lists — those still collect results in memory.

Docker?

See docs/DOCKER.md.

Can I embed the scanner?

Yes — scanner_core shared library (Windows DLL / Linux .so / macOS .dylib / Android .so). Best for small inputs; huge lists should use the CLI stream path. See docs/FFI_PYTHON.md.

Commercial use?

Not allowed under the project LICENSE. Personal / educational / research only.

Clone this wiki locally