{"id":23611028,"url":"https://github.com/dmachard/dns-collector","last_synced_at":"2026-05-16T10:04:03.703Z","repository":{"id":37809344,"uuid":"382687132","full_name":"dmachard/DNS-collector","owner":"dmachard","description":"Grab your DNS logs, detect anomalies, and finally understand what's happening on your network. The missing piece between DNS servers and your data stack.","archived":false,"fork":false,"pushed_at":"2026-05-13T07:37:35.000Z","size":33822,"stargazers_count":505,"open_issues_count":44,"forks_count":80,"subscribers_count":10,"default_branch":"main","last_synced_at":"2026-05-13T09:29:34.949Z","etag":null,"topics":["collector","coredns","dns","dns-server","dnstap","fluentd","golang","grafana","logs","loki","openmetrics","pcap","powerdns","prometheus","security-tools","sniffer","statistics"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dmachard.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["dmachard"]}},"created_at":"2021-07-03T18:39:54.000Z","updated_at":"2026-05-13T07:36:54.000Z","dependencies_parsed_at":"2026-01-10T19:02:34.095Z","dependency_job_id":null,"html_url":"https://github.com/dmachard/DNS-collector","commit_stats":null,"previous_names":["dmachard/go-dns-collector","dmachard/go-dnslogger","dmachard/dns-collector"],"tags_count":123,"template":false,"template_full_name":null,"purl":"pkg:github/dmachard/DNS-collector","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmachard%2FDNS-collector","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmachard%2FDNS-collector/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmachard%2FDNS-collector/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmachard%2FDNS-collector/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dmachard","download_url":"https://codeload.github.com/dmachard/DNS-collector/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmachard%2FDNS-collector/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33098340,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T04:41:52.686Z","status":"ssl_error","status_checked_at":"2026-05-16T04:41:52.009Z","response_time":115,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["collector","coredns","dns","dns-server","dnstap","fluentd","golang","grafana","logs","loki","openmetrics","pcap","powerdns","prometheus","security-tools","sniffer","statistics"],"created_at":"2024-12-27T16:07:24.558Z","updated_at":"2026-05-16T10:04:03.692Z","avatar_url":"https://github.com/dmachard.png","language":"Go","funding_links":["https://github.com/sponsors/dmachard"],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://goreportcard.com/badge/github.com/dmachard/DNS-collector\" alt=\"Go Report\"/\u003e\n  \u003cimg src=\"https://img.shields.io/badge/go%20version-min%201.25-green\" alt=\"Go version\"/\u003e\n  \u003cimg src=\"https://img.shields.io/badge/go%20tests-547-green\" alt=\"Go tests\"/\u003e\n  \u003cimg src=\"https://img.shields.io/badge/go%20coverage-70%25-green\" alt=\"Go coverage\"/\u003e\n  \u003cimg src=\"https://img.shields.io/badge/go%20bench-32-green\" alt=\"Go bench\"/\u003e\n  \u003cimg src=\"https://img.shields.io/badge/go%20fuzz-1-green\" alt=\"Go Fuzz\"/\u003e\n  \u003cimg src=\"https://img.shields.io/badge/go%20lines-15905-green\" alt=\"Go lines\"/\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/v/release/dmachard/DNS-collector?logo=github\u0026sort=semver\" alt=\"release\"/\u003e\n  \u003cimg src=\"https://img.shields.io/docker/pulls/dmachard/go-dnscollector.svg\" alt=\"docker\"/\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/dns-collector_logo.png\" alt=\"DNS-collector\"/\u003e\n\u003c/p\u003e\n\n## What is DNS-collector?\n\n**DNS-collector** is a lightweight tool that captures DNS queries and responses from your DNS servers, processes them intelligently, and sends clean data to your monitoring or analytics systems.\n\nWhat it does:\n- **Captures DNS data** from your DNS servers (BIND, PowerDNS, Unbound, etc.) via DNStap protocol or live network capture\n- **Filters out noise** like health checks, internal queries, or spam before storage\n- **Enriches data** with GeoIP, threat intelligence, or custom metadata  \n- **Outputs clean data** to files, databases, SIEM tools, or monitoring dashboards\n\n## Why DNS-collector?\n\nThe missing piece between DNS servers and your data stack.\n\n- **DNS-native processing**: Understands DNS protocol, EDNS, query types natively\n- **Process at the edge**: Clean, filter and enrich DNS data before storage - not after\n- **Multiple input sources**: DNStap streams, live network capture, log files\n- **DNS-aware transformations**: Filtering noise upstream, user privacy\n- **Flexible outputs**: Files, syslog, databases, monitoring tools and more...\n- **Production ready**: Used in real networks, tested with major DNS servers\n- **Enhanced DNStap**: TLS encryption, compression, and more metadata capabilities\n\n## 🚀 Quick Start\n\nDownload the [latest release](https://github.com/dmachard/DNS-collector/releases) and run with default config:\nDefault setup listens on tcp/6000 for DNStap streams and outputs to stdout.\nTo get started quickly, you can use this default [`config.yml`](config.yml).\n\n```bash\n./dnscollector -config config.yml\n```\n\n![run](docs/_images/terminal.gif)\n\n## 📚 Documentation\n\n| Topic | Description |\n|-------|-------------|\n| [📝 Formats](docs/formats.md) | Supported output formats (text, JSON, PCAP, Jinja2, etc.) |\n| [🔧 Configuration](docs/configuration.md) | Complete config reference |\n| [📤 Workers](docs/workers.md) | Input sources and output destinations setup |\n| [🔄 Transformers](docs/transformers.md) | Data enrichment options |\n| [🐳 Docker](docs/docker.md) | Container deployment |\n| [🔍 Examples](docs/examples.md) | Ready-to-use configs |\n| [🔗 Integrations](docs/integrations.md) | Integration with popular tools and DNS servers |\n| [⭐ Extended DNStap](docs/extended_dnstap.md) | Extended DNSTap |\n| [📊 Telemetry](docs/telemetry.md) | REST API and Prometheus metrics |\n| [⚡ Performance](docs/performance.md) | Tuning guide |\n\n## 👥 Contributions\n\nContributions are welcome!\nCheck out:\n- [Contribution Guide](CONTRIBUTING.md)\n- [Architecture Guide](docs/architecture.md)\n- [Development Guide](docs/development.md)\n\n## 🧰 Related Projects:\n\n- [DNS-tester](https://github.com/dmachard/DNS-tester) - DNS testing toolkit\n- [CoreDNS-GSLB](https://github.com/dmachard/coredns-gslb) - Global Server Load Balancing functionality in CoreDNS\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdmachard%2Fdns-collector","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdmachard%2Fdns-collector","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdmachard%2Fdns-collector/lists"}