{"adoption": {"forks": 209, "observed_at": "2026-08-28T04:06:30.289965+00:00", "stars": 2248}, "canonical_url": "https://ross.abutalabs.com/products/dns66", "card": {"archived": true, "artifact_type": "application", "description": "DNS-based Host Blocker (and lightweight ad blocker) for Android", "domain": ["privacy", "android-tools", "security", "networking"], "enriched": true, "function": ["security", "privacy", "networking", "proxy"], "health_score": 10, "homepage": "https://jak-linux.org/projects/dns66/", "language": "Java", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["julian-klode/dns66"], "name": "julian-klode/dns66", "platform": [], "pushed_at": "2026-03-02T21:45:42+00:00", "repo": "julian-klode/dns66", "stars": 2248, "tags": ["ad-blocker", "dns", "vpn", "host-blocking", "fdroid", "root-free", "android"], "topics": ["android", "blocker", "adblock", "ad-blocker", "java", "gradle", "gplv3", "fdroid"], "urls": [], "use_cases": ["block ads on android without root", "filter malware domains system-wide", "use custom dns servers on android", "reduce mobile data usage by blocking trackers", "block ads in apps and browsers via dns"], "what_it_is": "DNS66 is an open-source Android app that blocks ads and malicious hosts by intercepting DNS queries through a local VPN service. It uses configurable hosts blocklists and supports custom upstream DNS servers without requiring root.", "when_to_avoid": ["you need HTTPS-level ad filtering that DNS blocking cannot catch", "you need IPv6 DNS server support", "you want automatic blocklist refreshes and polished UX"], "when_to_choose": ["you want root-free, system-wide ad blocking on Android", "you prefer free-software apps from F-Droid", "you want DNS-level blocking with custom blocklists and upstream servers"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/dns66", "repo": "julian-klode/dns66", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.289965+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:43:57.055603+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "91ff60d96fa9e6573c3207622f6c8acfddfa3808abbd48462131d1d20c505e2c", "fetched_at": "2026-08-28T04:06:30.289965+00:00", "kind": "readme", "missing": false, "url": "https://github.com/julian-klode/dns66"}, {"content_hash": "11c280229f7e89da26da4dc0c7093c59a78ecb1d55088ac9f552d21af11adb4d", "fetched_at": "2026-08-29T10:24:08.752359+00:00", "kind": "homepage", "missing": false, "url": "https://jak-linux.org/projects/dns66/"}, {"content_hash": "3c1be160da15b6df8511f8a723cb9296fda01173209799e695620fb4c5582730", "fetched_at": "2026-08-29T10:24:08.762294+00:00", "kind": "site_page", "missing": false, "url": "https://jak-linux.org/about"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.289965+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:43:57.055603+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "91ff60d96fa9e6573c3207622f6c8acfddfa3808abbd48462131d1d20c505e2c", "fetched_at": "2026-08-28T04:06:30.289965+00:00", "kind": "readme", "missing": false, "url": "https://github.com/julian-klode/dns66"}, {"content_hash": "11c280229f7e89da26da4dc0c7093c59a78ecb1d55088ac9f552d21af11adb4d", "fetched_at": "2026-08-29T10:24:08.752359+00:00", "kind": "homepage", "missing": false, "url": "https://jak-linux.org/projects/dns66/"}, {"content_hash": "3c1be160da15b6df8511f8a723cb9296fda01173209799e695620fb4c5582730", "fetched_at": "2026-08-29T10:24:08.762294+00:00", "kind": "site_page", "missing": false, "url": "https://jak-linux.org/about"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:43:57.055603+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "91ff60d96fa9e6573c3207622f6c8acfddfa3808abbd48462131d1d20c505e2c", "fetched_at": "2026-08-28T04:06:30.289965+00:00", "kind": "readme", "missing": false, "url": "https://github.com/julian-klode/dns66"}, {"content_hash": "11c280229f7e89da26da4dc0c7093c59a78ecb1d55088ac9f552d21af11adb4d", "fetched_at": "2026-08-29T10:24:08.752359+00:00", "kind": "homepage", "missing": false, "url": "https://jak-linux.org/projects/dns66/"}, {"content_hash": "3c1be160da15b6df8511f8a723cb9296fda01173209799e695620fb4c5582730", "fetched_at": "2026-08-29T10:24:08.762294+00:00", "kind": "site_page", "missing": false, "url": "https://jak-linux.org/about"}], "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:06:30.289965+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.289965+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.289965+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:43:57.055603+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "91ff60d96fa9e6573c3207622f6c8acfddfa3808abbd48462131d1d20c505e2c", "fetched_at": "2026-08-28T04:06:30.289965+00:00", "kind": "readme", "missing": false, "url": "https://github.com/julian-klode/dns66"}, {"content_hash": "11c280229f7e89da26da4dc0c7093c59a78ecb1d55088ac9f552d21af11adb4d", "fetched_at": "2026-08-29T10:24:08.752359+00:00", "kind": "homepage", "missing": false, "url": "https://jak-linux.org/projects/dns66/"}, {"content_hash": "3c1be160da15b6df8511f8a723cb9296fda01173209799e695620fb4c5582730", "fetched_at": "2026-08-29T10:24:08.762294+00:00", "kind": "site_page", "missing": false, "url": "https://jak-linux.org/about"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.289965+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.289965+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:43:57.055603+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "91ff60d96fa9e6573c3207622f6c8acfddfa3808abbd48462131d1d20c505e2c", "fetched_at": "2026-08-28T04:06:30.289965+00:00", "kind": "readme", "missing": false, "url": "https://github.com/julian-klode/dns66"}, {"content_hash": "11c280229f7e89da26da4dc0c7093c59a78ecb1d55088ac9f552d21af11adb4d", "fetched_at": "2026-08-29T10:24:08.752359+00:00", "kind": "homepage", "missing": false, "url": "https://jak-linux.org/projects/dns66/"}, {"content_hash": "3c1be160da15b6df8511f8a723cb9296fda01173209799e695620fb4c5582730", "fetched_at": "2026-08-29T10:24:08.762294+00:00", "kind": "site_page", "missing": false, "url": "https://jak-linux.org/about"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.289965+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.289965+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.289965+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:43:57.055603+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "91ff60d96fa9e6573c3207622f6c8acfddfa3808abbd48462131d1d20c505e2c", "fetched_at": "2026-08-28T04:06:30.289965+00:00", "kind": "readme", "missing": false, "url": "https://github.com/julian-klode/dns66"}, {"content_hash": "11c280229f7e89da26da4dc0c7093c59a78ecb1d55088ac9f552d21af11adb4d", "fetched_at": "2026-08-29T10:24:08.752359+00:00", "kind": "homepage", "missing": false, "url": "https://jak-linux.org/projects/dns66/"}, {"content_hash": "3c1be160da15b6df8511f8a723cb9296fda01173209799e695620fb4c5582730", "fetched_at": "2026-08-29T10:24:08.762294+00:00", "kind": "site_page", "missing": false, "url": "https://jak-linux.org/about"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.289965+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.289965+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:43:57.055603+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "91ff60d96fa9e6573c3207622f6c8acfddfa3808abbd48462131d1d20c505e2c", "fetched_at": "2026-08-28T04:06:30.289965+00:00", "kind": "readme", "missing": false, "url": "https://github.com/julian-klode/dns66"}, {"content_hash": "11c280229f7e89da26da4dc0c7093c59a78ecb1d55088ac9f552d21af11adb4d", "fetched_at": "2026-08-29T10:24:08.752359+00:00", "kind": "homepage", "missing": false, "url": "https://jak-linux.org/projects/dns66/"}, {"content_hash": "3c1be160da15b6df8511f8a723cb9296fda01173209799e695620fb4c5582730", "fetched_at": "2026-08-29T10:24:08.762294+00:00", "kind": "site_page", "missing": false, "url": "https://jak-linux.org/about"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:43:57.055603+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "91ff60d96fa9e6573c3207622f6c8acfddfa3808abbd48462131d1d20c505e2c", "fetched_at": "2026-08-28T04:06:30.289965+00:00", "kind": "readme", "missing": false, "url": "https://github.com/julian-klode/dns66"}, {"content_hash": "11c280229f7e89da26da4dc0c7093c59a78ecb1d55088ac9f552d21af11adb4d", "fetched_at": "2026-08-29T10:24:08.752359+00:00", "kind": "homepage", "missing": false, "url": "https://jak-linux.org/projects/dns66/"}, {"content_hash": "3c1be160da15b6df8511f8a723cb9296fda01173209799e695620fb4c5582730", "fetched_at": "2026-08-29T10:24:08.762294+00:00", "kind": "site_page", "missing": false, "url": "https://jak-linux.org/about"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:43:57.055603+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "91ff60d96fa9e6573c3207622f6c8acfddfa3808abbd48462131d1d20c505e2c", "fetched_at": "2026-08-28T04:06:30.289965+00:00", "kind": "readme", "missing": false, "url": "https://github.com/julian-klode/dns66"}, {"content_hash": "11c280229f7e89da26da4dc0c7093c59a78ecb1d55088ac9f552d21af11adb4d", "fetched_at": "2026-08-29T10:24:08.752359+00:00", "kind": "homepage", "missing": false, "url": "https://jak-linux.org/projects/dns66/"}, {"content_hash": "3c1be160da15b6df8511f8a723cb9296fda01173209799e695620fb4c5582730", "fetched_at": "2026-08-29T10:24:08.762294+00:00", "kind": "site_page", "missing": false, "url": "https://jak-linux.org/about"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:43:57.055603+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "91ff60d96fa9e6573c3207622f6c8acfddfa3808abbd48462131d1d20c505e2c", "fetched_at": "2026-08-28T04:06:30.289965+00:00", "kind": "readme", "missing": false, "url": "https://github.com/julian-klode/dns66"}, {"content_hash": "11c280229f7e89da26da4dc0c7093c59a78ecb1d55088ac9f552d21af11adb4d", "fetched_at": "2026-08-29T10:24:08.752359+00:00", "kind": "homepage", "missing": false, "url": "https://jak-linux.org/projects/dns66/"}, {"content_hash": "3c1be160da15b6df8511f8a723cb9296fda01173209799e695620fb4c5582730", "fetched_at": "2026-08-29T10:24:08.762294+00:00", "kind": "site_page", "missing": false, "url": "https://jak-linux.org/about"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 70, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["archived"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3609, "days_push": 184, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}