pihole -q <domain> is partial matching (as before), pihole -q <domain> -exact is exact matching (new behavior)

This commit is contained in:
DL6ER 2016-12-06 13:18:01 +01:00
parent 294df8690c
commit c0886cb5c6

15
pihole
View file

@ -68,19 +68,27 @@ setupLCDFunction() {
} }
scanList(){ scanList(){
grep -E "(^|\s)${domain}($|\s)" "$1" domain="${1}"
list="${2}"
method="${3}"
if [[ ${method} == "-exact" ]] ; then
grep -E "(^|\s)${domain}($|\s)" "${list}"
else
grep "${domain}" "${list}"
fi
} }
queryFunc() { queryFunc() {
domain="${2}" domain="${2}"
method="${3}"
lists=( /etc/pihole/list.* /etc/pihole/blacklist.txt) lists=( /etc/pihole/list.* /etc/pihole/blacklist.txt)
for list in ${lists[@]}; do for list in ${lists[@]}; do
result=$(scanList $list) result=$(scanList ${domain} ${list} ${method})
# Remove empty lines before couting number of results # Remove empty lines before couting number of results
count=$(sed '/^\s*$/d' <<< "$result" | wc -l) count=$(sed '/^\s*$/d' <<< "$result" | wc -l)
echo "::: ${list} (${count} results)" echo "::: ${list} (${count} results)"
if [[ ${count} > 0 ]]; then if [[ ${count} > 0 ]]; then
echo $result echo "${result}"
fi fi
echo "" echo ""
done done
@ -224,6 +232,7 @@ helpFunc() {
::: -h, help Show this help dialog ::: -h, help Show this help dialog
::: -v, version Show current versions ::: -v, version Show current versions
::: -q, query Query the adlists for a specific domain ::: -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') ::: -l, logging Enable or Disable logging (pass 'on' or 'off')
::: -a, admin Admin webpage options ::: -a, admin Admin webpage options
::: uninstall Uninstall Pi-Hole from your system :(! ::: uninstall Uninstall Pi-Hole from your system :(!