A few months ago I went on a quest for a DNS server and was dissatisfied with current maintained projects. They were either good at adblocking (Blocky, grimd…) or good at specifying custom DNS (CoreDNS…).

So I forked grimd and embarked on rewriting a good chunk of it for it to address my needs - the result is leng.

  • it is fast
  • it is small
  • it is easy
  • you can specify blocklists and it will fetch them for you
  • you can specify custom DNS records with proper zone file syntax (SRV records, etc)
  • it supports DNS-over-HTTPS so you can stay private
  • it is well-documented
  • can be deployed on systemd, docker, or Nix

I have been running it as my nameserver in a Nomad cluster since! I plan to keep maintaining and improving it, so feel free to give it a try if it also fulfils your needs

  • chiisana
    link
    fedilink
    English
    111 year ago

    Last I used PiHole many years back, it was possible to use it as DHCP but not possible to add custom DNS records like TXT, SRV, etc. . Perhaps that’s what OP is trying to solve for?

    • @myogg
      link
      English
      261 year ago

      Pinhole has allowed custom local records for a very long time now

      • NicoOP
        link
        fedilink
        English
        21 year ago

        Including SRV records? I found that some servers (blocky as well) only support very basic CNAME or A records, without being able to specify parameters like TTL, etc.

        I also appreciate being able to define this in a file rather than a web UI

        • @[email protected]
          link
          fedilink
          English
          131 year ago

          It’s based on dnsmasq. You could always specify custom records, even before there was an option in the web interface. Just create a config file in /etc/dnsmasq.d

          Just look up these options: host-record cname srv-host

          • NicoOP
            link
            fedilink
            English
            51 year ago

            Thanks! I didn’t know you could do that. I’ll see how it compares to my current solution

        • @Eideen
          link
          English
          51 year ago

          I do it via dnsmasq, that Pi uses.

          I have a ansible playbook, that i use to sync my Piholes.

        • ChickenBoo
          link
          fedilink
          English
          21 year ago

          You can do the basic records via file. /etc/pihole/custom.list is a hosts formatted file for records so you don’t have to use a gui.