Commit Graph
130 Commits
Author SHA1 Message Date
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
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 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