Commit Graph
139 Commits
Author SHA1 Message Date
DL6ER b5a6ae44aa Add /api/action/flush/arp flushing both the network and network_addresses tables in pihole-FTL.db
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-05-24 20:47:51 +02:00
DL6ER 3b404ff9a0 Add /api/actions/flush/logs
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-05-24 20:39:18 +02:00
DL6ER 7b72c762ce Add dns boolean to /api/auth signalling if the DNS server is up and running
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-05-24 20:25:02 +02:00
DL6ER 1083128828 Fix OpenAPI definition of /api/dns/blocking
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-05-24 18:48:55 +02:00
DL6ER f48683a11e Continue to run webserver even when dnsmasq fails to still serve the web interface. Change the type of api/dns/blocking from bool to enum-string to support the new "failure" state
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-05-24 17:19:12 +02:00
DL6ER f5cd3b00d2 Add strict_tls property to list of sessions showing if really every connection of this session happened over TLS/SSL
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-05-22 20:30:56 +02:00
DL6ER 391d1c9d0c Extend /info/metrics to show details also about stale cache records
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-05-11 14:18:21 +02:00
DL6ER f06b2e5397 Add tls boolean to list of sessions to indicate whether this session was established over a secure (end-to-end encrypted) connection
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-05-09 10:01:05 +02:00
DL6ER d4f30e4f3d Send more gravity-specific quantities in /search/{domain}
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-05-07 13:10:24 +02:00
DL6ER c12625f0c1 Add global object "took" to all API endpoints
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-05-07 12:20:07 +02:00
DL6ER c3468b7403 Include regex results in domains array when using /search/{domain}
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-05-07 11:19:02 +02:00
DL6ER b7b63506fd Add method to delete network table entires by their database ID
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-05-07 11:04:31 +02:00
DL6ER 7281da34b4 Add /api/clients/_suggestions
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-05-06 07:31:21 +02:00
DL6ER 469e73e0ff Allow deleteing multiple messages at once (provide them comma-separated)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-05-04 12:13:09 +02:00
DL6ER 3f0b8f4280 Ensure we always read diagnosis messages from the database
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-05-03 21:16:51 +02:00
DL6ER e6b46a2c60 Simplify redirection when user is already authenticated
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-26 22:10:43 +02:00
DL6ER b642bacf08 Rename the API endpoint from /logs/http to /logs/webserver for consistency with the config option renameing
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-26 21:39:29 +02:00
DL6ER 2b2c02f0c7 Remove PH7
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-26 21:09:33 +02:00
DL6ER 7359b496ff Move database.maxHistory to webserver.api.maxHistory
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-25 22:26:25 +02:00
DL6ER 515fe8b440 Add certificate generation command (pihole-FTL --gen-x509 ...)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-05 21:21:14 +02:00
DL6ER c05502f24a Reimplement DNS cache metrics in the light of arbitrary RRTYPE caching
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-04-01 16:10:49 +02:00
DL6ER 064ac81fca Add SSL/TLS support (mbedTLS)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-03-08 21:10:12 +01:00
DL6ER 06da29d56e Merge remote-tracking branch 'origin/update/dnsmasq' into new/http
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-03-31 10:10:54 +02:00
DL6ER 9b32553a62 Add API documentation for method to delete session by ID
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-03-13 10:32:19 +01:00
DL6ER 749486273e Add method for deleteing sessions by their IDs
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-03-08 21:10:12 +01:00
DL6ER 4890e16b39 Use cryptographic randomness also for te API challenge and the SID generation
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-03-08 22:14:36 +01:00
DL6ER 9bf6176a64 Add TOTP 2FA to web interface and API
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-03-06 21:49:11 +01:00
DL6ER ce96c5baef Rename config.files.{http_info => log.webserver, ph7_error => log.ph7} and include file path in /api/logs replies
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-02-23 17:52:10 +01:00
DL6ER 6a199427b4 Add option dhcp.multiDNS
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-02-20 14:44:58 +01:00
DL6ER b0c46dc416 Sub-paths in /api/auth are not allowed (except for explicitly existing API endpoints)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-02-18 15:09:13 +01:00
DL6ER fe6093f970 Remember login timestamp of API sessions
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-02-18 14:54:38 +01:00
DL6ER dd9c4ad52b Add special debug.all config option
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-02-18 14:42:32 +01:00
DL6ER 1bb5e265a0 Add info.ftl.uptime (in ms) and move config.{dns => dhcp}.domain
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-02-18 13:48:09 +01:00
DL6ER 9eaab48405 Mark currently active session when listing active sessions
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-02-14 22:59:52 +01:00
DL6ER db0217f6f7 Add GET /api/auth/sessions for listing the currently active sessions
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-02-12 20:49:16 +01:00
DL6ER 9483ed6778 Add new regex extension ";reply=CNAME,target.domain" suitable for defining CNAME records per-group
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-02-11 22:00:33 +01:00
DL6ER 83195e678e Change /api/info/cache -> /api/info/metrics and add other metrics such as query reply sources and DHCP metrics
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-02-11 13:38:37 +01:00
DL6ER bcda8cc29a Add dns.cache.optimizer as option to control the usage of expired/stale DNS queries while Pi-hole is looking for new ones. This option has always been available, we just make it more visible by assigning an individual config option for it.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-02-11 10:58:41 +01:00
DL6ER ad43d2d7fd Add suggested CPU temperature which can be used by the client to display the CPU temperature without having to define selection rules in the clients. Said rules will have to be added in FTL itself, we are not making any assumptions here but only want to identify sensors based on facts. As consequence, the temperature value may be NULL if no reliable detection is possible. Users are asked to raise an issue with FTL in this case so we can have a look together with them on their particular system and add stable detection rules.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-02-07 21:00:15 +01:00
DL6ER 5fdf7dd340 Include "source" of hwmon items and individual sensor's "max" and "crit" values (if available) in /api/info/sensors
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-02-07 21:00:15 +01:00
DL6ER daa87f2b60 Rename dns.reply.host.{overwrite_v => force}{4,6}
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-02-06 21:46:06 +01:00
DL6ER b299ca275d Group sensors by the hardware they belong to
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-02-06 20:21:13 +01:00
DL6ER 08025c1e1c Add config->webserver.api.password to OpenAPI specs
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-02-05 21:49:22 +01:00
DL6ER 6f72b9845a Slightly restructure output from /api/info/sensors and include all sensors we can find using the following patterns:
- /sys/class/thermal/thermal_zone*/temp
- /sys/class/hwmon/hwmon*/temp*_input
- /sys/devices/platform/coretemp.*/hwmon/hwmon*/temp*_input

Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-02-05 21:47:19 +01:00
DL6ER ac4c9e789d Add DELETE /api/dhcp/leases/{ip}
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-02-05 13:55:45 +01:00
DL6ER 9fdecaeea9 Add GET /api/dhcp/leases
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-02-05 13:04:03 +01:00
DL6ER 78a09dfa9d Make a few more config values camelCase
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-02-05 12:24:42 +01:00
DL6ER 39c91f995c Integrate former /api/config/_{topic,servers} into /api/config?detailed=true
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-02-04 12:31:43 +01:00
DL6ER 187b0be39d Rename config.webserver.{api => }.sessionTimeout and ensure it is also used for the cookie
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-02-03 18:12:55 +01:00
DL6ER 141b6879ce Move /api/{dns -> info}/cache
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-02-01 22:43:44 +01:00