5 ms·
Cross-posting from my comment on Reddit's /r/Linux I'm a little disappointed that they seem to be very uninterested on how to get it working on "unsupported" c
by IntelMiner 6y ago
Cross-posting from my comment on Reddit's /r/Linux
I'm a little disappointed that they seem to be very uninterested on how to get it working on "unsupported" configurations
My x86 gateway currently runs on Gentoo (PFsense kept having random crashing issues) and it's something I'd love to add to it
as far as I can tell all Pi-Hole needs is
- Lighttpd + PHP (web management portal)
- DNSMASq (DNS)
- DHCPD (DHCP)
- git (blocklist updates?)
There was a single github issue tracker where someone got it working fairly easily (essentially saying "please install package X/Y/Z" during setup) which was closed by the developer as "only two people have asked about Gentoo"
I know Gentoo is fairly niche as far as distributions go, but seeing popular software moving away from "here's how to compile/install it" to "here's a docker container/here's what "we" support" is very disheartening
- laumars 6y agoPihole comes with some nice features but the core tool could be written in a single shell script (I know this because that’s exactly what I used to do for years before pi-hole even existed). At its core, all you really need is curl / wget to pull a few text files and then reload dnsmasq. Sure you’d miss out on the reporting side (which is actually the only reason I switched to pi-hole last year) but it would run on literally any system that runs Linux and dnsmasq. As for DHCP, I think pi-hole uses dnsmasq for that too. However I’ve wasnt able to get pi-hole to accept my custom DHCP rules for PXE boot images (saves me hunting for USB sticks if someone hands me a trashed system and it’s been invaluable over the years) so I’ve continued to run dhcpd separately from pi-hole. But you don’t even need to do that, all you really need is your existing DHCP server to accept custom DNS resolvers and any consumer router should let you do that. Just make sure you disable DHCP in pi-hole.
- encom 6y agoI've made this exact argument before, but it was unpopular. I maintain that if your software distrubution model is writing ISO files to SD cards, it's about as retarded as piping `curl` into `bash`. I too run a Gentoo server at home (fist bump), and I'm running `dnsmasq` for filtering and caching, and `stubby` for DNS-over-TLS, and I run this beauty of a cron job every morning: curl -s --compressed -o /var/lib/dnsmasq/hostnames.txt https://raw.githubusercontent.com/notracking/hosts-blocklists/master/{hostnames.txt,domains.txt} | sed -e '/::/d' -e 's/0.0.0.0//g' -e '/thepiratebay/d' > /var/lib/dnsmasq/domains.txt && rc-service dnsmasq restart
- StreamBright 6y agoThe result of this looks a bit mixed up. Are you sure that sedding 0.0.0.0 works? There are some spammers who include 0.0.0.0 in the domain name for example. I used positional splitting with awk to do the same. That worked very well.
- encom 6y agoThe `sed` turns this address=/example.com/0.0.0.0 into address=/example.com/ ...which makes dnsmasq return NXDOMAIN instead of 0.0.0.0. I think that's more correct.
- StreamBright 6y agoWhat about 0.0.0.0.nastydonain.com?
- encom 6y agoYes, I should fix `sed` to only match end-of-line.
- kelnos 6y agoThat's a pretty entitled attitude to have toward people who are writing software in their own time and giving it to you for free to use.
- StreamBright 6y agoHi, for other reasons I am porting Pi-hole to Erlang/Elixir so that it can run on any platform that has Erlang (including Gentoo). Let me know if you are interested.
- oarsinsync 6y agoI understand your position, and I struggle with this a lot myself. That said, this is one of the drawbacks of freedom and choice. There are so many different distributions, each one with their own quirks, that creates a massive support burden for developers. Should developers focus on developing their software, or focus on supporting their software on as wide a range of platforms as possible? Docker in particular helps solve this particular problem. I agree it's not ideal. The best thing you can do is contribute directly if your platform of choice doesn't have explicit instructions. If that's out of scope for your own skill set, and you don't have the time or inclination to learn on your own, then I'd recommend learning docker instead. It's not terrible.
- kelnos 6y ago> I'm a little disappointed that they seem to be very uninterested on how to get it working on "unsupported" configurations I think that's entirely reasonable. Unsupported configurations are "unsupported" for a reason: because open source developers have a limited amount of their unpaid free time to devote to their project, a project you get to use for free. > ... was closed by the developer as "only two people have asked about Gentoo" Again, entirely reasonable. Maintaining installation scripts for your project for every OS under the sun is a large burden, especially for OSes that the developers don't personally run themselves. Since Linux distros are basically the poster-child of fragmentation, the usual way to get a piece of software supported on your distro is to have a distro package (for Gentoo I guess that'd be an ebuild) that does any distro-specific patching. Stuff that's generic enough can be upstreamed. Stuff that is distro-specific often has to stay in the distro patches unless someone is willing to step forward and be trusted to actively maintain it upstream in the long term. As an open source project maintainer, I definitely would not want distro-specific code in my build if there's no one with the inclination or expertise to maintain it. > essentially saying "please install package X/Y/Z" during setup ... and this is exactly something that goes in your Gentoo ebuild, not in PiHole's generic install. > I know Gentoo is fairly niche as far as distributions go, but seeing popular software moving away from "here's how to compile/install it" to "here's a docker container/here's what "we" support" is very disheartening I'm a little puzzled by this remark, since that's how it's always been with open source that's intended to run on Linux. I go back and forth on what I think about Docker, but before we had that, you basically got a tarball with a configure script, and had to figure out on your own what dependencies to install on your distro to get it to build properly. Some projects with more bandwidth would include an RPM Or DEB package, but oftentimes those would only run on a few specific versions of RedHat/Fedora or Debian/Ubuntu, and you'd still have to install the dependencies yourself. At least with Docker it's sorta a "build once, run anywhere" type thing. The thing I don't think you're getting is that you are not entitled to these people's time or resources. They're putting out a project in the hopes that people will find it useful. It is not reasonable to expect them to cater to every whim of every potential user's personal setup. I'm sorry for the long-winded reply here, but it really bothers me when people expect open source developers to have their free time directed by non-contributors.