Files
rengine/tools/pyproject.toml
T
Yogesh Ojha ca80dc8ba0 feat(lookalikes): registered typo, homoglyph and TLD variants of a target's domain
A Lookalike domains stage in the Analysis group generates permutations of the
target's registrable domain with dnstwist, resolves them with dnsx (a, aaaa, mx,
ns, one retry of silent names) and keeps the registered ones. A name whose only
answer is its TLD's wildcard address is dropped. Registered lookalikes are
fetched and compared with the target's page (ssdeep), and the highest ranked are
read over RDAP for registrar and creation date. Passive intensity skips the fetch.

Each lookalike carries one verdict: linked to target, similar page, MX
configured, parked, web content or registered. Linked is a redirect to the apex,
non-shared nameservers in common with it, or a project target. Placeholder MX
values and domain marketplace landers are not counted as mail or web content.

Rows live in lookalike_domains per scan; review state lives in lookalike_triage
per target and domain, so it carries across runs. The scan overview and the
target page show a lookalike line beside the associated domains, the target page
adds a cell, and a sheet lists the lookalikes with the changed characters marked,
per-verdict filters, records per row and review actions.

dnstwist and ppdeep join the tools package.
2026-09-25 09:24:23 +05:30

20 lines
492 B
TOML

[project]
name = "rengine-tools"
version = "3.0.0"
requires-python = ">=3.13"
dependencies = [
"dnstwist>=20250130",
"ppdeep>=20260221",
"whoisit>=4.0.3",
]
[build-system]
requires = ["setuptools>=81.0"]
build-backend = "setuptools.build_meta"
# tool code is imported via the `tools.*` namespace (PYTHONPATH=/app); the
# installed package carries deps only — packaging subdirs as top-level modules
# would clobber same-named libs (e.g. httpx).
[tool.setuptools]
packages = []