{"id":34636828,"url":"https://github.com/mapi68/dnscrypt-proxy-pihole","last_synced_at":"2025-12-24T17:04:39.920Z","repository":{"id":40327033,"uuid":"277065069","full_name":"mapi68/dnscrypt-proxy-pihole","owner":"mapi68","description":"Preconfigured deb package for every Raspberry Pi and Pi-hole to use only best DNSCrypt, DNS-over-HTTPS and No-Log servers","archived":false,"fork":false,"pushed_at":"2025-10-08T00:42:09.000Z","size":26572,"stargazers_count":42,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-10-08T02:28:40.923Z","etag":null,"topics":["armv7","dns","dns-over-https","dns-privacy","dns-resolver","dns-server","dnscrypt","pi-hole","proxy","raspberry-pi","raspbian-os"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/mapi68.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-07-04T07:53:09.000Z","updated_at":"2025-10-08T00:42:12.000Z","dependencies_parsed_at":"2023-11-23T05:46:52.915Z","dependency_job_id":"9afc379b-f65e-4bd8-8cdc-8e208e45c9ae","html_url":"https://github.com/mapi68/dnscrypt-proxy-pihole","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mapi68/dnscrypt-proxy-pihole","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapi68%2Fdnscrypt-proxy-pihole","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapi68%2Fdnscrypt-proxy-pihole/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapi68%2Fdnscrypt-proxy-pihole/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapi68%2Fdnscrypt-proxy-pihole/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mapi68","download_url":"https://codeload.github.com/mapi68/dnscrypt-proxy-pihole/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapi68%2Fdnscrypt-proxy-pihole/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28005408,"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","status":"online","status_checked_at":"2025-12-24T02:00:07.193Z","response_time":83,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["armv7","dns","dns-over-https","dns-privacy","dns-resolver","dns-server","dnscrypt","pi-hole","proxy","raspberry-pi","raspbian-os"],"created_at":"2025-12-24T17:02:48.181Z","updated_at":"2025-12-24T17:04:39.908Z","avatar_url":"https://github.com/mapi68.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🛡️ dnscrypt-proxy-pihole\n\n\u003cdiv align=\"center\"\u003e\n\n  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n  [![Pi-hole Compatible](https://img.shields.io/badge/Pi--hole-Compatible-green.svg)](https://pi-hole.net/)\n  [![Raspberry Pi](https://img.shields.io/badge/Raspberry%20Pi-OS%2011%7C12%7C13-red.svg)](https://www.raspberrypi.org/)\n\n  \u003cp\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Enhanced%20Security-DNSCrypt-brightgreen\" alt=\"DNSCrypt\"/\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Supports-DNS--over--HTTPS-orange\" alt=\"DoH\"/\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Privacy-No--Logs-blueviolet\" alt=\"No Logs\"/\u003e\n  \u003c/p\u003e\n\n  \u003cbr/\u003e\n  \u003ch3\u003e📢 Secure DNS solution for your Raspberry Pi \u0026 Pi-hole setup\u003c/h3\u003e\n  \u003cp\u003eEnhanced DNS encryption and privacy for Pi-hole with pre-configured settings\u003c/p\u003e\n\n\u003c/div\u003e\n\n---\n\n## 📋 Table of Contents\n\n\u003cdiv align=\"center\"\u003e\n\n  [🔍 Overview](#overview) •\n  [✨ Features](#features) •\n  [🚀 Install](#install) •\n  [📜 Scripts](#scripts) •\n  [⚙️ Configuration](#configuration) •\n  [🔐 Verification](#verification) •\n  [🗑️ Uninstall](#uninstall)\n\n\u003c/div\u003e\n\n---\n\n## 🔍 Overview \u003ca name=\"overview\"\u003e\u003c/a\u003e\n\nA preconfigured DNSCrypt-proxy package for Raspberry Pi and Pi-hole users that ensures secure, encrypted DNS queries through carefully selected DNSCrypt and DNS-over-HTTPS servers with strict no-logging policies.\n\n### 🎯 Key Benefits\n\n- Encrypts all DNS queries for enhanced privacy\n- Protects against DNS spoofing and MITM attacks\n- Seamless integration with Pi-hole\n- Pre-configured for optimal security and performance\n\n### 📦 Compatibility\n\n✅ **CURRENT VERSION:**\n- [Raspberry Pi OS 64bit arm64](https://github.com/mapi68/dnscrypt-proxy-pihole/raw/refs/heads/master/dnscrypt-proxy-pihole_latest_arm64.deb)\n- [Raspberry Pi OS 32bit armhf](https://github.com/mapi68/dnscrypt-proxy-pihole/raw/refs/heads/master/dnscrypt-proxy-pihole_latest_armhf.deb)\n- Pi-hole v6.0+\n- DNS server: `127.0.0.1#53533`\n\n⚠️ **LEGACY VERSION:**\n- [Raspberry Pi OS 11 (bullseye)](https://github.com/mapi68/dnscrypt-proxy-pihole/raw/refs/heads/master/dnscrypt-proxy-pihole_bullseye_armhf.deb)\n\n## ✨ Features \u003ca name=\"features\"\u003e\u003c/a\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003ctable\u003e\n    \u003ctr\u003e\n      \u003cth\u003eFeature\u003c/th\u003e\n      \u003cth\u003eDescription\u003c/th\u003e\n      \u003cth\u003eBenefit\u003c/th\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e🔒 DNSCrypt\u003c/td\u003e\n      \u003ctd\u003eAdvanced DNS encryption\u003c/td\u003e\n      \u003ctd\u003eProtects against DNS surveillance\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e🌐 DNS-over-HTTPS\u003c/td\u003e\n      \u003ctd\u003eModern DNS protocol support\u003c/td\u003e\n      \u003ctd\u003eAdditional security layer\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e🕵️ Privacy Focus\u003c/td\u003e\n      \u003ctd\u003eNo-log DNS servers only\u003c/td\u003e\n      \u003ctd\u003eEnsures query privacy\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e🛡️ DNSSEC\u003c/td\u003e\n      \u003ctd\u003eBuilt-in validation\u003c/td\u003e\n      \u003ctd\u003ePrevents DNS spoofing\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e⚡ Optimized\u003c/td\u003e\n      \u003ctd\u003eRaspberry Pi tuned\u003c/td\u003e\n      \u003ctd\u003eEfficient resource usage\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/table\u003e\n\u003c/div\u003e\n\n## 🚀 Install \u003ca name=\"install\"\u003e\u003c/a\u003e\n\n### Quick Install\n```bash\ncurl -sSfL https://raw.githubusercontent.com/mapi68/dnscrypt-proxy-pihole/master/dnscrypt-proxy-pihole-install | bash\n```\n\n## 📜 Scripts \u003ca name=\"scripts\"\u003e\u003c/a\u003e\n\n### 1. `install-latest-dnscrypt-proxy.bash`\n\n\u003cdiv class=\"script-box\"\u003e\n  \u003ch4\u003e🔄 Automated Installer\u003c/h4\u003e\n\n  Downloads and installs the latest dnscrypt-proxy package from official Debian repositories.\n\n  **Features:**\n  - Auto-detects system architecture\n  - Downloads latest version from Debian repos\n  - Handles all dependencies\n  - Multi-architecture support (amd64, arm64, armhf, ...)\n\n  **Usage:**\n  ```bash\n  curl -sSfL https://raw.githubusercontent.com/mapi68/dnscrypt-proxy-pihole/refs/heads/master/install-latest-dnscrypt-proxy.bash | bash\n   ```\n\u003c/div\u003e\n\n### 2. `dnscrypt-proxy-pihole.bash`\n\n\u003cdiv class=\"script-box\"\u003e\n  \u003ch4\u003e🔧 Configuration Script\u003c/h4\u003e\n\n  Sets up DNSCrypt-proxy for optimal use with Pi-hole.\n\n  **Features:**\n  - Configures secure DNS settings\n  - Sets up port 53533 for Pi-hole\n  - Enables DNSSEC validation\n  - Configures no-logging policy\n  - Optimizes caching\n\n  **Usage:**\n  ```bash\n  curl -sSfL https://raw.githubusercontent.com/mapi68/dnscrypt-proxy-pihole/refs/heads/master/dnscrypt-proxy-pihole.bash | bash\n  ```\n\u003c/div\u003e\n\n### Installation Methods\n\n\u003cdiv align=\"center\"\u003e\n  \u003ctable\u003e\n    \u003ctr\u003e\n      \u003cth\u003eMethod\u003c/th\u003e\n      \u003cth\u003eDescription\u003c/th\u003e\n      \u003cth\u003eWhen to Use\u003c/th\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003ccode\u003ednscrypt-proxy-pihole-install\u003c/code\u003e\u003c/td\u003e\n      \u003ctd\u003eInstalls pre-configured package\u003c/td\u003e\n      \u003ctd\u003eFor quick, automated setup\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003ccode\u003einstall-latest-dnscrypt-proxy.bash\u003c/code\u003e\u003c/td\u003e\n      \u003ctd\u003eInstalls vanilla dnscrypt-proxy from Debian repos\u003c/td\u003e\n      \u003ctd\u003eFor custom installations\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003ccode\u003ednscrypt-proxy-pihole.bash\u003c/code\u003e\u003c/td\u003e\n      \u003ctd\u003eConfigures dnscrypt-proxy for Pi-hole\u003c/td\u003e\n      \u003ctd\u003eAfter manual installation\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/table\u003e\n\u003c/div\u003e\n\n## ⚙️ Configuration \u003ca name=\"configuration\"\u003e\u003c/a\u003e\n\n### Pi-hole Setup\n\n1. Access Pi-hole admin interface\n2. Navigate to Settings → DNS\n3. Configure:\n   - Set Custom DNS: `127.0.0.1#53533`\n   - Disable DNSSEC (handled by DNSCrypt)\n\n\u003cdiv align=\"center\"\u003e\n  \u003ctable\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\"\u003e\n        \u003cimg src=\"images/pihole1.png\" alt=\"Pi-hole DNS Settings\" width=\"600px\"/\u003e\n        \u003cbr/\u003e\n        \u003cem\u003ePi-hole DNS Configuration\u003c/em\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/table\u003e\n\u003c/div\u003e\n\n### Important Files\n- Configuration: `/etc/dnscrypt-proxy/dnscrypt-proxy.toml`\n- Query Log: `/var/log/dnscrypt-proxy/query.log`\n- Service: `/lib/systemd/system/dnscrypt-proxy.service`\n\n## 🔐 Verification \u003ca name=\"verification\"\u003e\u003c/a\u003e\n\n### DNS Resolution:\n```bash\ntail -f /var/log/dnscrypt-proxy/query.log\n```\n\n### Service Status:\n```bash\njournalctl -f -u dnscrypt-proxy\n```\n\n### DNSSEC Validation Check (The Security Test):\n```bash\ndig +dnssec google.com @127.0.0.1 -p 53533\n```\n**Expected Status:** `status: NOERROR`  \n**Security Confirmation:** Confirms connectivity and successful resolution of a signed domain.\n\n```bash\ndig dnssec-failed.org @127.0.0.1 -p 53533\n```\n**Expected Status:** `status: SERVFAIL`  \n**Security Confirmation:** **Confirms active DNSSEC Validation.** The resolver blocks the corrupt signature, protecting the system.\n\n### Online Tests\n- [DNSLeakTest](https://www.dnsleaktest.com)\n- [Cloudflare ESNI Check](https://www.cloudflare.com/ssl/encrypted-sni)\n\n\u003cdiv align=\"center\"\u003e\n  \u003ctable\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\"\u003e\n        \u003cimg src=\"images/dnssec.png\" alt=\"DNSSEC Validation\" width=\"700px\"/\u003e\n        \u003cbr/\u003e\n        \u003cem\u003eSuccessful Cloudflare DNSSEC Validation\u003c/em\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/table\u003e\n\u003c/div\u003e\n\n## 🗑️ Uninstall \u003ca name=\"uninstall\"\u003e\u003c/a\u003e\n\nRemove completely with:\n```bash\nsudo apt --purge autoremove dnscrypt-proxy-pihole -y\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmapi68%2Fdnscrypt-proxy-pihole","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmapi68%2Fdnscrypt-proxy-pihole","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmapi68%2Fdnscrypt-proxy-pihole/lists"}