Crab-hole is a cross platform Pi-hole clone written in rust using trust-dns. It can be use as network wide Ad and spy blocker or just run it on your local pc.
For a secure and private communication carb-hole has buildin support for doh(https), doq(quic), dot(tls) and dnssec for upstreams. And does also come with private friendly default logging settings.
Crab-hole is avaibale at the following repositories:
Prebuild binarys can also been downloaded from the Github release.
Alternative you can easily build crab-hole by yourself.
* install rust
* run cargo install crab-hole --locked
.
See the rust book for more information about cargo install.
* make sure that ~/.cargo/bin
is listed at the PATH
enviroment variable
Example config file using cloudflare as dot (dns-over-tls) upstream. ```toml [blocklist] include_subdomains = true lists = [ "https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling-porn/hosts" ]
[[downstream]] protocol = "udp" listen = "localhost" port = 8080
[[downstream]] protocol = "udp" listen = "[::]" #all ipv6 and ipv4 adress port = 8053
[[upstream.nameservers]] socketaddr = "[2606:4700:4700::1111]:853" protocol = "tls" tlsdnsname = "1dot1dot1dot1.cloudflare-dns.com" trustnxresponses = false
[[upstream.nameservers]] socketaddr = "[2606:4700:4700::1001]:853" protocol = "tls" tlsdnsname = "1dot1dot1dot1.cloudflare-dns.com" trustnxresponses = false
[[upstream.nameservers]] socketaddr = "1.1.1.1:853" protocol = "tls" tlsdnsname = "1dot1dot1dot1.cloudflare-dns.com" trustnxresponses = false
[[upstream.nameservers]] socketaddr = "1.0.0.1:853" protocol = "tls" tlsdnsname = "1dot1dot1dot1.cloudflare-dns.com" trustnxresponses = false ```