From ab929c550966e184f068daffaa501d1e938a3a9a Mon Sep 17 00:00:00 2001 From: CHannema Date: Tue, 18 Aug 2015 00:17:36 +0200 Subject: [PATCH] Moved sed replacement earlier so it's per-file Instead of processing 1.6 milion entries in one go, sed will replace things on a per-hosts-file basis. Placing it here should cover both existing pi-hole installations and fix things if gravity.sh is re-run. --- gravity.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gravity.sh b/gravity.sh index 718e793d..805b8161 100755 --- a/gravity.sh +++ b/gravity.sh @@ -69,6 +69,8 @@ do # This helps with that and makes it easier to read # It also helps with debugging so each stage of the script can be researched more in depth echo "$data" | awk 'NF {if ($1 !~ "#") { if (NF>1) {print $2} else {print $1}}}' > $saveLocation."$justDomainsExtension" + # replace domains that have two dots (..com) with one dot and let duplicate removal sort out any duplicate domains + sed -i -e 's/\.\./\./g' $saveLocation."$justDomainsExtension" else echo "Skipping $domain list because it does not have any new entries..." fi @@ -101,9 +103,6 @@ function gravity_advanced() # Format domain list as "192.168.x.x domain.com" echo "** Formatting domains into a HOSTS file..." cat $origin/$eventHorizon | awk '{sub(/\r$/,""); print "'"$piholeIP"'" $0}' > $origin/$accretionDisc - # remove corrupt lines (like ..com) - echo "** Deleting invalid entries..." - sed -i '/\.\./d' $origin/$accretionDisc # Copy the file over as /etc/pihole/gravity.list so dnsmasq can use it sudo cp $origin/$accretionDisc $adList kill -HUP $(pidof dnsmasq)