diff --git a/pihole b/pihole index 55296926..6d5f8c9d 100755 --- a/pihole +++ b/pihole @@ -67,14 +67,28 @@ setupLCDFunction() { exit 0 } +scanList(){ + domain="${1}" + list="${2}" + method="${3}" + if [[ ${method} == "-exact" ]] ; then + grep -E "(^|\s)${domain}($|\s)" "${list}" + else + grep "${domain}" "${list}" + fi +} + queryFunc() { domain="${2}" + method="${3}" lists=( /etc/pihole/list.* /etc/pihole/blacklist.txt) for list in ${lists[@]}; do - count=$(grep -c ${domain} $list) + result=$(scanList ${domain} ${list} ${method}) + # Remove empty lines before couting number of results + count=$(sed '/^\s*$/d' <<< "$result" | wc -l) echo "::: ${list} (${count} results)" if [[ ${count} > 0 ]]; then - grep ${domain} ${list} + echo "${result}" fi echo "" done @@ -225,6 +239,7 @@ helpFunc() { ::: -h, help Show this help dialog ::: -v, version Show current versions ::: -q, query Query the adlists for a specific domain +::: Use pihole -q domain -exact if you want to see exact matches only ::: -l, logging Enable or Disable logging (pass 'on' or 'off') ::: -a, admin Admin webpage options ::: uninstall Uninstall Pi-Hole from your system :(!