diff options
author | max.bra | 2017-01-03 17:32:16 +0100 |
---|---|---|
committer | max.bra | 2017-01-03 17:32:16 +0100 |
commit | 5ac4fa93a8282e00f5a5060502a8cbe5c3cdc9d2 (patch) | |
tree | cd3ae75fa12506da107147faa4ebe3d8c7615f9a | |
parent | 5b749ae6f2dc846444ccce89cd8cfe434e315601 (diff) | |
download | aur-5ac4fa93a8282e00f5a5060502a8cbe5c3cdc9d2.tar.gz |
v. 2.11
-rw-r--r-- | .SRCINFO | 16 | ||||
-rw-r--r-- | PKGBUILD | 78 | ||||
-rw-r--r-- | configuration | 15 | ||||
-rw-r--r-- | dnsmasq.include | 26 | ||||
-rw-r--r-- | dnsmasq.main | 28 | ||||
-rw-r--r-- | mimic_setupVars.conf.sh | 16 | ||||
-rw-r--r-- | pi-hole-standalone.install | 10 |
7 files changed, 114 insertions, 75 deletions
@@ -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 @@ -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 } |