{"id":17235337,"url":"https://github.com/moloch--/godns","last_synced_at":"2025-03-17T11:30:34.356Z","repository":{"id":211680087,"uuid":"729339626","full_name":"moloch--/godns","owner":"moloch--","description":"The God Name Server","archived":false,"fork":false,"pushed_at":"2025-03-13T19:47:55.000Z","size":3363,"stargazers_count":30,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-13T20:36:28.877Z","etag":null,"topics":["dns","hacking","malware-analysis","pentest","spoofing"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/moloch--.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-12-09T00:05:42.000Z","updated_at":"2025-03-13T19:47:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"46fc2f78-8759-4a17-b81a-063073e6eaf8","html_url":"https://github.com/moloch--/godns","commit_stats":null,"previous_names":["moloch--/godns"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moloch--%2Fgodns","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moloch--%2Fgodns/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moloch--%2Fgodns/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moloch--%2Fgodns/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/moloch--","download_url":"https://codeload.github.com/moloch--/godns/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243858056,"owners_count":20359271,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dns","hacking","malware-analysis","pentest","spoofing"],"created_at":"2024-10-15T05:33:04.878Z","updated_at":"2025-03-17T11:30:32.267Z","avatar_url":"https://github.com/moloch--.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GodNS\n\nA fast and configurable attacker-in-the-middle DNS proxy for penetration testers, reverse engineers, and malware analysts inspired by [DNSChef](https://github.com/iphelix/dnschef). It allows the selective replacement of specific DNS records for arbitrary domains with custom values, and can be used to direct traffic to a different host. GodNS can spoof `A`, `AAAA`, `CNAME`, `PTR`, `MX`, `NS`, `SRV`, `SOA`, and `TXT` records. It can also be used to block DNS requests for specific domains.\n\n[![Go Report Card](https://goreportcard.com/badge/github.com/moloch--/godns)](https://goreportcard.com/report/github.com/moloch--/godns)\n[![Build Check](https://github.com/moloch--/godns/actions/workflows/build-check.yml/badge.svg)](https://github.com/moloch--/godns/actions/workflows/build-check.yml)\n[![Unit Tests](https://github.com/moloch--/godns/actions/workflows/unit-tests.yml/badge.svg)](https://github.com/moloch--/godns/actions/workflows/unit-tests.yml)\n[![Release](https://github.com/moloch--/godns/actions/workflows/autorelease.yml/badge.svg)](https://github.com/moloch--/godns/actions/workflows/autorelease.yml)\n\n### Download\n\nDownload the [latest release for your platform](https://github.com/moloch--/godns/releases/latest).\n\n### Basic Usage\n\nBasic rules can be passed via the command line and use glob matching for the domain name spoof the response using the provided value. For example, to spoof `A` records for various domains:\n\n```bash\ngodns --rule-a \"microsoft.com|127.0.0.1\" --rule-a \"google.com|127.0.0.1\"\n```\n\nYou can leverage the glob matching to replace all `A` records for all domains:\n\n```bash\ngodns --rule-a \"*|127.0.0.1\"\n```\n\nReplace a domain and all subdomain `A` records:\n\n```bash\ngodns --rule-a \"example.com|127.0.0.1\" --rule-a \"*.example.com|127.0.0.1\"\n```\n\n### Advanced Usage\n\nFor more advanced usage, a config file can be provided. The config file is a JSON or YAML file that contains a list of rules. Configuration file entries support regular expression matching in addition to glob matching. See the example configuration file in this repository for more details. Note that CLI flags override values in the config file if both are provided. Additionally, certain record types such as `SOA` and `SRV` can only be spoofed using a configuration file.\n\n### Supported Platforms\n\nGodNS is a standalone statically compiled binary, and runs on nearly every operating system and CPU architecture:\n\n- Linux (386, amd64, arm64, mips, mips64, mips64le, mipsle, ppc64, ppc64le, riscv64)\n- macOS (amd64, arm64)\n- Windows (386, amd64, arm64)\n- FreeBSD (amd64, arm64)\n- OpenBSD (amd64, arm64)\n- NetBSD (amd64, arm64)\n- DragonFlyBSD (amd64)\n- Plan 9 (amd64)\n- Solaris (amd64)\n- iOS (arm64)\n- Android (arm64)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoloch--%2Fgodns","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmoloch--%2Fgodns","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoloch--%2Fgodns/lists"}