Commit Graph

55 Commits

Author SHA1 Message Date
DL6ER 6ad2430f95 Import legacy adlist.list and fix/remove debugging output
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-02-02 19:10:26 +01:00
DL6ER 870ab035fc Fix teleporter's ability to import v4.x archives.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-01-28 22:26:19 +01:00
DL6ER c81d690be4 Add /etc/hosts to teleporter export.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-12-28 13:30:57 +00:00
DL6ER 52f5be0c8f Merge pull request #992 from trimalcione/devel
Add DHCP leases export/import from teleporter
2019-12-16 11:22:28 +01:00
Adam Warner 258ea04432 Add a class for better readability of list type within the code
Signed-off-by: Adam Warner <me@adamwarner.co.uk>
2019-12-08 18:47:30 +00:00
DL6ER 3a0a596b11 Implement necessary changes due to switching from individual to a common domainlist.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-12-08 17:42:01 +00:00
trimalcione 6c04b8cb39 add DHCP static leases import from teleporter
Signed-off-by: trimalcione <okchtioui@gmail.com>
2019-12-02 16:21:19 +01:00
corbolais 61f02236eb add: dhcp.leases to teleporter exported tar.gz
Signed-off-by: corbolais <corbolais@gmail.com>
2019-11-25 16:05:04 +01:00
trimalcione 72af77eef9 Merge branch 'devel' into devel 2019-10-19 01:13:35 +02:00
DL6ER f3d8f0dfb5 Teleporter expects adlist.json during import, however, the file is called adlists.json during export. Fix this by using singular during export.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-09-18 00:36:03 +02:00
trimalcione 9d32aa6489 Add DHCP leases export/import from teleporter
Signed-off-by: trimalcione <okchtioui@gmail.com>
2019-08-20 18:12:16 +02:00
DL6ER 3770556732 Use database.php:add_to_table() in teleporter.php:archive_insert_into_table().
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-08-07 21:49:51 +02:00
DL6ER 07af532b09 Review comments
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-08-07 21:32:49 +02:00
DL6ER 5b9ccecd11 Limit max length for a domain entry to 253 chars when importing from teleoprter archives, skip longer entries without importing them.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-08-06 20:40:20 +02:00
DL6ER c53832c9d0 Review comments
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-08-05 22:06:53 +02:00
DL6ER 13f07f9d87 Switch the teleporter to only interact with gravity.db directly. This avoids any need for escaping regexes and just seems to be the right thing to do. Ensure that we flush a table only once (in case multiple files add to the same table).
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-24 23:15:19 +02:00
DL6ER eac87f139f pihole-FTL only needs to be reloaded not restarted when the lists have been updated. This is much faster than a hard restart.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-24 22:19:28 +02:00
DL6ER 3cfb226757 Reload only ONCE not after EACH imported file.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-24 22:14:48 +02:00
DL6ER 72057cfa26 Close database connection at the end of a table recovery.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-24 22:14:07 +02:00
DL6ER 72c0233436 Add option to flush tables during import (defaults to true). By unchecking this box, users can import (= only add) other lists without loosing the present content. Conflict management is done through INSERT OR IGNORE which will silently skip entries that violate the UNIQUE constraint.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-24 21:15:32 +02:00
DL6ER 1ddf36a752 Archive and restore full tables instead of only domains. Use JSON as backup file format.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2019-07-24 21:10:19 +02:00
Mcat12 8819825dc8 Upgrade the exporter/importer (teleporter) to use the gravity database
Also fixed the content type of the tar.gz archive from zip to gzip.

Signed-off-by: Mcat12 <newtoncat12@yahoo.com>
2019-07-04 12:31:02 -07:00
DL6ER 78d262d7b0 Offer possibility to import auditlog.list from teleporter archive
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-08-10 18:25:12 +02:00
DL6ER 7c9f09db0e Directly write imported regex file to disk instead of useing bash callbacks
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-07-15 12:56:40 +02:00
DL6ER 65d0c7a1d9 Also try to import legacy wildcard list if found in imported teleporter archive
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-07-14 22:25:17 +02:00
DL6ER e67695d51a Add files backed up from /etc/dnsmasq.d into a separate directory to tidy up the generated archive
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-07-14 15:46:22 +02:00
DL6ER ed8dbfd10e Show number of processed items when importing whitelist, blacklist, and regex filters
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-07-14 15:34:42 +02:00
DL6ER 50885d092a Import regex.list if requested. Don't check validity of regex filters as they are not necessarily in valid domain format
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-07-14 15:33:52 +02:00
DL6ER 6dc8bf300c Export regex.list
Signed-off-by: DL6ER <dl6er@dl6er.de>
2018-07-14 15:27:54 +02:00
Mcat12 a2d9e7c1ac Add auditlog.list to the Teleporter
Signed-off-by: Mcat12 <newtoncat12@yahoo.com>
2018-01-08 22:03:27 -05:00
DL6ER b6caf5878f Ensure we restart dnsmasq only once (at the end of importing stuff)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-10-07 17:34:10 +02:00
DL6ER bfad6d8fcb Add nuke option before importing new list to be sure the content is being replaced instead of appended
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-10-07 17:25:43 +02:00
DL6ER 02807730ee We don't have to test for the php-zip extension anymore. Instead, we test for "Phar" (which seems to be there by default on most systems)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-10-07 14:36:16 +02:00
DL6ER 5b47e9caa5 Fix a typo
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-10-06 23:49:04 +02:00
DL6ER d1d9d7faff Use htmlentities() to mitigate XSS (this function is identical to htmlspecialchars() in all ways, except with htmlentities(), all characters which have HTML character entity equivalents are translated into these entities)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-10-06 23:47:06 +02:00
DL6ER a50525d72b Clean up after import
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-10-06 23:43:19 +02:00
DL6ER 67855df5c5 Minor corrections
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-10-06 23:42:49 +02:00
DL6ER 6bb6c6d29f Finished Teleporter 2.0
Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-10-06 21:13:07 +02:00
DL6ER 7f33b102df Re-implement Teleporter with PharData. The advantage is that we don't have to rely on php-zip being installed.
This commit implements only the re-written Export. The import feature has still to be coded.

Signed-off-by: DL6ER <dl6er@dl6er.de>
2017-08-06 17:56:59 +02:00
Mcat12 81727a36d0 Fix spelling mistake 2017-04-30 14:07:07 -04:00
Mcat12 a94412a914 Increase max domain length
Max length is 253 chars according to:
https://blogs.msdn.microsoft.com/oldnewthing/20120412-00/?p=7873/
2017-04-30 14:06:39 -04:00
DL6ER 31f368494a Codacy 2017-04-29 22:09:10 +02:00
DL6ER 4fa1cb6bac Clip too long domain names. Fixes #464 2017-04-29 20:52:58 +02:00
DL6ER 631f050440 Create temporary file with write/read permissions only for the PHP user 2017-04-29 13:10:53 +02:00
Mcat12 9454563123 Temporarily store the teleporter file
Store under /etc/pihole instead of the web server, and delete
after sending.
2017-04-24 21:29:44 -04:00
Mcat12 1e748446df Require CSRF token for Teleporter 2017-04-04 21:02:48 -04:00
DL6ER 39e76afd62 Allow generation of ZIP file via command line 2017-03-05 14:03:37 +01:00
DL6ER c034798f61 Export also all files found in /etc/dnsmasq.d 2017-03-05 13:54:43 +01:00
DL6ER e695f490c0 Add datetimestamp to downloaded filename (e.g. "pi-hole-teleporter_2017-03-05_01-37-52.zip") 2017-03-05 13:38:06 +01:00
DL6ER 276f2c1628 Allow usage of Teleporter and QueryAds backend only if a valid session is detected (#415) 2017-02-27 22:32:03 +01:00