Commit Graph

55 Commits

Author SHA1 Message Date
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 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 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 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 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 225187447f Add /api/history/database documentation
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-01-02 21:31:57 +01:00
DL6ER 60c09602ac Remove /api/settings/web
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-01-02 20:58:33 +01:00
DL6ER 8df3500c83 Move /api/ftl/gateway -> /api/network/gateway, /api/ftl/interfaces -> /api/network/interfaces, /api/ftl/network -> /api/network/devices, and /api/ftl/config -> /api/config and add documentation for /api/network/devices
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-01-02 20:52:13 +01:00
DL6ER 507df1c157 Move /api/network to /api/ftl/network
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-01-02 20:37:50 +01:00
DL6ER 3389b1f0c2 Add /api/ftl/config which can be used to retrieve the entire configuration of FTL. This endpoint only supports GET so far, however, we will add POST in the future so that configuration values can be changed through the API
Signed-off-by: DL6ER <dl6er@dl6er.de>
2023-01-01 18:19:36 +01:00
DL6ER 973df98b13 Add /api/endpoints
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-12-31 10:00:10 +01:00
DL6ER f6755c3c2f Merge branch 'development' into new/http
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-06-28 22:11:17 +02:00
DL6ER 26ccee3f4c Merge branch 'development' into new/http
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-06-29 11:12:59 +02:00
DL6ER 65d8133cc4 Add API endpoint ">interfaces"
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-06-16 22:53:48 +02:00
DL6ER a7cfb546f2 Add API endpoint ">gateway" that return the IP address and interface of the default gateway
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-06-06 12:37:30 +02:00
DL6ER 67da1a96e1 Add >maxlogage telnet API endpoint
Signed-off-by: DL6ER <dl6er@dl6er.de>
2022-02-01 09:46:05 +01:00
DL6ER 0cab8bea78 Merge branch 'development' into new/http
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-12-30 21:11:51 +01:00
DL6ER 6ecc1cf069 Return DNS port on ">dns-port" telnet command
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-12-28 11:16:13 +01:00
DL6ER de7c2919c9 Simplify status and reply type handling in FTL
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-04-06 20:01:47 +02:00
DL6ER 8e6144790f Move queries into their own API endpoint and prepare an endpoint with search field suggestions to be used with the Query Log
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-03-06 10:59:49 +00:00
DL6ER fcbe840804 Also allow authentication by sending SID via HEADER
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-02-03 09:08:23 +01:00
DL6ER 195dc3cb9a Rename routes.{c,g} -> api.{c,h} and reduce locking where this is not needed to gain more speed for the API
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-02-02 12:21:36 +01:00
DL6ER 887dc24688 Add API callback to remove DHCP leases without the need for a restart of the DNS/DHCP server
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-11-23 12:36:48 +01:00
DL6ER 3a4d8e2e0d Add ;querytype=AAAA option
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-08-10 23:43:02 +02:00
DL6ER 3efb39c3af Rename api/http.{c,h} to api/http-common.{c,h}. Separate routing function into api/routes.c.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:24:20 +02:00
DL6ER 004fb93bbe Add authentication requirement for most API endpoints. Some endpoints are special, e.g., /api/status where GET is allowed for anyone, however, POST is only allowed for authenticated users.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:22:51 +02:00
DL6ER 88d982a78f Add /api/settings/ftldb
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:17:46 +02:00
DL6ER 978a159992 Simplify api_dns_somelist_read()
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:17:46 +02:00
DL6ER 99cfb92d63 Add /api/auth/salt
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:14:46 +02:00
DL6ER 0a3424bcff Add simple /api/auth implementation. Currently, all passwords are accepted and a login session is valid for 5 minutes.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:14:46 +02:00
DL6ER f500466a1e Greatly reduce code duplication by using a common function for exact/regex white-/blacklist requests.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:14:11 +02:00
DL6ER 21a2ca1e27 Add /api/version
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:12:14 +02:00
DL6ER 6e518cc757 Add /api/dns/whitelist, /api/dns/whitelist/exact, /api/dns/whitelist/regex, /api/dns/blacklist, /api/dns/blacklist/exact, and /api/dns/blacklist/regex
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:11:51 +02:00
DL6ER 9ec5e5388a Restructure files in /src/api
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:10:15 +02:00
DL6ER 242a8402b6 Remove obsolete prototypes and unused parameters.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:07:29 +02:00
DL6ER 091eaaa895 Add new /api/stats/recent_blocked
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:07:29 +02:00
DL6ER 6c057f55a0 Add /api/stats/history
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:04:44 +02:00
DL6ER 6ea5f372f7 Add /api/stats/top_clients and /api/stats/top_blocked_clients
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:04:44 +02:00
DL6ER 17260fb856 Add /api/stats/top_domains and /api/stats/top_blocked
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:04:44 +02:00
DL6ER 22f7093488 Add /api/stats/upstreams
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:03:23 +02:00
DL6ER 900f265d2d Add /api/stats/query_types
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:01:45 +02:00
DL6ER 046e3dee0e Add /api/stats/overTime/clients
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-27 00:00:23 +02:00
DL6ER 29f9b498c8 Add /api/stats/overTime/history
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-26 23:59:38 +02:00
DL6ER fce40cbe77 Use cJSON macros to build JSON object. This has several benefits such as automatic character escaping and an overall clearer code structure.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-26 23:59:38 +02:00
DL6ER f2417b83cc Remove two old and (not documented) debugging functions.
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-26 23:58:52 +02:00
DL6ER abe7623f0b Add /api/ftl/db
Signed-off-by: DL6ER <dl6er@dl6er.de>
2020-05-26 23:54:36 +02:00