From cc62d984d28410430c6aec60cc271acb53cd4aba Mon Sep 17 00:00:00 2001 From: Adam Warner Date: Fri, 15 Jan 2016 14:49:16 +0000 Subject: [PATCH] Changed whitelist function to outsource to whitelist.sh --- gravity.sh | 59 ++++++++++++++++++++++++------------------------------ 1 file changed, 26 insertions(+), 33 deletions(-) diff --git a/gravity.sh b/gravity.sh index fbecb3ad..28a2c61a 100755 --- a/gravity.sh +++ b/gravity.sh @@ -48,12 +48,11 @@ blacklist=$piholeDir/blacklist.txt whitelist=$piholeDir/whitelist.txt latentWhitelist=$piholeDir/latentWhitelist.txt justDomainsExtension=domains -matter=$basename.0.matter.txt -andLight=$basename.1.andLight.txt -supernova=$basename.2.supernova.txt -eventHorizon=$basename.3.eventHorizon.txt -accretionDisc=$basename.4.accretionDisc.txt -eyeOfTheNeedle=$basename.5.wormhole.txt +matterandlight=$basename.0.matterandlight.txt +supernova=$basename.1.supernova.txt +eventHorizon=$basename.2.eventHorizon.txt +accretionDisc=$basename.3.accretionDisc.txt +eyeOfTheNeedle=$basename.4.wormhole.txt # After setting defaults, check if there's local overrides if [[ -r $piholeDir/pihole.conf ]];then @@ -160,48 +159,39 @@ function gravity_Schwarzchild() { # Find all active domains and compile them into one file and remove CRs echo "** Aggregating list of domains..." - truncate -s 0 $piholeDir/$matter + truncate -s 0 $piholeDir/$matterandlight for i in "${activeDomains[@]}" do - cat $i |tr -d '\r' >> $piholeDir/$matter + cat $i |tr -d '\r' >> $piholeDir/$matterandlight done } -# Pulsar - White/blacklist application -function gravity_pulsar() { +function gravity_Blacklist(){ # Append blacklist entries if they exist if [[ -r $blacklist ]];then numberOf=$(cat $blacklist | sed '/^\s*$/d' | wc -l) echo "** Blacklisting $numberOf domain(s)..." - cat $blacklist >> $piholeDir/$matter + cat $blacklist >> $piholeDir/$matterandlight fi +} - # Whitelist (if applicable) domains - if [[ -r $whitelist ]];then - # Remove whitelist entries - numberOf=$(cat $whitelist | sed '/^\s*$/d' | wc -l) - plural=; [[ "$numberOf" != "1" ]] && plural=s - echo "** Whitelisting $numberOf domain${plural}..." - - # Append a "$" to the end, prepend a "^" to the beginning, and - # replace "." with "\." of each line to turn each entry into a - # regexp so it can be parsed out with grep -x - awk -F '[# \t]' 'NF>0&&$1!="" {print "^"$1"$"}' $whitelist | sed 's/\./\\./g' > $latentWhitelist - else - rm $latentWhitelist 2>/dev/null - fi +function gravity_Whitelist() { # Prevent our sources from being pulled into the hole - plural=; [[ "${#sources[@]}" != "1" ]] && plural=s - echo "** Whitelisting ${#sources[@]} ad list source${plural}..." + plural=; [[ "${sources[@]}" != "1" ]] && plural=s + echo "** Whitelisting ${sources[@]} ad list source${plural}..." + + urls=() for url in ${sources[@]} do - echo "$url" | awk -F '/' '{print "^"$3"$"}' | sed 's/\./\\./g' >> $latentWhitelist + tmp=$(echo "$url" | awk -F '/' '{print $3}' | sed 's/\./\\./g') + urls=("${urls[@]}" $tmp) done + + whitelist.sh -f -dr ${urls[@]} - # Remove whitelist entries from list - grep -vxf $latentWhitelist $piholeDir/$matter > $piholeDir/$andLight + } function gravity_unique() { @@ -240,12 +230,13 @@ function gravity_blackbody() { } function gravity_advanced() { + + # Remove comments and print only the domain name # Most of the lists downloaded are already in hosts file format but the spacing/formating is not contigious # 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 - awk '($1 !~ /^#/) { if (NF>1) {print $2} else {print $1}}' $piholeDir/$andLight | \ - sed -nr -e 's/\.{2,}/./g' -e '/\./p' > $piholeDir/$supernova + awk '($1 !~ /^#/) { if (NF>1) {print $2} else {print $1}}' $piholeDir/$matterandlight | sed -nr -e 's/\.{2,}/./g' -e '/\./p' > $piholeDir/$supernova numberOf=$(wc -l < $piholeDir/$supernova) echo "** $numberOf domains being pulled in by gravity..." @@ -268,11 +259,13 @@ function gravity_reload() { fi } + gravity_collapse gravity_spinup gravity_Schwarzchild -gravity_pulsar gravity_advanced gravity_hostFormat gravity_blackbody +gravity_Whitelist +gravity_Blacklist gravity_reload