diff --git a/advanced/Scripts/query.sh b/advanced/Scripts/query.sh
index 4fc82744..6d061ba5 100755
--- a/advanced/Scripts/query.sh
+++ b/advanced/Scripts/query.sh
@@ -115,7 +115,9 @@ scanDatabaseTable() {
wbMatch=true
# Print table name
- echo " ${matchType^} found in ${COL_BOLD}${table^}${COL_NC}"
+ if [[ -z "${blockpage}" ]]; then
+ echo " ${matchType^} found in ${COL_BOLD}${table^}${COL_NC}"
+ fi
# Loop over results and print them
mapfile -t results <<< "${result}"
@@ -159,7 +161,7 @@ if [[ "${#regexList[@]}" -ne 0 ]]; then
# shellcheck disable=SC2001
echo "${str_result}" | sed 's/^/ /'
else
- echo "π Regex list"
+ echo "π .wildcard"
exit 0
fi
fi
diff --git a/advanced/index.php b/advanced/index.php
index 78135e1a..62e45091 100644
--- a/advanced/index.php
+++ b/advanced/index.php
@@ -102,20 +102,30 @@ if ($blocklistglob === array()) {
die("[ERROR] There are no domain lists generated lists within /etc/pihole/
! Please update gravity by running pihole -g
, or repair Pi-hole using pihole -r
.");
}
-// Set location of adlists file
-if (is_file("/etc/pihole/adlists.list")) {
- $adLists = "/etc/pihole/adlists.list";
-} elseif (is_file("/etc/pihole/adlists.default")) {
- $adLists = "/etc/pihole/adlists.default";
+// Get possible non-standard location of FTL's database
+$FTLsettings = parse_ini_file("/etc/pihole/pihole-FTL.conf");
+if (isset($FTLsettings["GRAVITYDB"])) {
+ $gravityDBFile = $FTLsettings["GRAVITYDB"];
} else {
- die("[ERROR] File not found: /etc/pihole/adlists.list
");
+ $gravityDBFile = "/etc/pihole/gravity.db";
}
-// Get all URLs starting with "http" or "www" from adlists and re-index array numerically
-$adlistsUrls = array_values(preg_grep("/(^http)|(^www)/i", file($adLists, FILE_IGNORE_NEW_LINES)));
+// Connect to gravity.db
+try {
+ $db = new SQLite3($gravityDBFile, SQLITE3_OPEN_READONLY);
+} catch (Exception $exception) {
+ die("[ERROR]: Failed to connect to gravity.db");
+}
+
+// Get all adlist addresses
+$adlistResults = $db->query("SELECT address FROM vw_adlist");
+$adlistsUrls = array();
+while ($row = $adlistResults->fetchArray()) {
+ array_push($adlistsUrls, $row[0]);
+}
if (empty($adlistsUrls))
- die("[ERROR]: There are no adlist URL's found within $adLists
");
+ die("[ERROR]: There are no adlists enabled");
// Get total number of blocklists (Including Whitelist, Blacklist & Wildcard lists)
$adlistsCount = count($adlistsUrls) + 3;