Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/pi-hole/pi-hole.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDL6ER <dl6er@dl6er.de>2019-10-03 13:01:27 +0300
committerDL6ER <dl6er@dl6er.de>2019-10-03 13:01:27 +0300
commit756c99653e6e20afc48b4728941b4f2173c21c4b (patch)
tree6ec93e0001f226da3db2979577f85819de805f3d /advanced
parenta27c7b13985eed530a1fdf57f3cb5ef91c815aa2 (diff)
parent3269c63f89df85876fc63319e75437fd982ed7c9 (diff)
Merge branch 'development' into new/internal-blocking
Diffstat (limited to 'advanced')
-rw-r--r--advanced/Scripts/database_migration/gravity-db.sh2
-rw-r--r--[-rwxr-xr-x]advanced/Scripts/query.sh28
-rwxr-xr-xadvanced/Scripts/webpage.sh8
-rw-r--r--advanced/Templates/gravity.db.sql7
4 files changed, 26 insertions, 19 deletions
diff --git a/advanced/Scripts/database_migration/gravity-db.sh b/advanced/Scripts/database_migration/gravity-db.sh
index 40fa9655..7eba43c0 100644
--- a/advanced/Scripts/database_migration/gravity-db.sh
+++ b/advanced/Scripts/database_migration/gravity-db.sh
@@ -22,6 +22,7 @@ upgrade_gravityDB(){
if [[ "$version" == "1" ]]; then
# This migration script upgrades the gravity.db file by
# adding the domain_audit table
+ echo -e " ${INFO} Upgrading gravity database from version 1 to 2"
sqlite3 "${database}" < "/etc/.pihole/advanced/Scripts/database_migration/gravity/1_to_2.sql"
version=2
@@ -36,6 +37,7 @@ upgrade_gravityDB(){
# This migration script upgrades the gravity.db file by
# renaming the regex table to regex_blacklist, and
# creating a new regex_whitelist table + corresponding linking table and views
+ echo -e " ${INFO} Upgrading gravity database from version 2 to 3"
sqlite3 "${database}" < "/etc/.pihole/advanced/Scripts/database_migration/gravity/2_to_3.sql"
version=3
fi
diff --git a/advanced/Scripts/query.sh b/advanced/Scripts/query.sh
index f40adfbf..1e1b159c 100755..100644
--- a/advanced/Scripts/query.sh
+++ b/advanced/Scripts/query.sh
@@ -183,6 +183,20 @@ lists=("$(cd "$piholeDir" || exit 0; printf "%s\\n" -- *.domains | sort -V)")
# Query blocklists for occurences of domain
mapfile -t results <<< "$(scanList "${domainQuery}" "${lists[*]}" "${exact}")"
+# Remove unwanted content from $results
+# Each line in $results is formatted as such: [fileName]:[line]
+# 1. Delete lines starting with #
+# 2. Remove comments after domain
+# 3. Remove hosts format IP address
+# 4. Remove any lines that no longer contain the queried domain name (in case the matched domain name was in a comment)
+esc_domain="${domainQuery//./\\.}"
+mapfile -t results <<< "$(IFS=$'\n'; sed \
+ -e "/:#/d" \
+ -e "s/[ \\t]#.*//g" \
+ -e "s/:.*[ \\t]/:/g" \
+ -e "/${esc_domain}/!d" \
+ <<< "${results[*]}")"
+
# Handle notices
if [[ -z "${wbMatch:-}" ]] && [[ -z "${wcMatch:-}" ]] && [[ -z "${results[*]}" ]]; then
echo -e " ${INFO} No ${exact/t/t }results found for ${COL_BOLD}${domainQuery}${COL_NC} within the block lists"
@@ -196,20 +210,6 @@ elif [[ -z "${all}" ]] && [[ "${#results[*]}" -ge 100 ]]; then
exit 0
fi
-# Remove unwanted content from non-exact $results
-if [[ -z "${exact}" ]]; then
- # Delete lines starting with #
- # Remove comments after domain
- # Remove hosts format IP address
- mapfile -t results <<< "$(IFS=$'\n'; sed \
- -e "/:#/d" \
- -e "s/[ \\t]#.*//g" \
- -e "s/:.*[ \\t]/:/g" \
- <<< "${results[*]}")"
- # Exit if result was in a comment
- [[ -z "${results[*]}" ]] && exit 0
-fi
-
# Get adlist file content as array
if [[ -n "${adlist}" ]] || [[ -n "${blockpage}" ]]; then
# Retrieve source URLs from gravity database
diff --git a/advanced/Scripts/webpage.sh b/advanced/Scripts/webpage.sh
index 39299960..411cc1f6 100755
--- a/advanced/Scripts/webpage.sh
+++ b/advanced/Scripts/webpage.sh
@@ -16,6 +16,7 @@ readonly dhcpconfig="/etc/dnsmasq.d/02-pihole-dhcp.conf"
readonly FTLconf="/etc/pihole/pihole-FTL.conf"
# 03 -> wildcards
readonly dhcpstaticconfig="/etc/dnsmasq.d/04-pihole-static-dhcp.conf"
+readonly PI_HOLE_BIN_DIR="/usr/local/bin"
readonly gravityDBfile="/etc/pihole/gravity.db"
@@ -212,6 +213,11 @@ trust-anchor=.,20326,8,2,E06D44B80B8F1D39A95C0B0D7C65D08458E880409BBC68345710423
add_dnsmasq_setting "server=/${CONDITIONAL_FORWARDING_DOMAIN}/${CONDITIONAL_FORWARDING_IP}"
add_dnsmasq_setting "server=/${CONDITIONAL_FORWARDING_REVERSE}/${CONDITIONAL_FORWARDING_IP}"
fi
+
+ # Prevent Firefox from automatically switching over to DNS-over-HTTPS
+ # This follows https://support.mozilla.org/en-US/kb/configuring-networks-disable-dns-over-https
+ # (sourced 7th September 2019)
+ add_dnsmasq_setting "server=/use-application-dns.net/"
}
SetDNSServers() {
@@ -276,7 +282,7 @@ Reboot() {
}
RestartDNS() {
- /usr/local/bin/pihole restartdns
+ "${PI_HOLE_BIN_DIR}"/pihole restartdns
}
SetQueryLogOptions() {
diff --git a/advanced/Templates/gravity.db.sql b/advanced/Templates/gravity.db.sql
index 09d581f0..d0c744f4 100644
--- a/advanced/Templates/gravity.db.sql
+++ b/advanced/Templates/gravity.db.sql
@@ -89,10 +89,6 @@ CREATE TABLE info
INSERT INTO info VALUES("version","1");
-CREATE VIEW vw_gravity AS SELECT domain
- FROM gravity
- WHERE domain NOT IN (SELECT domain from vw_whitelist);
-
CREATE VIEW vw_whitelist AS SELECT DISTINCT domain
FROM whitelist
LEFT JOIN whitelist_by_group ON whitelist_by_group.whitelist_id = whitelist.id
@@ -141,3 +137,6 @@ CREATE TRIGGER tr_adlist_update AFTER UPDATE ON adlist
UPDATE adlist SET date_modified = (cast(strftime('%s', 'now') as int)) WHERE address = NEW.address;
END;
+CREATE VIEW vw_gravity AS SELECT domain
+ FROM gravity
+ WHERE domain NOT IN (SELECT domain from vw_whitelist);