{"id":24599877,"url":"https://github.com/utkarsh5026/dngo","last_synced_at":"2026-02-07T14:34:10.259Z","repository":{"id":251359579,"uuid":"837184090","full_name":"utkarsh5026/dngo","owner":"utkarsh5026","description":"A short and simple DNS server implementation written in Golang","archived":false,"fork":false,"pushed_at":"2025-01-04T22:55:55.000Z","size":26,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-30T18:29:10.281Z","etag":null,"topics":["codecrafters","codecrafters-dns-server","dns","dns-server","golang"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/utkarsh5026.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2024-08-02T11:49:42.000Z","updated_at":"2025-01-04T23:02:13.000Z","dependencies_parsed_at":"2025-04-30T18:28:39.952Z","dependency_job_id":"62569204-0dde-4fd7-be29-e2be6408804d","html_url":"https://github.com/utkarsh5026/dngo","commit_stats":null,"previous_names":["utkarsh5026/dngo"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/utkarsh5026/dngo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/utkarsh5026%2Fdngo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/utkarsh5026%2Fdngo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/utkarsh5026%2Fdngo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/utkarsh5026%2Fdngo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/utkarsh5026","download_url":"https://codeload.github.com/utkarsh5026/dngo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/utkarsh5026%2Fdngo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29197022,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-07T12:38:28.597Z","status":"ssl_error","status_checked_at":"2026-02-07T12:38:23.888Z","response_time":63,"last_error":"SSL_read: 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":["codecrafters","codecrafters-dns-server","dns","dns-server","golang"],"created_at":"2025-01-24T13:17:57.411Z","updated_at":"2026-02-07T14:34:10.245Z","avatar_url":"https://github.com/utkarsh5026.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🌐 DNS Server Implementation\n\n[![progress-banner](https://backend.codecrafters.io/progress/dns-server/2204d057-36c3-40cf-81ea-892532c3fbb6)](https://app.codecrafters.io/users/codecrafters-bot?r=2qF)\n\n## 📝 Introduction\n\nA modern DNS server implementation that provides:\n- 📦 RFC 1035-compliant DNS packet handling\n- 🔄 Efficient query resolution\n- 📋 Support for common record types (A, AAAA)\n- 🔍 Smart recursive resolution with forwarding\n- 🗜️ Optimized message compression\n\n\n## ✨ Key Features\n\n- **🔍 DNS Packet Parsing**: Robust implementation of DNS packet structures including headers, questions, and answers\n- **📋 Record Types Support**: \n  - A Records (IPv4 addresses)\n  - AAAA Records (IPv6 addresses)\n- **🔄 Recursive Resolution**: Intelligent query forwarding to upstream DNS servers\n- **⚠️ Error Handling**: Comprehensive handling of DNS error conditions\n- **🗜️ Message Compression**: Smart DNS message compression for optimal performance\n\n\n### 🔧 Core Components\n\n1. **📝 DNS Header Processing**\n   - Efficient 12-byte header handling\n   - Robust query/response identification\n   - Comprehensive flag management (AA, TC, RD, RA)\n\n2. **❓ Question Section**\n   - Intelligent domain name parsing\n   - Flexible query type handling\n   - Full class code support\n\n3. **✅ Answer Section**\n   - Clean Resource Record (RR) formatting\n   - Smart TTL management\n   - Precise data length handling\n   - Type-specific data formatting\n\n4. **🔍 Name Resolution**\n   - Efficient label compression\n   - Reliable pointer handling\n   - Optimized domain name processing\n\n\n## 🎯 Summary \u0026 Roadmap\n\nThis implementation offers a solid foundation for DNS operations with a focus on reliability and extensibility.\n\n### 🔜 Future Enhancements\n- 🔒 DNSSEC implementation\n- 🌐 Extended record type support (MX, TXT, etc.)\n- ⚡ Performance optimizations\n- 📊 Monitoring and metrics integration","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Futkarsh5026%2Fdngo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Futkarsh5026%2Fdngo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Futkarsh5026%2Fdngo/lists"}