{"adoption": {"forks": 227, "observed_at": "2026-08-28T04:03:27.379169+00:00", "stars": 1068}, "canonical_url": "https://ross.abutalabs.com/products/dnschef", "card": {"archived": false, "artifact_type": "cli-tool", "description": "DNSChef - DNS proxy for Penetration Testers and Malware Analysts", "domain": ["security", "penetration-testing", "networking", "developer-tools"], "enriched": true, "function": ["proxy", "networking", "security"], "health_score": 20, "homepage": null, "language": "Python", "license": "BSD-3-Clause", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["iphelix/dnschef"], "name": "iphelix/dnschef", "platform": ["windows", "python", "cli", "cross-platform"], "pushed_at": "2024-08-16T17:28:15+00:00", "repo": "iphelix/dnschef", "stars": 1068, "tags": ["dns-proxy", "fake-dns", "penetration-testing", "traffic-analysis", "dns-spoofing", "malware-analysis", "linux", "macos"], "topics": [], "urls": [], "use_cases": ["intercept dns queries from mobile apps that ignore http proxy settings", "redirect malicious domains to a local machine during malware analysis", "fake dns responses for a domain during a penetration test", "set up a fake dns server for network traffic analysis", "spoof dns records with wildcard domain matching", "force an application to connect to a local interception endpoint"], "what_it_is": "DNSChef is a highly configurable DNS proxy (fake DNS) tool written in Python for penetration testers and malware analysts. It can forge DNS responses based on domain lists and wildcards, proxy real responses for non-matching domains, and support IPv6 and multiple record types.", "when_to_avoid": ["you need a production dns server rather than a testing proxy", "you need high-performance dns resolution for real infrastructure", "you want a full dns server with zone management", "you need dnssec validation"], "when_to_choose": ["you need a configurable dns proxy with domain filtering and wildcards", "you are doing penetration testing or malware traffic analysis", "you need a cross-platform fake dns tool that runs on python", "you want to selectively forge responses while proxying real ones for other domains"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/dnschef", "repo": "iphelix/dnschef", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:27.379169+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:54:42.643905+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bc94c7455d17d3584b2ad0a35909bc2d3c4915b558d487ce0ac39de0524c60eb", "fetched_at": "2026-08-28T04:03:27.379169+00:00", "kind": "readme", "missing": false, "url": "https://github.com/iphelix/dnschef"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:27.379169+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:54:42.643905+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bc94c7455d17d3584b2ad0a35909bc2d3c4915b558d487ce0ac39de0524c60eb", "fetched_at": "2026-08-28T04:03:27.379169+00:00", "kind": "readme", "missing": false, "url": "https://github.com/iphelix/dnschef"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:54:42.643905+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bc94c7455d17d3584b2ad0a35909bc2d3c4915b558d487ce0ac39de0524c60eb", "fetched_at": "2026-08-28T04:03:27.379169+00:00", "kind": "readme", "missing": false, "url": "https://github.com/iphelix/dnschef"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:03:27.379169+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:27.379169+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:27.379169+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:54:42.643905+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bc94c7455d17d3584b2ad0a35909bc2d3c4915b558d487ce0ac39de0524c60eb", "fetched_at": "2026-08-28T04:03:27.379169+00:00", "kind": "readme", "missing": false, "url": "https://github.com/iphelix/dnschef"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:27.379169+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:27.379169+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:54:42.643905+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bc94c7455d17d3584b2ad0a35909bc2d3c4915b558d487ce0ac39de0524c60eb", "fetched_at": "2026-08-28T04:03:27.379169+00:00", "kind": "readme", "missing": false, "url": "https://github.com/iphelix/dnschef"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:27.379169+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:27.379169+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:27.379169+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:54:42.643905+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bc94c7455d17d3584b2ad0a35909bc2d3c4915b558d487ce0ac39de0524c60eb", "fetched_at": "2026-08-28T04:03:27.379169+00:00", "kind": "readme", "missing": false, "url": "https://github.com/iphelix/dnschef"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:27.379169+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:27.379169+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:54:42.643905+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bc94c7455d17d3584b2ad0a35909bc2d3c4915b558d487ce0ac39de0524c60eb", "fetched_at": "2026-08-28T04:03:27.379169+00:00", "kind": "readme", "missing": false, "url": "https://github.com/iphelix/dnschef"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:54:42.643905+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bc94c7455d17d3584b2ad0a35909bc2d3c4915b558d487ce0ac39de0524c60eb", "fetched_at": "2026-08-28T04:03:27.379169+00:00", "kind": "readme", "missing": false, "url": "https://github.com/iphelix/dnschef"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:54:42.643905+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bc94c7455d17d3584b2ad0a35909bc2d3c4915b558d487ce0ac39de0524c60eb", "fetched_at": "2026-08-28T04:03:27.379169+00:00", "kind": "readme", "missing": false, "url": "https://github.com/iphelix/dnschef"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:54:42.643905+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bc94c7455d17d3584b2ad0a35909bc2d3c4915b558d487ce0ac39de0524c60eb", "fetched_at": "2026-08-28T04:03:27.379169+00:00", "kind": "readme", "missing": false, "url": "https://github.com/iphelix/dnschef"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4656, "days_push": 747, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}