summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authormax.bra2017-01-03 17:32:16 +0100
committermax.bra2017-01-03 17:32:16 +0100
commit5ac4fa93a8282e00f5a5060502a8cbe5c3cdc9d2 (patch)
treecd3ae75fa12506da107147faa4ebe3d8c7615f9a
parent5b749ae6f2dc846444ccce89cd8cfe434e315601 (diff)
downloadaur-5ac4fa93a8282e00f5a5060502a8cbe5c3cdc9d2.tar.gz
v. 2.11
-rw-r--r--.SRCINFO16
-rw-r--r--PKGBUILD78
-rw-r--r--configuration15
-rw-r--r--dnsmasq.include26
-rw-r--r--dnsmasq.main28
-rw-r--r--mimic_setupVars.conf.sh16
-rw-r--r--pi-hole-standalone.install10
7 files changed, 114 insertions, 75 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 06decd7f1a97..b8c75d421005 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = pi-hole-standalone
pkgdesc = The Pi-hole is an advertising-aware DNS/Web server. Arch alteration for standalone PC.
- pkgver = 2.9.5
- pkgrel = 2
+ pkgver = 2.11
+ pkgrel = 1
url = https://github.com/pi-hole/pi-hole
install = pi-hole-standalone.install
arch = any
@@ -11,7 +11,7 @@ pkgbase = pi-hole-standalone
conflicts = pi-hole-server
backup = etc/pihole/whitelist.txt
backup = etc/pihole/blacklist.txt
- source = https://github.com/pi-hole/pi-hole/archive/v2.9.5.tar.gz
+ source = https://github.com/pi-hole/pi-hole/archive/v2.11.tar.gz
source = configuration
source = dnsmasq.main
source = dnsmasq.include
@@ -20,15 +20,15 @@ pkgbase = pi-hole-standalone
source = whitelist.txt
source = blacklist.txt
source = mimic_setupVars.conf.sh
- md5sums = b383a2741e556a3680b3ae312a18cfba
- md5sums = bc28e67029222243ba2ca9b3a1855469
- md5sums = c39b31cbad16482630196704167afe2a
- md5sums = 1b2e808b699a6b58647641f12379f65d
+ md5sums = 212239c4425dc55941fdca24409d6b18
+ md5sums = 630a24a3ca258005d11c4a59659f76ed
+ md5sums = b955136ef15be29a468e8d9f85f24b8c
+ md5sums = 796a8c6321e671af80fe884948e466f1
md5sums = 047f13d4ac97877f724f87b002aaee63
md5sums = d42a864f88299998f8233c0bc0dd093d
md5sums = d41d8cd98f00b204e9800998ecf8427e
md5sums = d41d8cd98f00b204e9800998ecf8427e
- md5sums = 10d149fd88ba428584333a151c164915
+ md5sums = e3bb1980b565e4d504e0235353f2b2dc
pkgname = pi-hole-standalone
diff --git a/PKGBUILD b/PKGBUILD
index ab26e6118548..eaf4f18e007b 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,8 +2,8 @@
pkgname=pi-hole-standalone
_pkgname=pi-hole
-pkgver=2.9.5
-pkgrel=2
+pkgver=2.11
+pkgrel=1
pkgdesc='The Pi-hole is an advertising-aware DNS/Web server. Arch alteration for standalone PC.'
arch=('any')
license=('GPL2')
@@ -23,15 +23,15 @@ source=(https://github.com/$_pkgname/$_pkgname/archive/v$pkgver.tar.gz
blacklist.txt
mimic_setupVars.conf.sh)
-md5sums=('b383a2741e556a3680b3ae312a18cfba'
- 'bc28e67029222243ba2ca9b3a1855469'
- 'c39b31cbad16482630196704167afe2a'
- '1b2e808b699a6b58647641f12379f65d'
+md5sums=('212239c4425dc55941fdca24409d6b18'
+ '630a24a3ca258005d11c4a59659f76ed'
+ 'b955136ef15be29a468e8d9f85f24b8c'
+ '796a8c6321e671af80fe884948e466f1'
'047f13d4ac97877f724f87b002aaee63'
'd42a864f88299998f8233c0bc0dd093d'
'd41d8cd98f00b204e9800998ecf8427e'
'd41d8cd98f00b204e9800998ecf8427e'
- '10d149fd88ba428584333a151c164915')
+ 'e3bb1980b565e4d504e0235353f2b2dc')
prepare() {
_ssc="/tmp/sedcontrol"
@@ -83,9 +83,57 @@ prepare() {
# -----------------
- # adlists.default is already there
- sed -i "s/cp \/etc\/.pihole\/adlists.default \/etc\/pihole\/adlists.default//w $_ssc" "$srcdir"/$_pkgname-$pkgver/gravity.sh
- if [ -s $_ssc ] ; then rm $_ssc ; else echo " ==> Sed error: adlists.default is already there" && return 1 ; fi
+ # setting up and securing webpage.sh script
+ sed -n "/SetWebPassword(){/w $_ssc" "$srcdir"/$_pkgname-$pkgver/advanced/Scripts/webpage.sh
+ if [ -s $_ssc ] ; then rm $_ssc ; else echo " ==> Sed error: setting up and securing webpage.sh script 1" && return 1 ; fi
+ sed -i '/SetWebPassword(){/,+27d' "$srcdir"/$_pkgname-$pkgver/advanced/Scripts/webpage.sh
+
+ sed -n "/SetTemperatureUnit(){/w $_ssc" "$srcdir"/$_pkgname-$pkgver/advanced/Scripts/webpage.sh
+ if [ -s $_ssc ] ; then rm $_ssc ; else echo " ==> Sed error: setting up and securing webpage.sh script 2" && return 1 ; fi
+ sed -i '/SetTemperatureUnit(){/,+4d' "$srcdir"/$_pkgname-$pkgver/advanced/Scripts/webpage.sh
+
+ sed -n "/SetExcludeDomains(){/w $_ssc" "$srcdir"/$_pkgname-$pkgver/advanced/Scripts/webpage.sh
+ if [ -s $_ssc ] ; then rm $_ssc ; else echo " ==> Sed error: setting up and securing webpage.sh script 3" && return 1 ; fi
+ sed -i '/SetExcludeDomains(){/,+4d' "$srcdir"/$_pkgname-$pkgver/advanced/Scripts/webpage.sh
+
+ sed -n "/SetExcludeClients(){/w $_ssc" "$srcdir"/$_pkgname-$pkgver/advanced/Scripts/webpage.sh
+ if [ -s $_ssc ] ; then rm $_ssc ; else echo " ==> Sed error: setting up and securing webpage.sh script 4" && return 1 ; fi
+ sed -i '/SetExcludeClients(){/,+4d' "$srcdir"/$_pkgname-$pkgver/advanced/Scripts/webpage.sh
+
+ sed -n "/EnableDHCP(){/w $_ssc" "$srcdir"/$_pkgname-$pkgver/advanced/Scripts/webpage.sh
+ if [ -s $_ssc ] ; then rm $_ssc ; else echo " ==> Sed error: setting up and securing webpage.sh script 5" && return 1 ; fi
+ sed -i '/EnableDHCP(){/,+16d' "$srcdir"/$_pkgname-$pkgver/advanced/Scripts/webpage.sh
+
+ sed -n "/SetWebUILayout(){/w $_ssc" "$srcdir"/$_pkgname-$pkgver/advanced/Scripts/webpage.sh
+ if [ -s $_ssc ] ; then rm $_ssc ; else echo " ==> Sed error: setting up and securing webpage.sh script 6" && return 1 ; fi
+ sed -i '/SetWebUILayout(){/,+4d' "$srcdir"/$_pkgname-$pkgver/advanced/Scripts/webpage.sh
+
+ sed -n "/SetPrivacyMode(){/w $_ssc" "$srcdir"/$_pkgname-$pkgver/advanced/Scripts/webpage.sh
+ if [ -s $_ssc ] ; then rm $_ssc ; else echo " ==> Sed error: setting up and securing webpage.sh script 7" && return 1 ; fi
+ sed -i '/SetPrivacyMode(){/,+8d' "$srcdir"/$_pkgname-$pkgver/advanced/Scripts/webpage.sh
+
+ sed -n "/\"\-[p,c,f,k]/w $_ssc" "$srcdir"/$_pkgname-$pkgver/advanced/Scripts/webpage.sh
+ if [ -s $_ssc ] ; then rm $_ssc ; else echo " ==> Sed error: setting up and securing webpage.sh script 8" && return 1 ; fi
+ sed -i '/\"\-[p,c,f,k]/d' "$srcdir"/$_pkgname-$pkgver/advanced/Scripts/webpage.sh
+
+ sed -n "/\"setexcludedomains/w $_ssc" "$srcdir"/$_pkgname-$pkgver/advanced/Scripts/webpage.sh
+ if [ -s $_ssc ] ; then rm $_ssc ; else echo " ==> Sed error: setting up and securing webpage.sh script 9" && return 1 ; fi
+ sed -i '/\"setexcludedomains/d' "$srcdir"/$_pkgname-$pkgver/advanced/Scripts/webpage.sh
+ sed -n "/\"setexcludeclients/w $_ssc" "$srcdir"/$_pkgname-$pkgver/advanced/Scripts/webpage.sh
+ if [ -s $_ssc ] ; then rm $_ssc ; else echo " ==> Sed error: setting up and securing webpage.sh script 10" && return 1 ; fi
+ sed -i '/\"setexcludeclients/d' "$srcdir"/$_pkgname-$pkgver/advanced/Scripts/webpage.sh
+ sed -n "/\"enabledhcp/w $_ssc" "$srcdir"/$_pkgname-$pkgver/advanced/Scripts/webpage.sh
+ if [ -s $_ssc ] ; then rm $_ssc ; else echo " ==> Sed error: setting up and securing webpage.sh script 11" && return 1 ; fi
+ sed -i '/\"enabledhcp/d' "$srcdir"/$_pkgname-$pkgver/advanced/Scripts/webpage.sh
+ sed -n "/\"disabledhcp/w $_ssc" "$srcdir"/$_pkgname-$pkgver/advanced/Scripts/webpage.sh
+ if [ -s $_ssc ] ; then rm $_ssc ; else echo " ==> Sed error: setting up and securing webpage.sh script 12" && return 1 ; fi
+ sed -i '/\"disabledhcp/d' "$srcdir"/$_pkgname-$pkgver/advanced/Scripts/webpage.sh
+ sed -n "/\"layout/w $_ssc" "$srcdir"/$_pkgname-$pkgver/advanced/Scripts/webpage.sh
+ if [ -s $_ssc ] ; then rm $_ssc ; else echo " ==> Sed error: setting up and securing webpage.sh script 13" && return 1 ; fi
+ sed -i '/\"layout/d' "$srcdir"/$_pkgname-$pkgver/advanced/Scripts/webpage.sh
+ sed -n "/\"privacymode/w $_ssc" "$srcdir"/$_pkgname-$pkgver/advanced/Scripts/webpage.sh
+ if [ -s $_ssc ] ; then rm $_ssc ; else echo " ==> Sed error: setting up and securing webpage.sh script 14" && return 1 ; fi
+ sed -i '/\"privacymode/d' "$srcdir"/$_pkgname-$pkgver/advanced/Scripts/webpage.sh
# -----------------
@@ -93,6 +141,13 @@ prepare() {
sed -n "/#ensure \/etc\/dnsmasq\.d\//w $_ssc" "$srcdir"/$_pkgname-$pkgver/gravity.sh
if [ -s $_ssc ] ; then rm $_ssc ; else echo " ==> Sed error: arch useless" && return 1 ; fi
sed -i '/#ensure \/etc\/dnsmasq\.d\//,+5d' "$srcdir"/$_pkgname-$pkgver/gravity.sh
+
+# -----------------
+
+ # webpage.sh: line 139: ProcessDnsmasqSettings: command not found
+ sed -i "s|ProcessDnsmasqSettings|ProcessDNSSettings|w $_ssc" "$srcdir"/$_pkgname-$pkgver/advanced/Scripts/webpage.sh
+ if [ -s $_ssc ] ; then rm $_ssc ; else echo " ==> Sed error: webpage.sh: line 139: ProcessDnsmasqSettings: command not found" && return 1 ; fi
+
}
package() {
@@ -102,6 +157,7 @@ package() {
install -dm755 "$pkgdir"/opt/pihole
install -Dm755 ./$_pkgname-$pkgver/gravity.sh "$pkgdir"/opt/pihole/gravity.sh || return 1
install -Dm755 ./$_pkgname-$pkgver/advanced/Scripts/list.sh "$pkgdir"/opt/pihole/list.sh || return 1
+ install -Dm755 ./$_pkgname-$pkgver/advanced/Scripts/webpage.sh "$pkgdir"/opt/pihole/webpage.sh || return 1
install -Dm755 mimic_setupVars.conf.sh "$pkgdir"/opt/pihole/mimic_setupVars.conf.sh || return 1
@@ -116,7 +172,7 @@ package() {
install -Dm644 whitelist.txt "$pkgdir"/etc/pihole/whitelist.txt || return 1
install -Dm644 blacklist.txt "$pkgdir"/etc/pihole/blacklist.txt || return 1
install -Dm644 dnsmasq.main "$pkgdir"/etc/pihole/configs/dnsmasq.main || return 1
- install -Dm644 dnsmasq.include "$pkgdir"/etc/pihole/configs/dnsmasq.include || return 1
+ install -Dm644 dnsmasq.include "$pkgdir"/etc/dnsmasq.d/01-pihole.conf || return 1
install -Dm644 configuration "$pkgdir"/usr/share/doc/pihole/configuration || return 1
}
diff --git a/configuration b/configuration
index 29c72e0bc146..0ef56a17292d 100644
--- a/configuration
+++ b/configuration
@@ -16,12 +16,7 @@ A) First install steps
*** if you already use dnsmasq and it's functional
- 2) copy pi-hole include config lines in right place
-
- # mkdir /etc/dnsmasq.d
- # cp /etc/pihole/configs/dnsmasq.include /etc/dnsmasq.d/01-pihole.conf
-
- 3) edit your /etc/dnsmasq.conf to uncomment last line (including new pi-hole config lines)
+ 2) edit your /etc/dnsmasq.conf to uncomment last line (including new pi-hole config lines)
# sed -i 's|#conf-dir=/etc/dnsmasq.d/,\*.conf|conf-dir=/etc/dnsmasq.d/,\*.conf|' /etc/dnsmasq.conf
@@ -29,17 +24,15 @@ A) First install steps
*** if you installed dnsmasq with this package for the first time
- 4) backup original dnsmasq config file and copy pi-hole one
+ 3) backup original dnsmasq config file and copy pi-hole one
# cp /etc/dnsmasq.conf /etc/dnsmasq.orig
# cp /etc/pihole/configs/dnsmasq.main /etc/dnsmasq.conf
- # mkdir /etc/dnsmasq.d
- # cp /etc/pihole/configs/dnsmasq.include /etc/dnsmasq.d/01-pihole.conf
*** end if
- 5) enable and start dnsmasq service
+ 4) enable and start dnsmasq service
# systemctl reenable dnsmasq.service
# systemctl restart dnsmasq.service
@@ -51,7 +44,6 @@ B) Upgrade steps
1) update dnsmasq conf file
- # [ -f /etc/dnsmasq.d/pihole.conf ] && cp /etc/pihole/configs/dnsmasq.include /etc/dnsmasq.d/pihole.conf
# [ -f /etc/dnsmasq.orig ] && cp /etc/pihole/configs/dnsmasq.complete /etc/dnsmasq.conf
2) manage and restart dnsmasq service
@@ -68,6 +60,5 @@ C) Uninstall steps
# systemctl disable dnsmasq.service
# sed -i 's|name_servers=127.0.0.1|#name_servers=127.0.0.1|' /etc/resolvconf.conf
# resolvconf -u
- # [ -f /etc/dnsmasq.d/pihole.conf ] && rm /etc/dnsmasq.d/pihole.conf
# [ -f /etc/dnsmasq.orig ] && cp /etc/dnsmasq.orig /etc/dnsmasq.conf
diff --git a/dnsmasq.include b/dnsmasq.include
index e37487f7cb79..8dc7584136f3 100644
--- a/dnsmasq.include
+++ b/dnsmasq.include
@@ -1,3 +1,29 @@
+# Pi-hole: A black hole for Internet advertisements
+# (c) 2015, 2016 by Jacob Salmela
+# Network-wide ad blocking via your Raspberry Pi
+# http://pi-hole.net
+# dnsmasq config for Pi-hole
+#
+# Pi-hole is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+
+###############################################################################
+# FILE AUTOMATICALLY POPULATED BY PI-HOLE INSTALL/UPDATE PROCEDURE. #
+# ANY CHANGES MADE TO THIS FILE AFTER INSTALL WILL BE LOST ON THE NEXT UPDATE #
+# #
+# IF YOU WISH TO CHANGE THE UPSTREAM SERVERS, CHANGE THEM IN: #
+# /etc/pihole/setupVars.conf #
+# #
+# ANY OTHER CHANGES SHOULD BE MADE IN A SEPERATE CONFIG FILE #
+# OR IN /etc/dnsmasq.conf #
+###############################################################################
+
addn-hosts=/etc/pihole/gravity.list
+addn-hosts=/etc/pihole/local.list
+domain-needed
+bogus-priv
+no-resolv
cache-size=10000
diff --git a/dnsmasq.main b/dnsmasq.main
index 309079e794b9..709b4c5ba245 100644
--- a/dnsmasq.main
+++ b/dnsmasq.main
@@ -1,24 +1,3 @@
-# The following two options make you a better netizen, since they
-# tell dnsmasq to filter out queries which the public DNS cannot
-# answer, and which load the servers (especially the root servers)
-# unnecessarily. If you have a dial-on-demand link they also stop
-# these requests from bringing up the link unnecessarily.
-
-# Never forward plain names (without a dot or domain part)
-domain-needed
-# Never forward addresses in the non-routed address spaces.
-bogus-priv
-
-# If you don't want dnsmasq to read /etc/resolv.conf or any other
-# file, getting its servers from this file instead (see below), then
-# uncomment this.
-no-resolv
-
-# Add other name servers here, with domain specs if they are for
-# non-public domains.
-server=8.8.8.8
-server=8.8.4.4
-
# If you want dnsmasq to listen for DHCP and DNS requests only on
# specified interfaces (and the loopback) give the name of the
# interface (eg eth0) here.
@@ -27,13 +6,6 @@ server=8.8.4.4
# you use this.)
listen-address=127.0.0.1
-# Normally responses which come from /etc/hosts and the DHCP lease
-# file have Time-To-Live set as zero, which conventionally means
-# do not cache further. If you are happy to trade lower load on the
-# server for potentially stale date, you can set a time-to-live (in
-# seconds) here.
-local-ttl=300
-
# Include all files in a directory which end in .conf
conf-dir=/etc/dnsmasq.d/,*.conf
diff --git a/mimic_setupVars.conf.sh b/mimic_setupVars.conf.sh
index 4e1b27b07719..e9a4868f5a92 100644
--- a/mimic_setupVars.conf.sh
+++ b/mimic_setupVars.conf.sh
@@ -2,13 +2,6 @@
setupVars=/etc/pihole/setupVars.conf
-getDNSs()
-{
- dnsmasqdns=(`grep server= /etc/pihole/configs/dnsmasq.main | awk -F "=" '{print $2}'`)
- piholeDNS1=${dnsmasqdns[0]}
- piholeDNS2=${dnsmasqdns[1]}
-}
-
# official pihole basic-install.sh code here
getIPv4stuff()
{
@@ -33,15 +26,12 @@ finalExports() {
rm ${setupVars}
fi
{
- echo "piholeInterface=${IPv4dev}"
- echo "IPv4_address=${IPv4_address}"
- echo "IPv6_address=${IPv6_address}"
- echo "piholeDNS1=${piholeDNS1}"
- echo "piholeDNS2=${piholeDNS2}"
+ echo "PIHOLE_INTERFACE=${IPv4dev}"
+ echo "IPV4_ADDRESS=${IPv4_address}"
+ echo "IPV6_ADDRESS=${IPv6_address}"
}>> "${setupVars}"
}
-getDNSs
getIPv4stuff
getIPv6stuff
finalExports
diff --git a/pi-hole-standalone.install b/pi-hole-standalone.install
index da4099a566e0..b714cdce4275 100644
--- a/pi-hole-standalone.install
+++ b/pi-hole-standalone.install
@@ -1,22 +1,26 @@
post_install() {
echo -e "\e[1;33m==>\e[0m Please read configuration instructions at /usr/share/doc/pihole/configuration"
- echo -e "\e[1;33m==>\e[0m \e[1;31mVer. 2.9.5-2\e[0m: dnsmasq conf file is changed"
- echo -e "\e[1;33m==>\e[0m \e[1;31mAttention\e[0m: dnsmasq config files used are now two and both mandatory."
- echo -e "\e[1;33m==>\e[0m Pay attention to the name of the destination dnsmasq include config file"
+ echo -e "\e[1;33m==>\e[0m \e[1;31mVer. 2.11-1\e[0m: dnsmasq conf files are changed"
+ echo -e "\e[1;33m==>\e[0m Pay attention: this package now manage all dnsmasq.d include files"
echo -e "\e[1;33m==>\e[0m Please follow configuration upgrade steps"
echo -e "\e[1;33m==>\e[0m Neutrino emissions detected..."
[ -e /proc/net/if_inet6 ] && touch /etc/pihole/.useIPv6 #this will be obsoleted soon
+ touch /etc/dnsmasq.d/02-pihole-dhcp.conf
/opt/pihole/mimic_setupVars.conf.sh
/usr/bin/pihole updateGravity > /dev/null
+ /usr/bin/pihole -a setdns 8.8.8.8 8.8.4.4 > /dev/null
systemctl daemon-reload > /dev/null
systemctl is-active pi-hole-gravity.timer 2>&1 >/dev/null || systemctl start pi-hole-gravity.timer
}
post_upgrade() {
+ [ -e /etc/pihole/hosts ] && rm /etc/pihole/hosts
[ -e /etc/pihole/.useIPv6 ] && rm /etc/pihole/.useIPv6
post_install $1
}
post_remove() {
rm -R /etc/pihole/
+ [ -e /run/log/pihole.log ] && rm /run/log/pihole.log
+ [ -e /etc/dnsmasq.d/02-pihole-dhcp.conf ] && rm /etc/dnsmasq.d/02-pihole-dhcp.conf
}