From cc2030968d25babf4b49f36e9a24668ffd256e2b Mon Sep 17 00:00:00 2001 From: yubiuser Date: Wed, 17 Feb 2021 22:55:27 +0100 Subject: [PATCH 1/4] Don't count new status types as blocked queries Signed-off-by: yubiuser --- scripts/pi-hole/js/db_queries.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/pi-hole/js/db_queries.js b/scripts/pi-hole/js/db_queries.js index 131c0f42..8923c842 100644 --- a/scripts/pi-hole/js/db_queries.js +++ b/scripts/pi-hole/js/db_queries.js @@ -146,7 +146,7 @@ var reloadCallback = function () { var data = tableApi.rows().data(); for (var i = 0; i < data.length; i++) { statistics[0]++; // TOTAL query - if (data[i][4] === 1 || (data[i][4] > 4 && data[i][4] !== 10)) { + if (data[i][4] === 1 || (data[i][4] > 4 && !([10,12,13,14].includes(data[i][4])))) { statistics[2]++; // EXACT blocked } else if (data[i][4] === 3) { statistics[1]++; // CACHE query From e045ec3d329d48e42b7d5db3e19ccb090c8d6e21 Mon Sep 17 00:00:00 2001 From: yubiuser Date: Thu, 18 Feb 2021 20:24:03 +0100 Subject: [PATCH 2/4] Fix prettier complains Signed-off-by: yubiuser --- scripts/pi-hole/js/db_queries.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/pi-hole/js/db_queries.js b/scripts/pi-hole/js/db_queries.js index 8923c842..2c87dc15 100644 --- a/scripts/pi-hole/js/db_queries.js +++ b/scripts/pi-hole/js/db_queries.js @@ -146,7 +146,7 @@ var reloadCallback = function () { var data = tableApi.rows().data(); for (var i = 0; i < data.length; i++) { statistics[0]++; // TOTAL query - if (data[i][4] === 1 || (data[i][4] > 4 && !([10,12,13,14].includes(data[i][4])))) { + if (data[i][4] === 1 || (data[i][4] > 4 && ![10, 12, 13, 14].includes(data[i][4]))) { statistics[2]++; // EXACT blocked } else if (data[i][4] === 3) { statistics[1]++; // CACHE query From 1acb0b440ad94e027482488c72180a2299636dfd Mon Sep 17 00:00:00 2001 From: yubiuser Date: Fri, 19 Feb 2021 06:54:58 +0100 Subject: [PATCH 3/4] Inlcud new query types in long term graph and top lists Signed-off-by: yubiuser --- api_db.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/api_db.php b/api_db.php index 51d59ba4..38feb736 100644 --- a/api_db.php +++ b/api_db.php @@ -202,7 +202,8 @@ if (isset($_GET['topDomains']) && $auth) { $limit = " AND timestamp <= :until"; } - $stmt = $db->prepare('SELECT domain,count(domain) FROM queries WHERE (STATUS == 2 OR STATUS == 3)'.$limit.' GROUP by domain order by count(domain) desc limit 20'); + // Select top permitted domains only + $stmt = $db->prepare('SELECT domain,count(domain) FROM queries WHERE STATUS IN (2,3,12,13,14)'.$limit.' GROUP by domain order by count(domain) desc limit 20'); $stmt->bindValue(":from", intval($_GET['from']), SQLITE3_INTEGER); $stmt->bindValue(":until", intval($_GET['until']), SQLITE3_INTEGER); $results = $stmt->execute(); @@ -252,7 +253,7 @@ if (isset($_GET['topAds']) && $auth) { $limit = " AND timestamp <= :until"; } - $stmt = $db->prepare('SELECT domain,count(domain) FROM queries WHERE (STATUS == 1 OR STATUS > 3)'.$limit.' GROUP by domain order by count(domain) desc limit 10'); + $stmt = $db->prepare('SELECT domain,count(domain) FROM queries WHERE STATUS IN (1,4,5,6,7,8,9,10,11)'.$limit.' GROUP by domain order by count(domain) desc limit 10'); $stmt->bindValue(":from", intval($_GET['from']), SQLITE3_INTEGER); $stmt->bindValue(":until", intval($_GET['until']), SQLITE3_INTEGER); $results = $stmt->execute(); @@ -384,7 +385,7 @@ if (isset($_GET['getGraphData']) && $auth) $data = array_merge($data, $result); // Count blocked queries in intervals - $stmt = $db->prepare('SELECT (timestamp/:interval)*:interval interval, COUNT(*) FROM queries WHERE (status == 1 OR status > 3)'.$limit.' GROUP by interval ORDER by interval'); + $stmt = $db->prepare('SELECT (timestamp/:interval)*:interval interval, COUNT(*) FROM queries WHERE STATUS IN (1,4,5,6,7,8,9,10,11)'.$limit.' GROUP by interval ORDER by interval'); $stmt->bindValue(":from", $from, SQLITE3_INTEGER); $stmt->bindValue(":until", $until, SQLITE3_INTEGER); $stmt->bindValue(":interval", $interval, SQLITE3_INTEGER); From 6c41ab8c20a5f28ba695f869c31b7a8726c51e9d Mon Sep 17 00:00:00 2001 From: yubiuser Date: Fri, 19 Feb 2021 19:53:02 +0100 Subject: [PATCH 4/4] Status in lowercase Signed-off-by: yubiuser --- api_db.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/api_db.php b/api_db.php index 38feb736..e40ac160 100644 --- a/api_db.php +++ b/api_db.php @@ -203,7 +203,7 @@ if (isset($_GET['topDomains']) && $auth) $limit = " AND timestamp <= :until"; } // Select top permitted domains only - $stmt = $db->prepare('SELECT domain,count(domain) FROM queries WHERE STATUS IN (2,3,12,13,14)'.$limit.' GROUP by domain order by count(domain) desc limit 20'); + $stmt = $db->prepare('SELECT domain,count(domain) FROM queries WHERE status IN (2,3,12,13,14)'.$limit.' GROUP by domain order by count(domain) desc limit 20'); $stmt->bindValue(":from", intval($_GET['from']), SQLITE3_INTEGER); $stmt->bindValue(":until", intval($_GET['until']), SQLITE3_INTEGER); $results = $stmt->execute(); @@ -253,7 +253,7 @@ if (isset($_GET['topAds']) && $auth) { $limit = " AND timestamp <= :until"; } - $stmt = $db->prepare('SELECT domain,count(domain) FROM queries WHERE STATUS IN (1,4,5,6,7,8,9,10,11)'.$limit.' GROUP by domain order by count(domain) desc limit 10'); + $stmt = $db->prepare('SELECT domain,count(domain) FROM queries WHERE status IN (1,4,5,6,7,8,9,10,11)'.$limit.' GROUP by domain order by count(domain) desc limit 10'); $stmt->bindValue(":from", intval($_GET['from']), SQLITE3_INTEGER); $stmt->bindValue(":until", intval($_GET['until']), SQLITE3_INTEGER); $results = $stmt->execute(); @@ -385,7 +385,7 @@ if (isset($_GET['getGraphData']) && $auth) $data = array_merge($data, $result); // Count blocked queries in intervals - $stmt = $db->prepare('SELECT (timestamp/:interval)*:interval interval, COUNT(*) FROM queries WHERE STATUS IN (1,4,5,6,7,8,9,10,11)'.$limit.' GROUP by interval ORDER by interval'); + $stmt = $db->prepare('SELECT (timestamp/:interval)*:interval interval, COUNT(*) FROM queries WHERE status IN (1,4,5,6,7,8,9,10,11)'.$limit.' GROUP by interval ORDER by interval'); $stmt->bindValue(":from", $from, SQLITE3_INTEGER); $stmt->bindValue(":until", $until, SQLITE3_INTEGER); $stmt->bindValue(":interval", $interval, SQLITE3_INTEGER);