Commit graph

1446 commits

Author SHA1 Message Date
Adam Warner
8ecaaba247
Compare daemons to expected results. (#3158) (#3159)
Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>

Co-authored-by: Dan Schaper <dan@glacialmagma.com>
2020-02-24 18:00:19 +00:00
Adam Warner
4a5f344b09
then
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2020-02-19 17:46:45 +00:00
Adam Warner
af95e8c250
force updatchecker.sh run if any of the three components are updated
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2020-02-19 17:41:53 +00:00
Dan Schaper
c5c414a7a2
Stickler Lint - quote to prevent splitting
Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>
2020-02-16 19:24:05 -08:00
DL6ER
d0e29ab7b0 Add human-readable output of time of the last gravity run.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-02-16 17:43:54 -08:00
DL6ER
714a79ffce Migrate debugger to domainlist and add printing of client table.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-02-16 17:43:54 -08:00
DL6ER
cd3ad0bdc7 Show info table instead of counting domains to speed up the debugging process on low-end hardware drastically.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-02-16 17:43:54 -08:00
DL6ER
e528903488
Merge pull request #3107 from pi-hole/new/client_comments
Add timestamps and comment fields to clients table
2020-02-12 19:35:01 +01:00
DL6ER
92aa510bda
Add timestamps and comment fields to clients. This updates the gravity database to version 11.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-01-27 10:36:16 +00:00
DL6ER
6b04997fc3
DROP and reCREATE TRIGGERs during gravity swapping.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-01-27 10:12:05 +00:00
DL6ER
10c2dad48a Improve gravity performance (#3100)
* Gravity performance improvements.

Signed-off-by: DL6ER <dl6er@dl6er.de>

* Do not move downloaded lists into migration_backup directory.

Signed-off-by: DL6ER <dl6er@dl6er.de>

* Do not (strictly) sort domains. Random-leaf access is faster than always-last-leaf access (on average).

Signed-off-by: DL6ER <dl6er@dl6er.de>

* Append instead of overwrite gravity_new collection list.

Signed-off-by: DL6ER <dl6er@dl6er.de>

* Rename table gravity_new to gravity_temp to clarify that this is only an intermediate table.

Signed-off-by: DL6ER <dl6er@dl6er.de>

* Add timers for each of the calls to compute intense parts. They are to be removed before this finally hits the release/v5.0 branch.

Signed-off-by: DL6ER <dl6er@dl6er.de>

* Fix legacy list files import. It currently doesn't work when the gravity database has already been updated to using the single domainlist table.

Signed-off-by: DL6ER <dl6er@dl6er.de>

* Simplify database_table_from_file(), remove all to this function for gravity lost downloads.

Signed-off-by: DL6ER <dl6er@dl6er.de>

* Update gravity.db.sql to version 10 to have newle created databases already reflect the most recent state.

Signed-off-by: DL6ER <dl6er@dl6er.de>

* Create second gravity database and swap them on success. This has a number of advantages such as instantaneous gravity updates (as seen from FTL) and always available gravity blocking. Furthermore, this saves disk space as the old database is removed on completion.

* Add timing output for the database swapping SQLite3 call.

Signed-off-by: DL6ER <dl6er@dl6er.de>

* Explicitly generate index as a separate process.

Signed-off-by: DL6ER <dl6er@dl6er.de>

* Remove time measurements.

Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-01-24 09:39:13 -08:00
Dan Schaper
52e2a2610e
Merge pull request #3089 from pi-hole/tweak/gravity_db_10
Add gravity database 9->10 update script
2020-01-24 09:23:34 -08:00
DL6ER
3f9e79f152
Print human-readable timestamps in the debugger's gravity output
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-01-20 20:13:44 +01:00
DL6ER
633e56e8a9
Add gravity database 9->10 update script.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-01-20 17:59:24 +01:00
DL6ER
276b191845
Remove dead code causing failure from the blocking page.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-01-19 21:39:49 +01:00
DL6ER
bb30c818ab
Update database version during migration.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-12-30 09:21:30 +00:00
Adam Warner
c944f6a320
Add a new migration script to fix the previous one
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2019-12-29 23:32:31 +00:00
Adam Warner
aa4c0ff329
Don't create trigger with duplicate name until after old table is deleted
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2019-12-29 20:35:11 +00:00
DL6ER
37217ece73
Merge pull request #3049 from pi-hole/tweak/unique_group_name
Group table enhancements
2019-12-28 14:19:04 +01:00
DL6ER
cda0133dd1
Revert "Change the regex used for domain validation"
This reverts commit 76460f01e9.

Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-12-21 11:15:18 +00:00
DL6ER
eda7f40fef
Reinstall trigger that prevents group zero from being deleted.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-12-20 00:42:59 +00:00
DL6ER
e589e665a7
Also add date_added and date_modified fields to group table.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-12-20 00:21:25 +00:00
DL6ER
b32b5ad6e9
Update gravity database to version 8. This enforces uniqueness on the group name.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-12-20 00:09:10 +00:00
DL6ER
e2de199f47
Merge pull request #3037 from pi-hole/new/group_zero
Add special group zero to gravity database
2019-12-18 22:36:43 +01:00
DL6ER
a1633123aa
Merge pull request #3035 from pi-hole/fix/query_gravity
pihole -q should also scan gravity table
2019-12-16 01:45:10 +01:00
DL6ER
2444296348
Again, Mr. Stickler
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-12-15 11:55:19 +00:00
DL6ER
4be7ebe61f
Scan domainlist instead of view to also catch disabled domains.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-12-15 11:47:53 +00:00
DL6ER
a720fe1789
Add client trigger.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-12-12 22:49:21 +00:00
DL6ER
0b0ec43bf5
Merge pull request #3036 from pi-hole/fix/reload-lists
Improve list reloading
2019-12-12 21:37:09 +01:00
DL6ER
f0439c8d12
Add special group zero to gravity database.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-12-12 16:39:02 +00:00
DL6ER
40e8657137
Please Mr. Stickler
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-12-12 11:18:46 +00:00
DL6ER
52dd72dfa5
Ensure output is always correct and also display if domain has been found but is disabled
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-12-12 11:08:19 +00:00
DL6ER
922ce7359c
pihole -q should also scan gravity table
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-12-12 10:58:41 +00:00
DL6ER
5457b2c6ea
Merge pull request #2935 from pi-hole/new/internal-blocking
Per-client blocking changes
2019-12-12 09:49:02 +01:00
DL6ER
69a909fc4c
On modification of lists, we should send real-time signal 0 instead of SIGHUP. This also preserves the DNS cache of not-blocked domains.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-12-11 21:47:46 +00:00
Adam Warner
ec09b5843c
Merge branch 'development' into fix/do_not_force_local_resolver 2019-12-11 19:09:02 +00:00
DL6ER
f482156cca
Merge branch 'development' into new/internal-blocking
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-12-09 16:49:16 +00:00
DL6ER
620e1e9c73
Do not force nameserver 127.0.0.1 through resolvconf in pihole-FTL.service
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-12-09 12:23:42 +00:00
DL6ER
8a119d72e2
Ensure database permissions are set up correctly by the service script.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-12-09 12:17:55 +00:00
DL6ER
807a5cfb23
Merge pull request #3015 from pi-hole/tweak/domainlist_table
Unite four domain tables into a single domainlist table.
2019-12-08 16:50:22 +01:00
XhmikosR
54d0b9a1b8 Serve JS files with utf-8 charset too
Signed-off-by: XhmikosR <xhmikosr@gmail.com>
2019-12-07 13:48:25 +02:00
Adam Warner
eaf1244932
:dominik: Detect binary name before calling FTLcheckUpdate in update.sh
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2019-12-04 20:10:46 +00:00
DL6ER
b6cd7b8e3d
Use more descriptive names instead of directly using the IDs in list.sh
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-12-02 17:27:32 +00:00
Adam Warner
869473172c
remove _ from regex descibers
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2019-12-01 12:50:24 +00:00
Adam Warner
63e407cfdc
Update advanced/Scripts/list.sh
Co-Authored-By: DL6ER <DL6ER@users.noreply.github.com>
2019-12-01 12:45:22 +00:00
Adam Warner
0251117c77
Update advanced/Scripts/list.sh
Co-Authored-By: DL6ER <DL6ER@users.noreply.github.com>
2019-12-01 12:45:06 +00:00
Adam Warner
44e1455b12
Update advanced/Scripts/list.sh
Co-Authored-By: DL6ER <DL6ER@users.noreply.github.com>
2019-12-01 12:44:48 +00:00
Adam Warner
76460f01e9
Change the regex used for domain validation
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2019-11-30 17:45:07 +00:00
Adam Warner
4b8a72fda7
functionise parameter discovery
Rename HandleOther to ValidateDomain
Capital letters on the new functions

Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2019-11-30 16:26:26 +00:00
Adam Warner
edaee4e962
remove redundant function and comments
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2019-11-30 16:02:50 +00:00
Adam Warner
77bfb3fb67
tidy up variable usage in list.sh Remove some that are redundant
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2019-11-30 14:18:12 +00:00
Adam Warner
6a881545b0
tweak wording Signed-off-by: Adam Warner <me@adamwarner.co.uk> 2019-11-30 13:25:32 +00:00
Adam Warner
d0de5fda30
Simplify removal of domain from one list when it is requested for another
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2019-11-30 13:13:26 +00:00
DL6ER
a1f120b2ff
Address stickler's complaint
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-11-30 12:43:07 +00:00
DL6ER
185319d560
Unite four domain tables into a single domainlist table.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-11-30 12:33:51 +00:00
DL6ER
5c6dd3f6f4
Merge pull request #2978 from Mograine/patch-1
Add commands to add/remove custom DNS records
2019-11-29 13:25:09 +01:00
Adam Warner
edcdf9f619
Merge pull request #3003 from pi-hole/fix/tbd
FTL always determined.
2019-11-27 09:46:17 +00:00
Mograine
c809c34024 Add user feedback
Signed-off-by: Mograine <ghiot.pierre@gmail.com>
2019-11-27 00:28:44 +01:00
DL6ER
037d52104a
New command "pihole -g -r" recreates gravity.db based on files backed up in /etc/pihole/migration_update. This is useful to restore a working version of the database when the user destroyed the original database. Also, update gravity.db to version 5 because of a fix we needed to implement.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-11-26 10:58:39 +01:00
Adam Warner
eeb26e3975
Merge pull request #2990 from chrunchyjesus/unix-compliance
make some shebangs comply to posix standard
2019-11-16 12:26:49 +00:00
Adam Warner
12817c09bb
(Squashed commits)
Always ensure we have the correct machine arch by storing to/reading from a file rather than depending on global variable that for some reason is not always populated...

Signed-off-by: Adam Warner <me@adamwarner.co.uk>

no need for global variable

Signed-off-by: Adam Warner <me@adamwarner.co.uk>

Use a file in the temporary FTL download directory

Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>

Local binary variable named to l_binary. Disambiguate from global binary.

Allow 'binary' to be shadowed for testing.

Use ./ftlbinary in all operations.

Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>

Revert shadow ability on binary variable.

Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>

Remove unused tests, binary variable can not be overridden.

Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>

This should work here, too

Signed-off-by: Adam Warner <me@adamwarner.co.uk>

binary name is passed through from pihole checkout

Signed-off-by: Adam Warner <me@adamwarner.co.uk>

Add comments

Signed-off-by: Adam Warner <me@adamwarner.co.uk>

OK, let's try it this way again

Signed-off-by: Adam Warner <me@adamwarner.co.uk>

we might be getting somewhere.. squash after this I think!

Signed-off-by: Adam Warner <me@adamwarner.co.uk>

This is a test to see if it fixes the aarch64 test (we are definitely squashing these commits

Signed-off-by: Adam Warner <me@adamwarner.co.uk>

fix the rest of the tests

Signed-off-by: Adam Warner <me@adamwarner.co.uk>

Remove trailing whitespace in the files we've touched here

Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2019-11-15 19:49:09 +00:00
Mograine
b93628acb3 Merge branch 'development' of https://github.com/Mograine/pi-hole into patch-1 2019-11-13 09:44:48 +01:00
DL6ER
7f7b9d089c
Merge pull request #2965 from pi-hole/tweak/BackendChangesForAdlistComments
backend changes to allow comment when adding new adlist
2019-11-12 21:50:19 +01:00
chrunchyjesus
476975540a
make some shebangs comply to posix standard 2019-11-05 22:33:00 +01:00
Mograine
193ff38ab3 Allow more precise deletion by passing ip as parameter
Signed-off-by: Mograine <ghiot.pierre@gmail.com>
2019-10-28 13:21:05 +01:00
Pierre Ghiot
bb8dbe9da5 Update 01-pihole.conf
Signed-off-by: Mograine <ghiot.pierre@gmail.com>
2019-10-27 16:55:54 +01:00
Pierre Ghiot
f9d16c2b15 Update webpage.sh
Signed-off-by: Mograine <ghiot.pierre@gmail.com>
2019-10-27 16:55:54 +01:00
John Krull
c6f9fe3af2 Fix spelling of the word "permitting"
Signed-off-by: John Krull <john.a.krull@gmail.com>
2019-10-15 21:29:55 -05:00
Adam Warner
5bac1ad58b
backend changes to allow comment when adding new adlist
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2019-10-14 22:59:58 +01:00
DL6ER
d883854aad
Use constant for long path.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-10-03 12:12:32 +02:00
DL6ER
756c99653e
Merge branch 'development' into new/internal-blocking 2019-10-03 12:01:27 +02:00
DL6ER
2e0370367c
Print when we upgrade gravity database version. This will make possibly failed upgrades easier to debug.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-09-26 14:02:20 +02:00
DL6ER
3cb4f6d9d4
We cannot create vw_gravity before having created vw_whitelist as the former depends onthe later. This commit changes the order in which the tables are created.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-09-26 13:50:54 +02:00
Adam Warner
61a40c1b43
merge devel into 4.3.2 And Resolve merge conflicts
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2019-09-22 01:16:44 +01:00
DL6ER
a27c7b1398
regex white- and blacklist views need to be re-created as well as we need the ID for storing internally whether or not we try to match a given regex for a specific client.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-09-18 20:58:44 +02:00
DL6ER
7b48431917
Add client_by_group table like we have for the other lists. It stores associations between individual clients and list groups.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-09-09 00:03:57 +02:00
DL6ER
1f36ec48e3
Add use-application-dns.net = NXDOMAIN in ProcessDNSSettings rather than in the template so we can ensure that it will survive config-renewals.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-09-07 23:11:20 +02:00
DL6ER
ff08add7c0
Update vw_whitelist and vw_blacklist to return group_id alongside domain so we can filter if the current client wants to get this domain blocked or not.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-09-07 13:01:36 +02:00
DL6ER
ffc91a6c81
Update view vw_gravity to only return domains from enabled adlists.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-09-07 11:17:53 +02:00
DL6ER
525ec8cd01
Signal to Firefox that the local network is unsuitable for DNS-over-HTTPS
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-09-07 08:44:03 +02:00
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