Commit graph

1366 commits

Author SHA1 Message Date
DL6ER
a8af2e1837
Store domains without sorting and unifying them first. This allows us to preserve the relationship of the individual domains to the lists they came from.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-09-04 23:14:29 +02:00
DL6ER
aed2e35bc0
Print messages only after removing possible matches in comments.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-09-02 22:39:28 +02:00
DL6ER
a7b44426cd
Merge pull request #2838 from pi-hole/new/whitelist-regex-support
Whitelist regex support
2019-09-01 14:23:37 +02:00
Dan Schaper
b9fed8fca6
Merge pull request #2891 from niklasea/development
Restore 'pihole -q' hosts format support and improve matching in edge cases
2019-08-30 20:56:52 -07:00
DL6ER
d8eee47ca4
Add dhcp-ignore-names option when enabling DHCP service. We currently remove anything that starts with "dhcp-" to have a clean configuration and removed these lines without noticing when enabling the DHCP server.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-08-28 22:10:26 -07:00
Niklas Elmose Andersen
a3e32d9a15 Properly escape domain regex
Dots in domain names should not match any character.

Signed-off-by: Niklas Elmose Andersen <mail@niklasea.dk>
2019-08-27 12:13:28 +02:00
Niklas Elmose Andersen
989d1aff60 Restore and improve 'pihole -q' matching
Removes regex lookaround which 'grep -E' does not support.
Restores support for blocklists in hosts format.
Simplifies domain match cleanup logic by eliminating an if-condition.
Improves domain matching by eliminating commented domain names,
eliminating false positives in a few edge cases.

Signed-off-by: Niklas Elmose Andersen <mail@niklasea.dk>
2019-08-26 20:39:56 +02:00
Dan Schaper
03c65dd0e9
Convert hardcoded /usr/local/bin to variable
Update pihole script with full path to 'pihole'

Variable for webpage.sh 'pihole' call.

Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>
2019-08-24 04:49:14 -07:00
DL6ER
6faddfcd3d
Print timestamps in local time zone of the Pi-hole.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-08-23 10:09:52 +02:00
DL6ER
1820c2c598
Merge branch 'development' into new/whitelist-regex-support
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-08-22 14:19:51 +02:00
DL6ER
23b688287f
Fix indentation in query.sh. No functional change in this commit.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-08-22 14:12:58 +02:00
DL6ER
42ccc1ef24
Add support for regex whitelist in "pihole -q".
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-08-22 14:06:42 +02:00
DL6ER
cc40c18f49
Wrap upgrade script commands in a transaction.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-08-22 13:54:46 +02:00
DL6ER
b1838512b2
Explicitly select columns (and their order) when listing the databaes tables. Print timestamps translated to strings instead of printing the integer timestamps.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-08-22 13:39:58 +02:00
DL6ER
e27f50b8e5
Try to obtain PID from PIDFILE. If this fails (file does not exist or is empty), fall back to using pidof + awk
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-08-21 04:38:58 -07:00
DL6ER
484f618685
Use last PID in case pidof returns multiple PIDs for pihole-FTL
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-08-21 04:38:55 -07:00
Jeroen Baert
d3d45a8776
Fix 404 error when browsing to pi.hole (without /admin) (for fedora)
Signed-off-by: Jeroen Baert <3607063+Forceflow@users.noreply.github.com>
2019-08-20 11:29:20 -07:00
Jeroen Baert
9f86fd0cb4
Fix for 404 error when browsing to pi.hole (without /admin)
Signed-off-by: Jeroen Baert <3607063+Forceflow@users.noreply.github.com>
2019-08-20 11:29:17 -07:00
DL6ER
3e78ed95d4
Fix displaying options for table "group" in the debugger.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-08-17 15:04:04 +02:00
snapsl
20a839fef5 fixed local declaration before assignment
Signed-off-by: snapsl <chris.baller@gmx.de>
2019-08-15 11:20:55 +02:00
snapsl
b2d8c4374b tweaked code style of webpage.sh
Signed-off-by: snapsl <chris.baller@gmx.de>
2019-08-14 23:28:13 +02:00
DL6ER
dc93462d42
Group table has only two columns
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-08-06 20:28:00 +02:00
DL6ER
6e2e825a5f
Rename options "pihole --whiteregex" to "pihole --white-regex" for the sake of readability. The same applied for "whitewild" -> "white-wild"
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-08-05 21:10:52 +02:00
DL6ER
af754e3fc4
Rearrange group tables directly next to the tables they refer to.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-08-05 21:08:36 +02:00
DL6ER
06860ed5b4
Group tables have only two columns.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-08-05 21:07:39 +02:00
DL6ER
09190c1735
Only check once for if this is a regex list or not.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-08-05 21:03:47 +02:00
DL6ER
a95b473417
Rearranage if statements to ensure the proper output is shown for wildcard-style filters.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-08-05 20:56:01 +02:00
DL6ER
6f58d58cae
Add --whitewild to help texts and man pages.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-22 22:26:27 +02:00
DL6ER
40d0caa70b
Add undocumented --whitewild option that does the same --wild does for the whitelist.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-22 21:15:28 +02:00
DL6ER
0692be9bae
Fix small mistake in 2->3 upgrade script.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-22 20:59:52 +02:00
DL6ER
0d28dce326
Print group table contents in debug log.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-22 20:18:15 +02:00
DL6ER
96031214c6
Add support for whitelist regex filter management via CLI.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-22 19:36:11 +02:00
Mark Drobnak
ab3f6dfcc6
Merge pull request #2831 from pi-hole/fix/block-page-adlists
Fix block page errors due to gravity DB and changes to queryAds
2019-07-20 14:55:37 -04:00
Mcat12
3ebd43ebf0
Remove outdated adlists.list check and fix empty adlists error message
Signed-off-by: Mcat12 <newtoncat12@yahoo.com>
2019-07-19 17:39:00 -07:00
Mark Drobnak
445127accc
Merge pull request #2832 from pi-hole/new/audit_database
Migrate audit list to gravity.db database table
2019-07-10 22:55:48 -04:00
DL6ER
420f60b5c7
Add timeout to migration script (1->2).
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-10 12:02:07 +02:00
DL6ER
65fdbc85d5
Add timeout to migration script (2->3).
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-10 12:01:38 +02:00
DL6ER
87f75c737a
Review comments.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-10 12:00:38 +02:00
DL6ER
5ff9052200
Review comments
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-09 11:41:44 +02:00
Mcat12
b154dd5f07
Quote calls to read FTL config
Signed-off-by: Mcat12 <newtoncat12@yahoo.com>
2019-07-08 19:48:50 -07:00
DL6ER
0683842ec3
Fix typo in 2->3 migration script.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-08 21:43:49 +02:00
DL6ER
054c7a2c05
Create new table + view regex_whitelist + rename old regex table to regex_blacklist. This updates the gravity.db version to 3.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-08 21:35:31 +02:00
DL6ER
3d3fc2947e
Review comments
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-08 19:22:35 +02:00
Mcat12
e8e5d4afda
Get file locations of FTL files from the config
Instead of hardcoding the location of certain FTL files (`gravity.db`,
`pihole-FTL.log`), read the configured location from FTL's config. The
default location is used if no custom location has been configured.

Signed-off-by: Mcat12 <newtoncat12@yahoo.com>
2019-07-07 18:10:39 -07:00
DL6ER
8382f4d727
Rename table to domain_audit and simplify subroutine addAudit().
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-07 21:21:56 +02:00
DL6ER
be3e198f9a
Address linting errors.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-07 10:46:20 +02:00
DL6ER
acc50b709e
Only migrate files once (domain and adlist lists druing initial creation of gravity.db auditlog.list on database upgrade from version 1 to 2.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-07 10:33:08 +02:00
DL6ER
efe8216445
Fix further stickler complaint.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-06 09:45:07 +02:00
DL6ER
0405aaa3da
Review comments and fixing stickler complaints.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-06 09:32:41 +02:00
Mark Drobnak
6bb213e56f
Merge pull request #2826 from Forceflow/development
Fix for 404 error when browsing to pi.hole (without /admin)
2019-07-05 17:18:50 -04:00
DL6ER
2fb4256f84
Rename table to "auditlist"
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-05 16:28:36 +02:00
DL6ER
82476138c1
Instead of calling sqlite3 multiple times within a loop, we use the ability to add multiple rows within one INSERT clause. This is supported since sqlite3 3.7.11 (2012-03-20) and should be available on all systems.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-05 16:09:13 +02:00
DL6ER
5293beeb77
Update audit script to store domains in new database table.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-05 14:10:33 +02:00
DL6ER
0c8f5f1221
Remove comment field from audit table
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-05 14:06:05 +02:00
DL6ER
4f4a12bb40
Upgrade database if necessary and store audit domains therein.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-05 14:03:57 +02:00
DL6ER
1dbe6c83c3
Add database upgrading mechanism for adding the audit table.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-05 13:54:18 +02:00
Mcat12
2b5033e732
Add missing spaces found by linter
Signed-off-by: Mcat12 <newtoncat12@yahoo.com>
2019-07-04 13:49:39 -07:00
Mcat12
8d9ff550d4
Fix blockpage error if whitelisted, blacklisted, or regex filtered
Signed-off-by: Mcat12 <newtoncat12@yahoo.com>
2019-07-04 13:44:14 -07:00
Mcat12
f1733f9c5d
Fetch adlists for the block page from gravity.db
Signed-off-by: Mcat12 <newtoncat12@yahoo.com>
2019-07-04 13:11:46 -07:00
Mark Drobnak
92c3c86be4
Merge pull request #2769 from pi-hole/new/arp-flush
Add new "pihole arpflush" command
2019-07-04 14:00:16 -04:00
DL6ER
7a1b6fd205
Merge branch 'development' into new/gravity.db_domain_groups 2019-07-03 19:21:55 +02:00
MMotti
04abcb71f6 Fix potential invalid result for pihole -q
Signed-off-by: MMotti <matthew.w.motti@gmail.com>
2019-07-03 13:04:57 +01:00
DL6ER
1fe3507bc5
Adlists table was renamed to Adlist. Adapt further places in the code to match the new name.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-03 07:56:10 +02:00
Jeroen Baert
9fedafed15 Fix 404 error when browsing to pi.hole (without /admin) (for fedora)
Signed-off-by: Jeroen Baert <3607063+Forceflow@users.noreply.github.com>
2019-07-03 04:28:44 +02:00
DL6ER
23b3a9a650
Add DISTINCT to the view\'s SELECT queries to avoid domain duplication in case they are enabled in multiple groups at the same time.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-01 09:44:20 +02:00
Jeroen Baert
7b2ac25a52 Fix for 404 error when browsing to pi.hole (without /admin)
Signed-off-by: Jeroen Baert <3607063+Forceflow@users.noreply.github.com>
2019-07-01 03:42:02 +02:00
DL6ER
f91421418a
Rename adlists -> adlist table.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-06-30 23:21:10 +02:00
DL6ER
3a14e8b013
Check whitelist_by_group.group_id instead of group.enabled against NULL.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-06-30 23:20:13 +02:00
DL6ER
ad97e95f2f
Add required name column in group table.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-06-30 23:06:15 +02:00
DL6ER
5b01facd73
Fix logix on the views: AND ( OR )
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-06-30 20:03:22 +02:00
DL6ER
6fe637b9ee
Rename groups -> group
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-06-30 19:43:18 +02:00
DL6ER
94d83dbb2d
Unify the two group tables into a single "groups" table. This allows managing adlists and domains together.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-06-30 19:33:02 +02:00
Mark Drobnak
c9a843b417
Merge pull request #2823 from pi-hole/fix/lighttpd-mime
Update with v4.3.1 changes
2019-06-30 13:27:55 -04:00
DL6ER
87c115fc86
Change implementation to use linking tables (domain_groups, adlists_groups). This allows adding domains to multiple lists conveniently.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-06-30 19:04:38 +02:00
RamSet
b5af125be6 Removed line
Signed-off-by: RamSet <RamSet@gmail.com>
2019-06-25 15:45:01 -06:00
RamSet
ecc49318f0 Fixed MIME related issue present in lighttpd/1.4.53
Signed-off-by: RamSet <RamSet@gmail.com>
2019-06-25 15:45:01 -06:00
DL6ER
0774c4e5ca
vw_gravity should actually filter using vw_whitelist.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-06-16 18:52:23 +02:00
DL6ER
01850c2128
Automatically recreate standard group after deletion to avoid violating foreign key constraints even if foreign key enforcing is disabled (SQLite's default behavior)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-06-16 17:15:36 +02:00
DL6ER
cbc210b014
Add adlist_groups and mark group_id columns as NOT NULL.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-06-16 17:05:33 +02:00
DL6ER
c53ee4202b
Add filtering by domain groups to gravity database.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-06-16 16:50:51 +02:00
DL6ER
6996ffa451
Also flush network_addresses table
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-06-15 09:15:12 +02:00
DL6ER
4947350ca5
Add arpflush to help and bash autocompletion
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-06-15 09:08:33 +02:00
DL6ER
c1495b0fa8
Merge branch 'development' into new/arp-flush 2019-06-15 09:04:30 +02:00
MMotti
bcf03647ef Add comment and remove blankspace
Signed-off-by: MMotti <matthew.w.motti@gmail.com>
2019-06-12 16:02:59 +01:00
MMotti
a9d0690f4d Change the case of some variables
Just for consistency

Signed-off-by: MMotti <matthew.w.motti@gmail.com>
2019-06-10 18:50:52 +01:00
MMotti
10fbed50f3 Shellcheck
Suggesting to use parameter expansion but we need to be able to identify the start of each line

Signed-off-by: MMotti <matthew.w.motti@gmail.com>
2019-06-10 18:10:25 +01:00
MMotti
785f1fedd9 Tidy regexp queries
Signed-off-by: MMotti <matthew.w.motti@gmail.com>
2019-06-10 17:52:58 +01:00
MMotti
cf21efa103 Minor grammar changes
Signed-off-by: MMotti <matthew.w.motti@gmail.com>
2019-06-05 14:36:43 +01:00
MMotti
7613e94ef6 Minor tweaks
Mainly for consistency

Signed-off-by: MMotti <matthew.w.motti@gmail.com>
2019-06-04 06:06:17 +01:00
MMotti
b49c702f33 Consistency tweak
Signed-off-by: MMotti <matthew.w.motti@gmail.com>
2019-06-04 00:03:37 +01:00
MMotti
09532638d5 Read from DB instead of regex.list
Signed-off-by: MMotti <matthew.w.motti@gmail.com>
2019-06-04 00:00:25 +01:00
MMotti
97df6d7415 Stickler fix
Signed-off-by: MMotti <matthew.w.motti@gmail.com>
2019-06-03 19:56:10 +01:00
MMotti
54bfaa28c1 Fix for regexp queries through pihole -q
Taking inspiration from: https://github.com/pi-hole/pi-hole/pull/2346

We will use awk to iterate through each regexp and print any that match the domain query.

Signed-off-by: MMotti <matthew.w.motti@gmail.com>
2019-06-03 19:32:59 +01:00
Mark Drobnak
afd28fab03
Merge pull request #2767 from pi-hole/fix/multiple_pihole-FTL_PIDs
Improve PID detection in pihole-FTL.service
2019-06-01 01:03:55 -04:00
Mark Drobnak
d92ced6fb6
Merge pull request #2734 from pi-hole/fix/query_black_and_whitelists_database
Query black and whitelists database
2019-06-01 00:55:05 -04:00
DL6ER
ae98fde321
Try to obtain PID from PIDFILE. If this fails (file does not exist or is empty), fall back to using pidof + awk
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-05-31 09:18:12 +02:00
DL6ER
9ddce88092
Review comments
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-05-31 08:42:22 +02:00
DL6ER
44f8fcb600
We can print the table name without any extra check as we already returned early in case there are no results.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-05-31 08:39:18 +02:00
Mark Drobnak
814fdcf9b6
Merge pull request #2768 from pi-hole/fix/dhcp-ignore-names
Add dhcp-ignore-names option when enabling DHCP service
2019-05-30 22:35:52 -04:00
DL6ER
5060605626
Print table name before entering the loop for the sake of simplicity
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-05-30 21:44:59 +02:00