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
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
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
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
b97d99ae3e
Start timer thread keeping an eye on timed blocking mode changes
...
Signed-off-by: DL6ER <dl6er@dl6er.de >
2023-05-07 09:15:12 +02:00
DL6ER
7281da34b4
Add /api/clients/_suggestions
...
Signed-off-by: DL6ER <dl6er@dl6er.de >
2023-05-06 07:31:21 +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
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
f025598bd2
Simplify webserver logging routines
...
Signed-off-by: DL6ER <dl6er@dl6er.de >
2023-04-26 21:16:23 +02:00
DL6ER
2b2c02f0c7
Remove PH7
...
Signed-off-by: DL6ER <dl6er@dl6er.de >
2023-04-26 21:09:33 +02: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
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
4cc66df3f0
Rename /api/auth/session{ => s}
...
Signed-off-by: DL6ER <dl6er@dl6er.de >
2023-02-18 14:58:53 +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
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
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
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
141b6879ce
Move /api/{dns -> info}/cache
...
Signed-off-by: DL6ER <dl6er@dl6er.de >
2023-02-01 22:43:44 +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
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
a9e2f298e8
Move src/civetweb -> src/webserver/civetweb
...
Signed-off-by: DL6ER <dl6er@dl6er.de >
2023-01-27 20:32:19 +01:00
DL6ER
149ec4e0dd
Add test for re-importing the just exported Teleporter file during the tests
...
Signed-off-by: DL6ER <dl6er@dl6er.de >
2023-01-26 20:11:55 +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
6afab76dcc
Give hint about where the JSON parser failed when passing invalid JSON.
...
Signed-off-by: DL6ER <dl6er@dl6er.de >
2023-01-23 21:26:11 +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
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
aeb61a3026
Add HTTP OPTIONS method processing. Using something like "curl -X OPTIONS -I pi.hole:8080/api/... will return an Allow header specifying which endpoint supports which method.
...
Signed-off-by: DL6ER <dl6er@dl6er.de >
2023-01-21 12:53:04 +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
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
28bb27c125
Fix incorrectly returned 404 for existing API endpoints when not logged in
...
Signed-off-by: DL6ER <dl6er@dl6er.de >
2023-01-20 04:56:11 +01:00
DL6ER
7b479782fd
Implement proper testing of dnsmasq options before applying new configuration
...
Signed-off-by: DL6ER <dl6er@dl6er.de >
2023-01-18 20:12: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
DL6ER
1ae49c7baf
Add /api/logs/{ftl,http,ph7}
...
Signed-off-by: DL6ER <dl6er@dl6er.de >
2023-01-18 04:22:50 +01:00
DL6ER
2e2253c77c
Fix another memory leak where a payload sent to a non-existing endpoint wasn't freed properly
...
Signed-off-by: DL6ER <dl6er@dl6er.de >
2023-01-18 03:55:10 +01:00
DL6ER
c901194d3b
Rename /api/ftl/logs/dns -> /api/logs/dnsmasq
...
Signed-off-by: DL6ER <dl6er@dl6er.de >
2023-01-16 21:41:10 +01:00
DL6ER
c34975180e
Rename /api/ftl/endpoints -> /api/endpoints
...
Signed-off-by: DL6ER <dl6er@dl6er.de >
2023-01-16 21:37:11 +01:00
DL6ER
ee439711c4
Configure if endpoints require authentication in a central place for better overview
...
Signed-off-by: DL6ER <dl6er@dl6er.de >
2023-01-16 21:23:04 +01:00
DL6ER
5e96022e63
Group endpoints in /api/ftl/endpoints by supported methods
...
Signed-off-by: DL6ER <dl6er@dl6er.de >
2023-01-16 21:11:57 +01:00
DL6ER
ed6b809013
Modify removing and adding local DNS entries via path instead of payload
...
Signed-off-by: DL6ER <dl6er@dl6er.de >
2023-01-16 19:57:36 +01:00
DL6ER
952a296dd4
Add /api/dns/entries for manipulating the custom.list file (viewing, adding, and removing items)
...
Signed-off-by: DL6ER <dl6er@dl6er.de >
2023-01-15 22:41:44 +01:00
DL6ER
41ebe5ec51
!!! BREAKING CHANGE !!! Create new dnsmasq config file and test it.
...
This needs a manual removal of /etc/dnsmasq.d/01-pihole.conf and /etc/dnsmasq.d/02-pihole-dhcp.conf (if existing).
Furthermore, we need a new symlink /etc/pihole/01-pihole.conf -> /etc/dnsmasq.d/01-pihole.conf
Signed-off-by: DL6ER <dl6er@dl6er.de >
2023-01-12 18:12:41 +01:00
DL6ER
70127edd52
Add config.dnsmasq and routines to write dnsmasq config files
...
Signed-off-by: DL6ER <dl6er@dl6er.de >
2023-01-11 20:14:46 +01:00