Important: Note that black- and whitelisted domains are not automatically applied on this page to avoid restarting the DNS service too often. Instead, go to Update Lists and run the update, to have the new settings become effective.
+
+
+
+
+
+
+
diff --git a/scripts/pi-hole/js/auditlog.js b/scripts/pi-hole/js/auditlog.js
new file mode 100644
index 00000000..db904b91
--- /dev/null
+++ b/scripts/pi-hole/js/auditlog.js
@@ -0,0 +1,116 @@
+/* Pi-hole: A black hole for Internet advertisements
+* (c) 2017 Pi-hole, LLC (https://pi-hole.net)
+* Network-wide ad blocking via your own hardware.
+*
+* This file is copyright under the latest version of the EUPL.
+* Please see LICENSE file for your rights under this license. */
+// Define global variables
+var timeLineChart, queryTypeChart, forwardDestinationChart;
+
+// Credit: http://stackoverflow.com/questions/1787322/htmlspecialchars-equivalent-in-javascript/4835406#4835406
+function escapeHtml(text) {
+ var map = {
+ "&": "&",
+ "<": "<",
+ ">": ">",
+ "\"": """,
+ "\'": "'"
+ };
+
+ return text.replace(/[&<>"']/g, function(m) { return map[m]; });
+}
+
+function updateTopLists() {
+ $.getJSON("api.php?topItems=audit", function(data) {
+
+ if("FTLnotrunning" in data)
+ {
+ return;
+ }
+
+ // Clear tables before filling them with data
+ $("#domain-frequency td").parent().remove();
+ $("#ad-frequency td").parent().remove();
+ var domaintable = $("#domain-frequency").find("tbody:last");
+ var adtable = $("#ad-frequency").find("tbody:last");
+ var url, domain, percentage;
+ for (domain in data.top_queries) {
+ if ({}.hasOwnProperty.call(data.top_queries,domain)){
+ // Sanitize domain
+ domain = escapeHtml(domain);
+ url = ""+domain+"";
+ percentage = data.top_queries[domain] / data.dns_queries_today * 100;
+ domaintable.append("
" + url +
+ "
" + data.top_queries[domain] + "
");
+ }
+ }
+
+ for (domain in data.top_ads) {
+ if ({}.hasOwnProperty.call(data.top_ads,domain)){
+ var input = domain.split(" ");
+ // Sanitize domain
+ var printdomain = escapeHtml(input[0]);
+ if(input.length > 1)
+ {
+ url = ""+printdomain+" (wildcard blocked)";
+ adtable.append("