From a1e609d0059b1db0212494621cad0f824bb52315 Mon Sep 17 00:00:00 2001 From: Dan Schaper Date: Mon, 23 Nov 2015 01:16:00 -0800 Subject: [PATCH] Ugly hack permissions Temporary hack for /etc/pihole directory and file permissions to pull out sudo requirement. (Irony is that is requires sudo.) This will be fixed later, but for now it's needed for existing installs so they don't break. --- gravity.sh | 58 +++++++++++++++++++++++++++--------------------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/gravity.sh b/gravity.sh index eb4c150..f3b8f82 100755 --- a/gravity.sh +++ b/gravity.sh @@ -57,10 +57,10 @@ else fi ########################### -function gravity_patterncheck() { - +# patternCheck - check to see if curl downloaded any new files, and then process those +# files so they are in host format. +function gravity_patternCheck() { patternBuffer=$1 - # check if the patternbuffer is a non-zero length file if [[ -s "$patternBuffer" ]];then # Remove comments and print only the domain name @@ -76,6 +76,32 @@ function gravity_patterncheck() { fi } + # Use a case statement to download lists that need special cURL commands + # to complete properly and reset the user agent when required + case "$domain" in + "adblock.mahakala.is") + agent='Mozilla/5.0 (X11; Linux x86_64; rv:30.0) Gecko/20100101 Firefox/30.0' + cmd_ext="-e http://forum.xda-developers.com/" + ;; + + "pgl.yoyo.org") + cmd_ext="-d mimetype=plaintext -d hostformat=hosts" + ;; + + # Default is a simple request + *) cmd_ext="" + esac + gravity_transport $url $cmd_ext $agent +done + # Compress files to singularity and white/blacklist + gravity_Schwarzchild +} + +function gravity_advanced() { + + numberOf=$(wc -l < $piholeDir/$andLight) + echo "** $numberOf domains being pulled in by gravity..." + # Remove carriage returns and preceding whitespace # not really needed anymore? cp $piholeDir/$andLight $piholeDir/$supernova @@ -95,30 +121,4 @@ function gravity_patterncheck() { gravity_spinup -# Whitelist (if applicable) then remove duplicates and format for dnsmasq -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 -fi - -# Prevent our sources from being pulled into the hole -plural=; [[ "${#sources[@]}" != "1" ]] && plural=s -echo "** Whitelisting ${#sources[@]} ad list source${plural}..." -for url in ${sources[@]} -do - echo "$url" | awk -F '/' '{print "^"$3"$"}' | sed 's/\./\\./g' >> $latentWhitelist -done - -# Remove whitelist entries from deduped list -grep -vxf $latentWhitelist $piholeDir/$matter > $piholeDir/$andLight - gravity_advanced