Pi-hole VS Technitium DNS Server

Compare Pi-hole vs Technitium DNS Server and see what are their differences.

Our great sponsors
  • Scout APM - Less time debugging, more time building
  • SonarLint - Deliver Cleaner and Safer Code - Right in Your IDE of Choice!
  • SaaSHub - Software Alternatives and Reviews
Pi-hole Technitium DNS Server
1307 39
36,285 1,026
2.0% 9.0%
9.3 9.7
6 days ago 4 days ago
Shell C#
GNU General Public License v3.0 or later GNU General Public License v3.0 only
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Pi-hole

Posts with mentions or reviews of Pi-hole. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-05-23.

Technitium DNS Server

Posts with mentions or reviews of Technitium DNS Server. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-05-06.
  • dhcp server not responding.
    1 project | reddit.com/r/technitium | 22 May 2022
    There are not much docs available unfortunately but the docker-compose.yml mentions it.
  • Technitium DNS Server v8.1 Released!
    1 project | reddit.com/r/technitium | 8 May 2022
    See what's new in this release: https://github.com/TechnitiumSoftware/DnsServer/blob/master/CHANGELOG.md
  • It ain’t much, but one has to start somewhere. My first build, 50€ for the machine and 2tb of drives laying around. I’m ready to embark in this journey
    3 projects | reddit.com/r/homelab | 6 May 2022
    PiHole as a beginner project for DNS stuff. More secure alternative would be Technitium tho with less of a user base that could help if you fuck something up.
  • Hosts not persistent in my Zone file
    1 project | reddit.com/r/technitium | 5 May 2022
    Hi there! I'm not sure what's going on with my zone file for my private LAN but I just found out that 5-10 previously defined hosts have vanished from the zone file. I was about to write an issue about it on [github](https://github.com/TechnitiumSoftware/DnsServer/issues) but I realize that I'm actually not sure what's going on. I might even have done something wrong myself to cause it.
  • IT Pro Tuesday #198 - DNS Server, M365 eBook, PDF OCR Tool, Linux Podcast & More
    1 project | reddit.com/r/ITProTuesday | 26 Apr 2022
    Technitium DNS is an open-source, self-hosted DNS server focused on privacy and security. Offers ad and malware blocking at the DNS level for the entire network, with little to no configuration and a user-friendly, browser-based GUI. tupcakes says, "It’s amazing. Full featured dns server with adblocking."
  • Best dns for privacy
    1 project | reddit.com/r/privacy | 25 Apr 2022
    If you wanna selfhost, try Technitium. You can route dns over tor then if you really want to. Else dnscrypt/stubby are a good option with unbound in there.
  • selfhosted dns registry root server
    1 project | reddit.com/r/selfhosted | 15 Apr 2022
    Technitium DNS is configured to use only root servers by default. I have run the Docker container version.
  • Other than installing a Pihole or something, is there any way to hit my domain name from within my network?
    1 project | reddit.com/r/selfhosted | 5 Apr 2022
    I've seen Technitium recommended here but I haven't tried it out myself.
  • DNS with the best analytics?
    1 project | reddit.com/r/dns | 30 Mar 2022
    this one looks interestinghttps://technitium.com/dns/ otherwise I've used cloudflare DNS hosting which is free and gives proxy capability to hide web apps
  • Some odd exceptions in the log files, anything to worry about?
    1 project | reddit.com/r/technitium | 26 Mar 2022
    [2022-03-26 17:42:19 Local] DNS Server (v8.0.0.0) was started successfully. [2022-03-26 17:42:19 Local] DNS Server read block list file (435211 domains) from: https://blocklistproject.github.io/Lists/abuse.txt [2022-03-26 17:42:19 Local] DNS Server is reading block list from: https://blocklistproject.github.io/Lists/drugs.txt [2022-03-26 17:42:19 Local] DNS Server read block list file (26028 domains) from: https://blocklistproject.github.io/Lists/drugs.txt [2022-03-26 17:42:19 Local] DNS Server is reading block list from: https://blocklistproject.github.io/Lists/malware.txt [2022-03-26 17:42:20 Local] DNS Server read block list file (435314 domains) from: https://blocklistproject.github.io/Lists/malware.txt [2022-03-26 17:42:20 Local] DNS Server is reading block list from: https://blocklistproject.github.io/Lists/phishing.txt [2022-03-26 17:42:20 Local] DNS Server read block list file (190244 domains) from: https://blocklistproject.github.io/Lists/phishing.txt [2022-03-26 17:42:20 Local] DNS Server is reading block list from: https://blocklistproject.github.io/Lists/ransomware.txt [2022-03-26 17:42:20 Local] DNS Server read block list file (1904 domains) from: https://blocklistproject.github.io/Lists/ransomware.txt [2022-03-26 17:42:20 Local] DNS Server is reading block list from: https://blocklistproject.github.io/Lists/redirect.txt [2022-03-26 17:42:20 Local] DNS Server read block list file (108675 domains) from: https://blocklistproject.github.io/Lists/redirect.txt [2022-03-26 17:42:20 Local] DNS Server is reading block list from: https://blocklistproject.github.io/Lists/scam.txt [2022-03-26 17:42:20 Local] DNS Server read block list file (1265 domains) from: https://blocklistproject.github.io/Lists/scam.txt [2022-03-26 17:42:20 Local] DNS Server block list zone was loaded successfully. [2022-03-26 17:42:24 Local] DNS Server has started zone refresh for secondary zone: colibri.local [2022-03-26 17:42:24 Local] DNS Server has started zone refresh for secondary zone: lan.local [2022-03-26 17:42:24 Local] DNS Server has started zone refresh for secondary zone: 128.168.192.in-addr.arpa [2022-03-26 17:42:24 Local] DNS Server has started zone refresh for secondary zone: iot.local [2022-03-26 17:42:24 Local] DNS Server has started zone refresh for secondary zone: cameras.local [2022-03-26 17:42:24 Local] DNS Server has started zone refresh for secondary zone: 64.168.192.in-addr.arpa [2022-03-26 17:42:24 Local] DNS Server has started zone refresh for secondary zone: 2.168.192.in-addr.arpa [2022-03-26 17:42:24 Local] DNS Server successfully checked for 'lan.local' secondary zone update from: dns-dhcp.lan.local (192.168.2.2) [2022-03-26 17:42:24 Local] DNS Server successfully checked for '128.168.192.in-addr.arpa' secondary zone update from: 192.168.128.2 [2022-03-26 17:42:24 Local] DNS Server successfully checked for '64.168.192.in-addr.arpa' secondary zone update from: dns-dhcp.iot.local (192.168.64.2) [2022-03-26 17:42:24 Local] DNS Server successfully checked for 'colibri.local' secondary zone update from: 172.16.254.2 [2022-03-26 17:42:24 Local] DNS Server successfully checked for 'cameras.local' secondary zone update from: dns-dhcp.cameras.local (192.168.128.2) [2022-03-26 17:42:24 Local] DNS Server successfully checked for '2.168.192.in-addr.arpa' secondary zone update from: 192.168.2.2 [2022-03-26 17:42:24 Local] DNS Server successfully checked for 'iot.local' secondary zone update from: 192.168.64.2 [2022-03-26 17:42:24 Local] Saved zone file for domain: iot.local [2022-03-26 17:42:24 Local] Saved zone file for domain: lan.local [2022-03-26 17:42:24 Local] Saved zone file for domain: cameras.local [2022-03-26 17:42:24 Local] Saved zone file for domain: 64.168.192.in-addr.arpa [2022-03-26 17:42:24 Local] Saved zone file for domain: colibri.local [2022-03-26 17:42:24 Local] Saved zone file for domain: 128.168.192.in-addr.arpa [2022-03-26 17:42:24 Local] Saved zone file for domain: 2.168.192.in-addr.arpa [2022-03-26 17:43:44 Local] [127.0.0.1:46010] DnsServerCore.DnsWebServiceException: Invalid username or password for user: admin at DnsServerCore.DnsWebService.LoginAsync(HttpListenerRequest request, JsonTextWriter jsonWriter) in Z:\Technitium\Projects\DnsServer\DnsServerCore\DnsWebService.cs:line 1057 at DnsServerCore.DnsWebService.ProcessRequestAsync(HttpListenerRequest request, HttpListenerResponse response) in Z:\Technitium\Projects\DnsServer\DnsServerCore\DnsWebService.cs:line 378 [2022-03-26 17:43:46 Local] [127.0.0.1:46020] [admin] User logged in. [2022-03-26 17:43:46 Local] DNS Server failed to resolve the request with QNAME: 249.254.16.172.in-addr.arpa; QTYPE: PTR; QCLASS: IN; Forwarders: cloudflare-dns.com:853 (1.1.1.1), cloudflare-dns.com:853 (1.0.0.1), dns.google:853 (8.8.8.8), dns.google:853 (8.8.4.4); TechnitiumLibrary.Net.Dns.DnsClientResponseDnssecValidationException: DNSSEC validation failed as the response was unable to prove non-existence (NX Domain) for owner name: 249.254.16.172.in-addr.arpa at TechnitiumLibrary.Net.Dns.DnsClient.DnssecValidateResponseAsync(DnsDatagram response, IReadOnlyList`1 lastDSRecords, DnsClient dnsClient, IDnsCache cache, UInt16 udpPayloadSize, CancellationToken cancellationToken) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 2108 at TechnitiumLibrary.Net.Dns.DnsClient.InternalDnssecResolveAsync(DnsQuestionRecord question, CancellationToken cancellationToken) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 3534 at TechnitiumLibrary.Net.Dns.DnsClient.<>c__DisplayClass64_0.d.MoveNext() in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 3591 --- End of stack trace from previous location --- at TechnitiumLibrary.Net.Dns.DnsClient.ResolveQueryAsync(DnsQuestionRecord question, Func`2 resolveAsync) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 3074 at TechnitiumLibrary.Net.Dns.DnsClient.InternalCachedResolveQueryAsync(DnsQuestionRecord question, CancellationToken cancellationToken) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 3578 at DnsServerCore.Dns.DnsServer.RecursiveResolveAsync(DnsQuestionRecord question, IReadOnlyList`1 conditionalForwarders, Boolean dnssecValidation, Boolean cachePrefetchOperation, Boolean cacheRefreshOperation, TaskCompletionSource`1 taskCompletionSource) in Z:\Technitium\Projects\DnsServer\DnsServerCore\Dns\DnsServer.cs:line 2221 [2022-03-26 17:43:48 Local] DNS Server failed to resolve the request with QNAME: 124.254.16.172.in-addr.arpa; QTYPE: PTR; QCLASS: IN; Forwarders: cloudflare-dns.com:853 (1.1.1.1), cloudflare-dns.com:853 (1.0.0.1), dns.google:853 (8.8.8.8), dns.google:853 (8.8.4.4); TechnitiumLibrary.Net.Dns.DnsClientResponseDnssecValidationException: DNSSEC validation failed as the response was unable to prove non-existence (NX Domain) for owner name: 124.254.16.172.in-addr.arpa at TechnitiumLibrary.Net.Dns.DnsClient.DnssecValidateResponseAsync(DnsDatagram response, IReadOnlyList`1 lastDSRecords, DnsClient dnsClient, IDnsCache cache, UInt16 udpPayloadSize, CancellationToken cancellationToken) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 2108 at TechnitiumLibrary.Net.Dns.DnsClient.InternalDnssecResolveAsync(DnsQuestionRecord question, CancellationToken cancellationToken) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 3534 at TechnitiumLibrary.Net.Dns.DnsClient.<>c__DisplayClass64_0.d.MoveNext() in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 3591 --- End of stack trace from previous location --- at TechnitiumLibrary.Net.Dns.DnsClient.ResolveQueryAsync(DnsQuestionRecord question, Func`2 resolveAsync) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 3074 at TechnitiumLibrary.Net.Dns.DnsClient.InternalCachedResolveQueryAsync(DnsQuestionRecord question, CancellationToken cancellationToken) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 3578 at DnsServerCore.Dns.DnsServer.RecursiveResolveAsync(DnsQuestionRecord question, IReadOnlyList`1 conditionalForwarders, Boolean dnssecValidation, Boolean cachePrefetchOperation, Boolean cacheRefreshOperation, TaskCompletionSource`1 taskCompletionSource) in Z:\Technitium\Projects\DnsServer\DnsServerCore\Dns\DnsServer.cs:line 2221 [2022-03-26 17:43:48 Local] DNS Server failed to resolve the request with QNAME: 111.254.16.172.in-addr.arpa; QTYPE: PTR; QCLASS: IN; Forwarders: cloudflare-dns.com:853 (1.1.1.1), cloudflare-dns.com:853 (1.0.0.1), dns.google:853 (8.8.8.8), dns.google:853 (8.8.4.4); TechnitiumLibrary.Net.Dns.DnsClientResponseDnssecValidationException: DNSSEC validation failed as the response was unable to prove non-existence (NX Domain) for owner name: 111.254.16.172.in-addr.arpa at TechnitiumLibrary.Net.Dns.DnsClient.DnssecValidateResponseAsync(DnsDatagram response, IReadOnlyList`1 lastDSRecords, DnsClient dnsClient, IDnsCache cache, UInt16 udpPayloadSize, CancellationToken cancellationToken) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 2108 at TechnitiumLibrary.Net.Dns.DnsClient.InternalDnssecResolveAsync(DnsQuestionRecord question, CancellationToken cancellationToken) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 3534 at TechnitiumLibrary.Net.Dns.DnsClient.<>c__DisplayClass64_0.d.MoveNext() in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 3591 --- End of stack trace from previous location --- at TechnitiumLibrary.Net.Dns.DnsClient.ResolveQueryAsync(DnsQuestionRecord question, Func`2 resolveAsync) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 3074 at TechnitiumLibrary.Net.Dns.DnsClient.InternalCachedResolveQueryAsync(DnsQuestionRecord question, CancellationToken cancellationToken) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 3578 at DnsServerCore.Dns.DnsServer.RecursiveResolveAsync(DnsQuestionRecord question, IReadOnlyList`1 conditionalForwarders, Boolean dnssecValidation, Boolean cachePrefetchOperation, Boolean cacheRefreshOperation, TaskCompletionSource`1 taskCompletionSource) in Z:\Technitium\Projects\DnsServer\DnsServerCore\Dns\DnsServer.cs:line 2221 [2022-03-26 17:43:48 Local] DNS Server failed to resolve the request with QNAME: 219.254.16.172.in-addr.arpa; QTYPE: PTR; QCLASS: IN; Forwarders: cloudflare-dns.com:853 (1.1.1.1), cloudflare-dns.com:853 (1.0.0.1), dns.google:853 (8.8.8.8), dns.google:853 (8.8.4.4); TechnitiumLibrary.Net.Dns.DnsClientResponseDnssecValidationException: DNSSEC validation failed as the response was unable to prove non-existence (NX Domain) for owner name: 219.254.16.172.in-addr.arpa at TechnitiumLibrary.Net.Dns.DnsClient.DnssecValidateResponseAsync(DnsDatagram response, IReadOnlyList`1 lastDSRecords, DnsClient dnsClient, IDnsCache cache, UInt16 udpPayloadSize, CancellationToken cancellationToken) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 2108 at TechnitiumLibrary.Net.Dns.DnsClient.InternalDnssecResolveAsync(DnsQuestionRecord question, CancellationToken cancellationToken) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 3534 at TechnitiumLibrary.Net.Dns.DnsClient.<>c__DisplayClass64_0.d.MoveNext() in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 3591 --- End of stack trace from previous location --- at TechnitiumLibrary.Net.Dns.DnsClient.ResolveQueryAsync(DnsQuestionRecord question, Func`2 resolveAsync) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 3074 at TechnitiumLibrary.Net.Dns.DnsClient.InternalCachedResolveQueryAsync(DnsQuestionRecord question, CancellationToken cancellationToken) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 3578 at DnsServerCore.Dns.DnsServer.RecursiveResolveAsync(DnsQuestionRecord question, IReadOnlyList`1 conditionalForwarders, Boolean dnssecValidation, Boolean cachePrefetchOperation, Boolean cacheRefreshOperation, TaskCompletionSource`1 taskCompletionSource) in Z:\Technitium\Projects\DnsServer\DnsServerCore\Dns\DnsServer.cs:line 2221 [2022-03-26 17:43:48 Local] DNS Server failed to resolve the request with QNAME: 119.254.16.172.in-addr.arpa; QTYPE: PTR; QCLASS: IN; Forwarders: cloudflare-dns.com:853 (1.1.1.1), cloudflare-dns.com:853 (1.0.0.1), dns.google:853 (8.8.8.8), dns.google:853 (8.8.4.4); TechnitiumLibrary.Net.Dns.DnsClientResponseDnssecValidationException: DNSSEC validation failed as the response was unable to prove non-existence (NX Domain) for owner name: 119.254.16.172.in-addr.arpa at TechnitiumLibrary.Net.Dns.DnsClient.DnssecValidateResponseAsync(DnsDatagram response, IReadOnlyList`1 lastDSRecords, DnsClient dnsClient, IDnsCache cache, UInt16 udpPayloadSize, CancellationToken cancellationToken) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 2108 at TechnitiumLibrary.Net.Dns.DnsClient.InternalDnssecResolveAsync(DnsQuestionRecord question, CancellationToken cancellationToken) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 3534 at TechnitiumLibrary.Net.Dns.DnsClient.<>c__DisplayClass64_0.d.MoveNext() in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 3591 --- End of stack trace from previous location --- at TechnitiumLibrary.Net.Dns.DnsClient.ResolveQueryAsync(DnsQuestionRecord question, Func`2 resolveAsync) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 3074 at TechnitiumLibrary.Net.Dns.DnsClient.InternalCachedResolveQueryAsync(DnsQuestionRecord question, CancellationToken cancellationToken) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 3578 at DnsServerCore.Dns.DnsServer.RecursiveResolveAsync(DnsQuestionRecord question, IReadOnlyList`1 conditionalForwarders, Boolean dnssecValidation, Boolean cachePrefetchOperation, Boolean cacheRefreshOperation, TaskCompletionSource`1 taskCompletionSource) in Z:\Technitium\Projects\DnsServer\DnsServerCore\Dns\DnsServer.cs:line 2221 [2022-03-26 17:43:48 Local] DNS Server failed to resolve the request with QNAME: 148.254.16.172.in-addr.arpa; QTYPE: PTR; QCLASS: IN; Forwarders: cloudflare-dns.com:853 (1.1.1.1), cloudflare-dns.com:853 (1.0.0.1), dns.google:853 (8.8.8.8), dns.google:853 (8.8.4.4); TechnitiumLibrary.Net.Dns.DnsClientResponseDnssecValidationException: DNSSEC validation failed as the response was unable to prove non-existence (NX Domain) for owner name: 148.254.16.172.in-addr.arpa at TechnitiumLibrary.Net.Dns.DnsClient.DnssecValidateResponseAsync(DnsDatagram response, IReadOnlyList`1 lastDSRecords, DnsClient dnsClient, IDnsCache cache, UInt16 udpPayloadSize, CancellationToken cancellationToken) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 2108 at TechnitiumLibrary.Net.Dns.DnsClient.InternalDnssecResolveAsync(DnsQuestionRecord question, CancellationToken cancellationToken) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 3534 at TechnitiumLibrary.Net.Dns.DnsClient.<>c__DisplayClass64_0.d.MoveNext() in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 3591 --- End of stack trace from previous location --- at TechnitiumLibrary.Net.Dns.DnsClient.ResolveQueryAsync(DnsQuestionRecord question, Func`2 resolveAsync) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 3074 at TechnitiumLibrary.Net.Dns.DnsClient.InternalCachedResolveQueryAsync(DnsQuestionRecord question, CancellationToken cancellationToken) in Z:\Technitium\Projects\TechnitiumLibrary\TechnitiumLibrary.Net\Dns\DnsClient.cs:line 3578 at DnsServerCore.Dns.DnsServer.RecursiveResolveAsync(DnsQuestionRecord question, IReadOnlyList`1 conditionalForwarders, Boolean dnssecValidation, Boolean cachePrefetchOperation, Boolean cacheRefreshOperation, TaskCompletionSource`1 taskCompletionSource) in Z:\Technitium\Projects\DnsServer\DnsServerCore\Dns\DnsServer.cs:line 2221 [2022-03-26 17:43:48 Local] [127.0.0.1:46032] Check for update was done {updateAvailable: False; updateVersion: 8.0; updateTitle: New Update (v8.0) Available!; updateMessage: Follow the instructions from the link below to update the DNS server to the latest version. Once the DNS server update is install, update the DNS Apps too immediately. Read the change logs before installing the update to know if there are any breaking changes.; instructionsLink: https://blog.technitium.com/2017/11/running-dns-server-on-ubuntu-linux.html; changeLogLink: https://github.com/TechnitiumSoftware/DnsServer/blob/master/CHANGELOG.md;}

What are some alternatives?

When comparing Pi-hole and Technitium DNS Server you can also consider the following projects:

AdGuardHome - Network-wide ads & trackers blocking DNS server

awesome-selfhosted - A list of Free Software network services and web applications which can be hosted on your own servers

blocky - Fast and lightweight DNS proxy as ad-blocker for local network with many features

PowerDNS-Admin - A PowerDNS web interface with advanced features

udm-utilities - A collection of things I have made to make the Unifi Dream Machine more useful

pihole-regex - Custom regex filter list for use with Pi-hole.

nextdns - NextDNS CLI client (DoH Proxy)

Webmin - Powerful and flexible web-based server management control panel

bypass-paywalls-chrome - Bypass Paywalls web browser extension for Chrome and Firefox.

uBlock - uBlock Origin - An efficient blocker for Chromium and Firefox. Fast and lean.

docker-nxfilter - :whale: Run NxFilter in Docker!

SmartTubeNext - Ad free app for watching tube videos on Android TV boxes