🦀 crab-hole

License: AGPL-3.0-or-later crab-hole on crates.io Source Code Repository Packaging status AUR package

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.

Installation:

Crab-hole is avaibale at the following repositories:

Packaging status

Prebuild binarys can also been downloaded from the Github release.

Building from source:

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

Configuration:

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 ```