I’ve been aware of pi-hole for a while now, but never bothered with it because I do most web browsing on a laptop where browser extensions like uBlock origin are good enough. However, with multiple streaming services starting to insert adds into my paid subscriptions, I’m looking to upgrade to a network blocker that will also cover the apps on my smart TV.

I run most of my self hosted services on a proxmox server, so I’d like something that’ll run as an LXC container or a VM. I’m also vaguely aware that various competing applications have come out since pi-hole first gained popularity. Is pi-hole still the best thing going, or are there better options?

  • PainInTheAES@lemmy.world
    link
    fedilink
    English
    arrow-up
    39
    arrow-down
    1
    ·
    10 months ago

    AdGuard Home and blocky are other popular options. I switched over to AdGuard Home a while back because it supported DNS over HTTPS although I’m not sure if that’s still a relevant reason. I run AGH as a docker container but it is easy to run in a LXC or VM. There’s also a tool to sync configs if you need multiple instances. Notice: AGH block lists are formatted like uBlock Origin lists so you will not be able to use PiHole style lists.

    DNS based ad blockers won’t work when ads are served from the same place as the content. Which is why DNS based ad blockers don’t work against Twitch or YouTube. So YMMV.

    If you’re looking to block interface ads and select streaming service ads there are block lists available like this one. The game with smart TVs is blocking the ads breaks the TV a little because sometimes it calls back to the same servers for updates and misc info like weather.

  • bdonvr@thelemmy.club
    link
    fedilink
    English
    arrow-up
    20
    ·
    10 months ago

    Pi-hole is great, but unfortunately ads in YouTube or other streaming services is not one of the things it blocks.

    • HexagonSun@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      2
      ·
      10 months ago

      Glad I read this - all my other devices block ads perfectly well already, but was wondering if I could block YouTube ads on my Apple TV… I guess not!

    • dan@upvote.au
      link
      fedilink
      English
      arrow-up
      1
      ·
      10 months ago

      PiHole and similar services just use DNS blocking, which only works if the ads are served via a third-party ad server. Sites with their own ad inventory (YouTube, Facebook, Twitter, etc) can’t be blocked this way since they can just serve the ads from the same domain as their regular content.

    • dontblink@feddit.it
      link
      fedilink
      English
      arrow-up
      1
      ·
      10 months ago

      I wonder why we don’t have AI browser extensions that can recognise and obscure possible ads / unwanted content yet

  • Decronym@lemmy.decronym.xyzB
    link
    fedilink
    English
    arrow-up
    15
    ·
    edit-2
    10 months ago

    Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:

    Fewer Letters More Letters
    DNS Domain Name Service/System
    HTTP Hypertext Transfer Protocol, the Web
    HTTPS HTTP over SSL
    IP Internet Protocol
    IoT Internet of Things for device controllers
    LXC Linux Containers
    PiHole Network-wide ad-blocker (DNS sinkhole)
    SSL Secure Sockets Layer, for transparent encryption
    VPN Virtual Private Network

    7 acronyms in this thread; the most compressed thread commented on today has 5 acronyms.

    [Thread #431 for this sub, first seen 15th Jan 2024, 23:55] [FAQ] [Full list] [Contact] [Source code]

  • plz1@lemmy.world
    link
    fedilink
    English
    arrow-up
    14
    ·
    10 months ago

    NextDNS.

    Also, be wary of relying on anything blocking ads on streaming services this way. They will likely serve them within the video stream, so not network-blockable.

    • Kid_Thunder@kbin.social
      link
      fedilink
      arrow-up
      4
      ·
      10 months ago

      NextDNS caps your queries per month on the free account. ControlD doesn’t and you can pick a various mix of their public DNS resolvers. You don’t necessarily get the granular control with doing it this way for free that you can get with NextDNS though.

      If you do check out these, make sure you click the Secure Resolvers if you’d prefer for DLS/DOQ/DNS over HTTPS instead of Legacy.

        • Kid_Thunder@kbin.social
          link
          fedilink
          arrow-up
          3
          ·
          10 months ago

          I run pihole and my wireguard VPN server locks all queries through it, which in turn uses unbound and queries via different providers like Cisco’s OpenDNS, Cloudflare and Quad9. However, I wanted to present a similar offering that also has a free-tier without a query cap for people interested.

          • brrt@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            2
            arrow-down
            6
            ·
            10 months ago

            Your „free“ option just requires buying hardware that enables all of it and an intensive setup process and knowledge which might be quite time consuming.

            It may be a good solution but it’s far from free for many people.

            • Kid_Thunder@kbin.social
              link
              fedilink
              arrow-up
              4
              ·
              edit-2
              10 months ago

              The free solution I was referring to was my comment about using ControlD, which certainly offers a free service…which is the comment that the other person was responding to.

            • KairuByte@lemmy.dbzer0.com
              link
              fedilink
              English
              arrow-up
              1
              ·
              10 months ago

              Two things:

              • A free solution was already being talked about.
              • You can easily run pihole/adguard home on $20 hardware by following basic tutorials. It’s far from complex.
    • guajojo@lemmy.world
      link
      fedilink
      English
      arrow-up
      4
      ·
      10 months ago

      Pihole user for more than 5 years,.can confirm that it is indeed better, made the switch few months ago

      • DreadPotato@sopuli.xyz
        link
        fedilink
        English
        arrow-up
        7
        ·
        10 months ago

        What makes adguard home better than pihole? Genuinely curious, I’m running pihole now and have been for a couple of years without issues.

      • Maximilious@kbin.social
        link
        fedilink
        arrow-up
        4
        ·
        10 months ago

        What makes it better other than the UI? I’m weary of using it because it is developed by Russian developers.

        • Gooey0210@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          3
          ·
          10 months ago

          Encryption, UI, probably a little bit more serious development

          But encryption is a big thing, DoT, DoH, Quic. And soon they will have ECH

            • Gooey0210@sh.itjust.works
              link
              fedilink
              English
              arrow-up
              1
              ·
              10 months ago

              Hold on, this is not the same encryption

              The encryption i was talking about is the encryption of your dns server

              The article you sent is talking about upstream dns server encryption

              • DefederateLemmyMl@feddit.nl
                link
                fedilink
                English
                arrow-up
                1
                ·
                10 months ago

                The encryption i was talking about is the encryption of your dns server

                You mean encryption between the client and your DNS server, on your local network?

                • Gooey0210@sh.itjust.works
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  ·
                  10 months ago

                  You can do it on your local network, but this won’t make much sense

                  I mean encryption between your phone or laptop outside of your house, and your dns server at your house

            • dan@upvote.au
              link
              fedilink
              English
              arrow-up
              1
              ·
              edit-2
              10 months ago

              That’s a bunch of extra manual work though - both the initial setup, plus keeping the extra software packages up-to-date. With AdGuard Home, it’s already configured to use DoH by default.

          • bdonvr@thelemmy.club
            link
            fedilink
            English
            arrow-up
            1
            ·
            10 months ago

            That’s cool for certain applications but on my home network should I really be super concerned about DNS encryption?

            • Darkassassin07
              link
              fedilink
              English
              arrow-up
              4
              ·
              10 months ago

              Not within the network, but translating regular dns to DoH before heading out to WAN keeps your browsing a little bit more private from your isp. Marginal, but it is a difference.

              • dan@upvote.au
                link
                fedilink
                English
                arrow-up
                1
                ·
                10 months ago

                It’s not just a little bit more private… It’s a lot more private. Some ISPs have been known to build advertising profiles using DNS data. It’s trivial for them to see all DNS lookups and even modify the responses, since it’s both unencrypted and unauthenticated by default.

            • Gooey0210@sh.itjust.works
              link
              fedilink
              English
              arrow-up
              2
              ·
              10 months ago

              Probably not, but anyway it’s pretty cool to have an option to do this kind of stuff

              You can set up this dns on your phone, laptop, without a need of vpn (although vpns are cool, especially tailscale)

              But, are you always connected to the vpn? Or even to connect to the vpn itself you probably need dns, why would not use your own

      • Encrypt-Keeper@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        10 months ago

        As an AdGuard home user for more than a few years, I switched back to Pihole because it wasn’t really any better. It was also easier to pair pihole with Unbound.

        • dan@upvote.au
          link
          fedilink
          English
          arrow-up
          1
          ·
          10 months ago

          It works well! I have one AdGuardHome instance running on my home server and one running on a Raspberry Pi, both using Docker. Having two prevents the internet from breaking in case I have to shut down one of them for some reason.

  • Rookeh@startrek.website
    link
    fedilink
    English
    arrow-up
    10
    ·
    10 months ago

    I use both. Pi-hole running in a docker container on one of my home servers which my gateway is configured to assign as the default DNS for all clients, and uBlock Origin on all my browsers to catch everything else.

    Pihole is pretty good at catching ads on platforms that are not suited to browser based blockers (IoT devices, streaming boxes etc) but it isn’t perfect and is best used in conjunction with another solution.

  • methodicalaspect@midwest.social
    link
    fedilink
    English
    arrow-up
    9
    ·
    10 months ago

    Pi-Hole’s great. Got my primary instance on a Pi 4 and three secondaries (one per vlan) on LXCs. Works so well it feels weird seeing ads when I’m not at home, I’m actually considering using Tailscale to route all my queries through my home connection.

    • zylinderhut@feddit.de
      link
      fedilink
      English
      arrow-up
      7
      ·
      10 months ago

      I second that, turns out 90% of the queries on my network come from my Libratone speakers and they seem to desperately try and reach China (.com.cn)

    • rentar42@kbin.social
      link
      fedilink
      arrow-up
      3
      ·
      edit-2
      10 months ago

      Hint: you don’t need to route all your traffic through your VPN to make use of the pihole adblocking: Just DNS. If your at home internet is even moderately stable/good then this should barely affect your roaming internet experience, since DNS traffic is such a small part of all traffic.

      Also, since I’m already mirroring the configuration of my PiHole instance to a secondary one, I’m considering putting a tertiary one on some forever-free cloud server instance and just using that when not at home (put it into the same wireguard vpn to prevent security nightmares). That way my roaming private DNS wouldn’t even depend on my home internet.

    • Ark-5@lemmy.blahaj.zone
      link
      fedilink
      English
      arrow-up
      3
      ·
      10 months ago

      I do this and it works great. Ad block on all my devices regardless of proprietary sandboxes. I also use Syncthing over my tailnet IP addresses so that traffic never leaves my “grounds”. I’m slowly building out a whole suite of services I host only within my tailnet, jellyfin, calibre, invidious, it been a great learning experience. I’m about to set up a proper home lab, finally moving everything off an old laptop.

  • Darkassassin07
    link
    fedilink
    English
    arrow-up
    8
    ·
    10 months ago

    DNS based ad blocking does not block video ads served by streaming services. You’ll need a modified client specific to the service you want to block ads for to achieve that.

  • Codilingus@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    7
    ·
    10 months ago

    Adguard home is like pihole, but has built in encrypted DNS options. For easy mode NextDNS.

    They pretty much all have the same block lists to choose from.

  • philpo@feddit.de
    link
    fedilink
    English
    arrow-up
    7
    ·
    10 months ago

    If you are more into a full DNS solution that can also block Technitium DNS is a reasonable choice. It is fairly userfriendly, can be run in an LXC easily (I am doing exactly that), able to use multiple block lists in any combination you want, can be controlled by an API, is regularly updated,etc.

    I couldn’t be happier with it, even though the learning curve is somewhat steep, when you are new to DNS. It is a fully fledged DNS server after all.

  • lemming741@lemmy.world
    link
    fedilink
    English
    arrow-up
    7
    ·
    10 months ago

    I run pihole on proxomox, and also opnsense in the same box. Then you can forward all port 53 traffic to your pihole. Some devices have hard-coded DNS that will bypass the DHCP DNS.

      • zzzz@lemmy.world
        link
        fedilink
        English
        arrow-up
        11
        arrow-down
        1
        ·
        10 months ago

        Chuck 'em in the garbage and get something that doesn’t break when you insist on privacy.

        • Apathy Tree@lemmy.dbzer0.com
          link
          fedilink
          English
          arrow-up
          4
          ·
          10 months ago

          Ha! This is my new way of looking at my smart devices. I’ll sell you off if you don’t do what I want, and buy something that does. Very much a threat.

          I recently factory reset all my Roku TVs, and didn’t connect them to the internet… and they work much better now.

          Roku broke big time when I insisted on privacy. blocked the entire Roku domain, it broke the apps on a 1-month schedule like clockwork to get the network release for reinstall which allowed for phone home. lol no. I trashed it. They are dumb TVs now.

          • zzzz@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            10 months ago

            I’ve done the same! It’s impossible to buy dumb TVs nowadays, but you can always prevent them from connecting to the network.

      • DeltaTangoLima@reddrefuge.com
        link
        fedilink
        English
        arrow-up
        2
        ·
        10 months ago

        Really? I run several Chromecasts, and I block their access to all DNS services except my internal Pi-holes. They work just fine.

  • Fedegenerate@lemmynsfw.com
    link
    fedilink
    English
    arrow-up
    4
    ·
    10 months ago

    I went with a pi running pi-hole. I got it as a project where the tool is the project. But, it’s essential infrastructure now and I don’t want to mess with it incase I break it. I’m an idiot with a poor history with pi guides so far, so I will break it. It’s running the adblock fine, I assume it’s doing the tracking and malware blocking fine too.

    Sadly, that’s where I leave the project for now, I had intended to give it a HDD and some… other… software but I really don’t want to break it. I tried convincing the better half that I obviously need to N+1 but she wisely did not see reason.

    • khorak@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      2
      ·
      10 months ago

      If you want to try setting it up in high availability with failover, give me a poke. And until then - go to Teleporter in the settings, and download the backup. You can restore from there.

      One thing worth saying is this - you can grab a cheap refurbished ssd (the smaller - the better), check it’s SMART data for any red flags, and attach it to the pi as OS disk. It will be much more reliable than SD, but overkill if you only run pi on the box. Alternatively look into log2ram, it keeps your SD card alive for longer :D but backup first!

      • Fedegenerate@lemmynsfw.com
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        10 months ago

        Thanks. I already have Log2Ram running to prolong the life of the SD. My planned disaster relief is a spare SD, already set up and taped to the box ready to swap and reboot in case of emergency. SD cards are cheap so chucking <£10 at the setup once in a while is no big thing. A fresh install on the new SD allows me to improve on what I’ve already done, for example the new SD I’ll run DietOS instead of Raspbian, and reinforce skills. Less time efficient but that’s no matter when the box is working and it’s a hobby. I can then keep the old SD card taped inside the case as a physical back up. Perhaps more expensive in the long run, but an SD card taped to the inside of the case with simple instructions is an easy sell to the fiancée.

        My experience with guides has shaken my confidence quite a bit. Which is fine, I’ll get over myself and the point is to learn, so me hitting snags is a good thing. But, until I have a functioning back up I’m not going to be fucking with it. Facebook cannot go down on account of my education.

        But if I may, I have one question, a bunch of recommendations have the setup “segregated” (I dunno the word) in Docker and Portainers but I don’t understand the rationale. I wasn’t intending on doing this, instead opting to install Pi-hole, Log2Ram, UFW, and the… other… softwares directly to the OS for simplicity. Why would one set up a Pi-hole et al in a containers instead of directly?

        My current set up is Raspbian OS running Pi-hole as ad, tracker, malware block and DHCP (the ISP router is a Sky2 box so no IP or DNS customisation), Log2Ram and UncomplicatedFireWall.

        • khorak@lemmy.dbzer0.com
          link
          fedilink
          English
          arrow-up
          2
          ·
          10 months ago

          I wasn’t intending on doing this, instead opting to install Pi-hole, Log2Ram, UFW, and the… other… softwares directly to the OS for simplicity. Why would one set up a Pi-hole et al in a containers instead of directly?

          So there are many reasons, and this is something I nowadays almost always do. But keep in mind that some of us have used Docker for our applications at work for over half a decade now. Some of these points might be relevant to you, others might seem or be unimportant.

          • The first and most important thing you gain is a declarative way to describe the environment (OS, dependencies, environment variables, configuration).
          • Then there is the packaging format. Containers are a way to package an application with its dependencies, and distribute it easily through the docker hub (or other registries). Redeploying is a matter of running a script and specifying the image and the tag (never use latest) of the image. You will never ask yourself again “What did I need to do to install this again? Run some random install.sh script off a github URL?”.
          • Networking with docker is a bit hit and miss, but the big thing about it is that you can have whatever software running on any port inside the container, and expose it on another port on the host. Eg two apps run on port :8080 natively, and one of them will fail to start due to the port being taken. You can keep them running on their preferred ports, but expose one on 18080 and another on 19080 instead.
          • You keep your host simple and empty of installed software and packages. Less of a problem with apps that come packaged as native executables, but there are languages out there which will require you to install a runtime to be able to start the app. Think .NET, Java but there is also Python out there which requires you to install it on the host and have the versions be compatible (there are virtual environments for that but im going into too much detail already).

          Basically I have a very simple host setup with only a few packages installed. Then I would remotely configure and start up my containers, expose ports etc. And I can cleanly define where my configuration is, back up only that particular folder for example and keep the rest of the setup easy to redeploy.

          • Fedegenerate@lemmynsfw.com
            link
            fedilink
            English
            arrow-up
            2
            ·
            edit-2
            10 months ago

            I have nothing to add, and an upvote isn’t enough. Truly, thank you for your time, there’s a lot to think about.

            I think for this initial iteration I’m going to direct install in the name of keeping it simple. Next go around I’ll try containerising, just to learn if nothing else. If I out-grow the Pi4 they’ll be good skills to have.