{"id":3059,"date":"2016-11-21T16:55:23","date_gmt":"2016-11-21T21:55:23","guid":{"rendered":"https:\/\/antipaucity.com\/?p=3059"},"modified":"2016-11-21T16:55:23","modified_gmt":"2016-11-21T21:55:23","slug":"results-from-running-pi-hole-for-several-weeks","status":"publish","type":"post","link":"https:\/\/merikebi.warrenmyers.com\/?p=3059","title":{"rendered":"results from running pi-hole for several weeks"},"content":{"rendered":"<p>I came across <a href=\"https:\/\/pi-hole.net\">pi-hole<\/a> recently &#8211; an <a href=\"https:\/\/antipaucity.com\/2016\/03\/03\/on-ads\">ad blocker<\/a> and {{DNS}} service that you can run on a {{Raspberry Pi}} in Raspian (or any {{Debian}} or {{Ubuntu}} (ie Debian-like)) system. Using pi-hole\u00a0<em>should<\/em> obviate the need for running <a href=\"https:\/\/antipaucity.com\/2016\/03\/10\/more-ad-blocking-extensions\">ad-blockers<\/a> in your browser (so long as you&#8217;re on a network that is running DNS queries through pi-hole).<\/p>\n<p>I&#8217;ve seen some people running it on {{CentOS}} &#8211; but I&#8217;ve had issues with that combination, so am keeping to the .deb-based distros (specifically, I&#8217;m running it on the smallest droplet size from <a href=\"https:\/\/www.digitalocean.com\/?refcode=d197a961987a\">Digital Ocean<\/a> with Ubuntu 16.04).<\/p>\n<p>First the good &#8211; it is truly stupidly-simple to get setup and running. A little\u00a0<em>too<\/em> simple &#8211; not because tools should have to be <a href=\"https:\/\/www.reddit.com\/r\/flippingtables\/comments\/5ahhmj\/143_kermit_the_frog_unlocked_my_phone\/d9imwal\">hard to use<\/a>, but because there&#8217;s not much configuration that goes in the automated script. Also, updating the blacklist and whitelist\u00a0are easy &#8211; though they don&#8217;t always update via the web portal as you&#8217;d hope.<\/p>\n<p>Second, configuration is almost all manual: so, if you want to use more than 2 upstream DNS hosts (I personally want to hit both Google and Freenom upstream), for example, there is manual file editing. Or if you want to have <a href=\"https:\/\/duckduckgo.com\/?q=http+basicauth+lighttpd\">basic auth<\/a> enabled for the web portal, you need to not only add it manually, but you need to\u00a0<strong><em>re-add<\/em><\/strong> it manually after any updates.<\/p>\n<p>Third, the bad. This is not a\u00a0<em>pi-hole<\/em> issue,\u00a0<em>per se<\/em>, but it is still relevant: most devices that you would configure to use DNS for your home (or maybe even <a href=\"https:\/\/www.reddit.com\/r\/pihole\/comments\/5dw251\/pihole_in_the_enterprise\">enterprise<\/a>) want at least two entries (eg your {{cable modem}}, or home wifi router). You\u00a0<em>can<\/em> set only one DNS provider with some devices, but not all. Which goes towards showing how pi-hole might not be best run\u00a0<em>outside<\/em> your network &#8211; if you run piggy-back {{DHCP}} and DNS both off your RPi, and not off the {{wireless router}} you&#8217;re probably running, then you&#8217;re OK. But if your wireless router \/ cable modem demands multiple DNS entries, you either need to run multiple pi-hole servers somewhere, or you need to realize not everything will end up going through the hole.<\/p>\n<p>Pi-hole sets up {{lighttpd}} instance (which you don&#8217;t\u00a0<em>have<\/em> to use) so you can see a pretty admin panel:<\/p>\n<p><a href=\"https:\/\/merikebi.warrenmyers.com\/wp-content\/uploads\/2016\/11\/pihole.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-3060\" src=\"https:\/\/merikebi.warrenmyers.com\/wp-content\/uploads\/2016\/11\/pihole-300x176.png\" alt=\"pihole\" width=\"300\" height=\"176\" srcset=\"https:\/\/merikebi.warrenmyers.com\/wp-content\/uploads\/2016\/11\/pihole-300x176.png 300w, https:\/\/merikebi.warrenmyers.com\/wp-content\/uploads\/2016\/11\/pihole-768x449.png 768w, https:\/\/merikebi.warrenmyers.com\/wp-content\/uploads\/2016\/11\/pihole-1024x599.png 1024w, https:\/\/merikebi.warrenmyers.com\/wp-content\/uploads\/2016\/11\/pihole.png 1475w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>I added basic authentication to the admin subdirectory by adding the following lines to <code>\/etc\/lighttpd\/lighttpd.conf<\/code> after following this <a href=\"http:\/\/jacobsalmela.com\/password-protect-a-lighttpd-web-server-on-a-raspberry-pi-using-mod-auth\">tutorial<\/a>:<\/p>\n<p><code>#add http basic auth<br \/>\nauth.backend = \"htdigest\"<br \/>\nauth.backend.htdigest.userfile = \"\/etc\/lighttpd\/.htpasswd\/lighttpd-htdigest.user\"<br \/>\nauth.require = (\"\/admin\" =&gt;<br \/>\n( \"method\" =&gt; \"digest\",<br \/>\n\"realm\" =&gt; \"rerss\",<br \/>\n\"require\" =&gt; \"valid-user\" )<br \/>\n)<\/code><\/p>\n<p>I also have 4 upstream DNS providers in <code>\/etc\/dnsmasq.d\/01-pihole.conf<\/code>:<\/p>\n<p><code>server=80.80.80.80<br \/>\nserver=8.8.8.8<br \/>\nserver=8.8.4.4<br \/>\nserver=80.80.81.81<\/code><\/p>\n<p>I still need to <a href=\"https:\/\/community.letsencrypt.org\/t\/lighttpd-usable-chained-file\/3357\">SSLify<\/a> the page, but that&#8217;s coming.<\/p>\n<p>The 8.8.* addresses are <a href=\"https:\/\/en.wikipedia.org\/wiki\/Google_Public_DNS#Service\">Google&#8217;s<\/a> public DNS. The 80.80.* addresses are <a href=\"http:\/\/freenom.world\">Freenom&#8217;s<\/a>. There are myriad more <a href=\"https:\/\/duckduckgo.com\/?q=google+public+dns&amp;atb=v33-7__&amp;iax=1&amp;ia=answer\">free DNS<\/a> providers out there &#8211; these are just the ones I use.<\/p>\n<p>So what&#8217;s my tl;dr on pi-hole? It&#8217;s pretty good. It needs a little work to get it more stable between updates &#8211; but it&#8217;s very close. And I bet if I understood a little more of the setup process, I could probably make a fix to the update script that wouldn&#8217;t clobber (or would restore) any custom settings I have in place.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I came across pi-hole recently &#8211; an ad blocker and {{DNS}} service that you can run on a {{Raspberry Pi}} in Raspian (or any {{Debian}} or {{Ubuntu}} (ie Debian-like)) system. Using pi-hole\u00a0should obviate the need for running ad-blockers in your browser (so long as you&#8217;re on a network that is running DNS queries through pi-hole). &hellip;<br \/><a href=\"https:\/\/merikebi.warrenmyers.com\/?p=3059\" class=\"more-link pen_button pen_element_default pen_icon_arrow_double\">Continue reading <span class=\"screen-reader-text\">results from running pi-hole for several weeks<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":true,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_hide_featured_image":false,"_jetpack_featured_image_duplicate_dismissed":0,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[38,41],"tags":[73,229,390,450,565,617,633,643,797],"keyring_services":[],"class_list":["post-3059","post","type-post","status-publish","format-standard","hentry","category-review","category-technical","tag-advertising","tag-debian","tag-how-to","tag-linux","tag-pihole","tag-raspberrypi","tag-review","tag-rpi","tag-ubuntu"],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/merikebi.warrenmyers.com\/index.php?rest_route=\/wp\/v2\/posts\/3059","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/merikebi.warrenmyers.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/merikebi.warrenmyers.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/merikebi.warrenmyers.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/merikebi.warrenmyers.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3059"}],"version-history":[{"count":0,"href":"https:\/\/merikebi.warrenmyers.com\/index.php?rest_route=\/wp\/v2\/posts\/3059\/revisions"}],"wp:attachment":[{"href":"https:\/\/merikebi.warrenmyers.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3059"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/merikebi.warrenmyers.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3059"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/merikebi.warrenmyers.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3059"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/merikebi.warrenmyers.com\/index.php?rest_route=%2Fwp%2Fv2%2Fkeyring_services&post=3059"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}