{"adoption": {"forks": 70, "observed_at": "2026-08-28T04:03:10.861486+00:00", "stars": 1001}, "canonical_url": "https://ross.abutalabs.com/products/smartdns-rs", "card": {"archived": false, "artifact_type": "application", "description": "A cross platform local DNS server (Dnsmasq like) written in rust to obtain the fastest website IP for the best Internet experience, supports DoT, DoQ, DoH, DoH3.", "domain": ["networking", "privacy", "self-hosted", "developer-tools"], "enriched": true, "function": ["networking", "caching", "proxy", "security"], "health_score": 94, "homepage": null, "language": "Rust", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["mokeyish/smartdns-rs"], "name": "mokeyish/smartdns-rs", "platform": ["windows", "cross-platform", "rust", "cli"], "pushed_at": "2026-07-11T12:09:11+00:00", "repo": "mokeyish/smartdns-rs", "stars": 1001, "tags": ["dns-server", "dns-over-https", "dns-over-tls", "dns-over-quic", "dnsmasq-alternative", "ad-filtering", "smartdns", "pi-hole", "linux", "macos"], "topics": ["dns", "dns-over-https", "dns-over-tls", "dnsmasq", "doh", "dot", "smartdns", "smartdns-rs", "windows", "dns-server", "linux", "macos", "rust", "trustdns", "trust-dns", "pi-hole", "dns-over-quic", "dns-over-h3"], "urls": [], "use_cases": ["speed up dns resolution by picking the fastest ip", "run a local dns server on windows macos or linux", "bypass dns pollution with dns over https or tls", "filter ads at the dns level", "replace dnsmasq with a rust dns server", "use encrypted dns like doq and doh3 locally", "set up dns caching with prefetching on a router or desktop"], "what_it_is": "SmartDNS-rs is a cross-platform local DNS server written in Rust, inspired by the C SmartDNS project. It queries multiple upstream DNS servers concurrently (supporting UDP, TCP, DoT, DoQ, DoH, and DoH3) and returns the fastest IP to clients, helping avoid DNS pollution and improve access speed, with ad filtering and caching.", "when_to_avoid": ["you need the full mature feature set of the original C SmartDNS, which is more complete", "you want a full pi-hole-style UI with dashboards rather than a DNS server", "you need an authoritative DNS server for hosting your own domains", "you require a GUI-managed solution"], "when_to_choose": ["you need a dnsmasq-like local DNS server on Windows or macOS where the C SmartDNS only runs on Linux", "you want encrypted upstream DNS (DoT, DoQ, DoH, DoH3) with proxy support to avoid DNS pollution", "you want fastest-IP selection, caching, and prefetching for lower latency", "you need ad blocking via DNS with ipset/nftables integration"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/smartdns-rs", "repo": "mokeyish/smartdns-rs", "role": "main", "score": 89}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:10.861486+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:16:07.260778+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "186a69f8e373bc125b690cca8fa9c67723d5ef6ff0109275c4fc4389ab51fe11", "fetched_at": "2026-08-28T04:03:10.861486+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mokeyish/smartdns-rs"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:10.861486+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:16:07.260778+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "186a69f8e373bc125b690cca8fa9c67723d5ef6ff0109275c4fc4389ab51fe11", "fetched_at": "2026-08-28T04:03:10.861486+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mokeyish/smartdns-rs"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:16:07.260778+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "186a69f8e373bc125b690cca8fa9c67723d5ef6ff0109275c4fc4389ab51fe11", "fetched_at": "2026-08-28T04:03:10.861486+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mokeyish/smartdns-rs"}], "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:10.861486+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:10.861486+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:10.861486+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:16:07.260778+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "186a69f8e373bc125b690cca8fa9c67723d5ef6ff0109275c4fc4389ab51fe11", "fetched_at": "2026-08-28T04:03:10.861486+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mokeyish/smartdns-rs"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:10.861486+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:10.861486+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:16:07.260778+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "186a69f8e373bc125b690cca8fa9c67723d5ef6ff0109275c4fc4389ab51fe11", "fetched_at": "2026-08-28T04:03:10.861486+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mokeyish/smartdns-rs"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:10.861486+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:10.861486+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:10.861486+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:16:07.260778+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "186a69f8e373bc125b690cca8fa9c67723d5ef6ff0109275c4fc4389ab51fe11", "fetched_at": "2026-08-28T04:03:10.861486+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mokeyish/smartdns-rs"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:10.861486+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:10.861486+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:16:07.260778+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "186a69f8e373bc125b690cca8fa9c67723d5ef6ff0109275c4fc4389ab51fe11", "fetched_at": "2026-08-28T04:03:10.861486+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mokeyish/smartdns-rs"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:16:07.260778+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "186a69f8e373bc125b690cca8fa9c67723d5ef6ff0109275c4fc4389ab51fe11", "fetched_at": "2026-08-28T04:03:10.861486+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mokeyish/smartdns-rs"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:16:07.260778+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "186a69f8e373bc125b690cca8fa9c67723d5ef6ff0109275c4fc4389ab51fe11", "fetched_at": "2026-08-28T04:03:10.861486+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mokeyish/smartdns-rs"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:16:07.260778+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "186a69f8e373bc125b690cca8fa9c67723d5ef6ff0109275c4fc4389ab51fe11", "fetched_at": "2026-08-28T04:03:10.861486+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mokeyish/smartdns-rs"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 92, "longevity": 100, "rhythm": 78}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1403, "days_push": 53, "days_rel": 67, "gap_med": 64, "n_releases_24m": 10}, "score": 89, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}