I responded to someone in comments on a post that may not get as much visibility, and wanted to share something that might help some others who are newer to this.

I referenced Quad9 DNS as probably one of the best private DNS you can use, Swiss based, no log, no tracking, no data to sell, etc. They also implement DNSSEC, DoH, DoT, QUIC, ECS (which you may or may bot want), malware blocking, content filtering, and maybe something else I'm forgetting.

Many DNS sinkhole apps, OSes, or systems can actually utilize Quad9 for your resolver while those systems also block ads. Below is my functional list of systems that I'm aware of, though I haven't tested everything. I believe all are considered FOSS, too. If you don't have a spare Raspberry Pi laying around, try running in HomeAssistant, Yunohost, ZimaOS (previously CasaOS), or others.

DNS sinkhole (Adblocking) apps:

  1. Pihole
  2. eBlocker
  3. Technitium
  4. AdGuard
  5. uBlock Origin

Feel free to comment and add your own I'm maybe not aware of. I'm no software engineer, but I can read through some code, though not an expert, nor have combed through these personally. Usually I've tested/run at the recommendation of others over the years before my ban on Reddit (for shitting on AI).

Hope this helps!!

you are viewing a single comment's thread
view the rest of the comments
[–] 2 points 9 hours ago (2 children)

I never understood the point in setting up unbound and pi-hole. Unbound is perfectly able to use all the filter lists you use with pi-hole, so at this point it's nothing but an additional layer for some fancy webui with stats you never actually look at.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 3 points 9 hours ago (1 child)

    I'm interested as to how you'd setup unbound to use block lists. But I suppose you'd have to set a timer or cron to update them, whereas Pi-Hole does it by itself.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 2 points 9 hours ago* (last edited 9 hours ago)

    Just pick a blocklist (usually via curl, coming in a "0.0.0.0 " format), reformat it to "local-zone: always_refuse" (sed is your friend) then add an include-line to the unbound config.

    And yes, you would need to set some timer to update it from time to time.

    PS: I stopped using unbound and went with dnsproxy (see my other comment here) because it was less cumbersome (just a few command line parameters instead of an extensive config) to serve at the same time as my local dns while also providing it via DoQ (and DoH for those stupidly restrictive networks) for me when I'm not at home. Also proper parallel querying is -iirc; I didn't look at it for quite a while- still missing from unbound and it can work with DoQ upstream but not serve it yet.

  • source
  • parent