Commit Graph
120 Commits
Author SHA1 Message Date
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
DL6ER 65a31f0241 Improvements for the query log filter suggestions (increase default number of suggestions from 10 to 30 and differentiate between clients by IP and by name)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-02-01 22:21:05 +01:00
DL6ER da6a1ae053 Add {GET,DELETE} /api/info/messages
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-01-30 21:00:08 +01:00
DL6ER ec31584f74 Add clients.total and gravity.domains_being_blocked to /stats/summary
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-01-30 20:33:28 +01:00
DL6ER 54beca32db Reload config on change of pihole.toml. This is done using an inotify watcher on /etc/pihole. This also means that there is no need to send SIGHUP to FTL after a config change, this is triggered internally.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-01-30 19:05:19 +01:00
DL6ER 57245c6f95 Update RapiDoc 8.4.3 -> 9.3.4
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-01-29 20:09:14 +01:00
DL6ER a02899f101 API Docs: Automatically log out when FTL is restarted and session has been invalidated
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-01-29 20:05:04 +01:00
DL6ER 5bfc1fd122 Add /api/search as a batter replacement of the currently existing "pihole -q" command
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-01-29 19:55:12 +01:00
DL6ER 8753a8d69b Add more compiler warnings and fix a few things they pointed out worth improving/being more explicit about. This adds GCC-12 compatibility out of the box.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-01-29 18:12:19 +01:00
DL6ER a9e2f298e8 Move src/civetweb -> src/webserver/civetweb
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-01-27 20:32:19 +01:00
DL6ER 48fc06d46b Add POST /api/teleporter to upload and install backed up configuration
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-01-25 21:51:12 +01:00
DL6ER d51aa378a3 Add /api/action/reboot and /api/action/poweroff (needs extra capability CAP_SYS_BOOT)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-01-24 20:26:37 +01:00
DL6ER e4383775d1 Add /api/action/gravity which can be used to trigger a run of pihole -g. The output is live streamed using HTTP/1.1 chunked encoding.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-01-24 20:15:45 +01:00
DL6ER 13168c377b Add GET /api/teleporter
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-01-23 21:56:11 +01:00
DL6ER 88e8ab9fd5 !!! BREAKING CHANGE !!! Redesign TOML config structure
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-01-22 12:32:10 +01:00
DL6ER 0856153699 Add ability to list allowed values (for enums) in JSON form. Add pretty-printing for TOML and update all help test descriptions from the official Pi-hole documentation
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-01-22 12:01:42 +01:00
DL6ER 2e54ca5577 Add /config/_server offering DNS server suggestions for the settings page
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-01-22 10:11:31 +01:00
DL6ER b55c1a673a Add Desktop Management Interface (DMI) properties to /api/info/host
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-01-22 09:44:40 +01:00
DL6ER 4026d5f7a2 Include info.yaml in build
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-01-21 14:54:13 +01:00
DL6ER 1142540aac Single out a few items from /api/info/system into /api/info/{sensors,host,ftl}
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-01-18 20:16:31 +01:00
DL6ER 37bafc1365 Move /api/{ftl -> info}/client, /api/ftl/dbinfo -> /api/info/database, /api/ftl/sysinfo -> /api/info/system, and /api/version -> /api/info/version
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-01-18 20:16:31 +01:00
DL6ER 6233bb489a Add GET /config/_topics which will be helpful when automatically generating a Pi-hole settings page
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-01-18 20:16:31 +01:00
DL6ER 10ed1459b3 Add "allowed" as JSON (where applicable) and "type" in /api/config?detailed=true to allow automatic settings page generation
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-01-18 20:16:31 +01:00
DL6ER 88e57ef9e3 Manage custom.list through the universal /config/dns/hosts instead of its own interface. This reduces code duplication.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-01-20 18:32:21 +01:00
DL6ER 91f2645ace Also allow all IPv6 addresses in default webserver ACL
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-01-20 04:59:43 +01:00
DL6ER d041c494ae Add missing specs/{logs,endpoints}.yaml to pre-compiled logs
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-01-20 04:49:11 +01:00
DL6ER 2d6c25d573 Add GET /config/{element} for more specific requests as well as PATCH and DELETE /config/{element}/{value} for direct array manipulation
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-01-18 18:19:19 +01:00
DL6ER a506d38d9f Materialize the pseudoelement config.port as config.dnsmasq.port (it can now also be changed)
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-01-18 04:39:09 +01:00