all: sync with master

This commit is contained in:
Eugene Burkov
2025-01-20 14:41:16 +03:00
parent ceb178fcd5
commit 2e52a2c8a0
61 changed files with 2533 additions and 2711 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,35 +1,27 @@
# AdGuard Home OpenAPI
We are using
[OpenAPI specification](https://swagger.io/docs/specification/about/)
to generate AdGuard Home API specification.
We are using [OpenAPI specification](https://swagger.io/docs/specification/about/) to generate AdGuard Home API specification.
## How To Edit The API Spec
## How to edit the API spec
The easiest way would be to use
[Swagger Editor](http://editor.swagger.io/)
and just copy/paste the YAML file there.
The easiest way would be to use [Swagger Editor](http://editor.swagger.io/) and just copy/paste the YAML file there.
## How To Read The API Doc
## How to read the API doc
1. `yarn install`
2. `yarn start`
3. Open `http://localhost:4000/`
3. open `http://localhost:4000/`
## Changelog
[Here](CHANGELOG.md) we keep track of all non-compatible changes that are being
made.
[Here](CHANGELOG.md) we keep track of all non-compatible changes that are being made.
## Authentication
If AdGuard Home's web user is password-protected, a web client must use
authentication mechanism when sending requests to server. Basic access
authentication is the most simple method - a client must pass `Authorization`
HTTP header along with all requests:
If AdGuard Homes web user is password-protected, a web client must use authentication mechanism when sending requests to server. Basic access authentication is the most simple method: a client must pass `Authorization` HTTP header along with all requests:
```http
Authorization: Basic BASE64_DATA
```
Where BASE64_DATA is base64-encoded data for `username:password` string.
Where `BASE64_DATA` is base64-encoded data for `username:password` string.

View File

@@ -934,6 +934,9 @@
'description': 'OK.'
'/clients/find':
'get':
'deprecated': true
'description': >
Deprecated: Use `POST /clients/search` instead.
'tags':
- 'clients'
'operationId': 'clientsFind'
@@ -957,6 +960,26 @@
'application/json':
'schema':
'$ref': '#/components/schemas/ClientsFindResponse'
'/clients/search':
'post':
'tags':
- 'clients'
'operationId': 'clientsSearch'
'summary': >
Get information about clients by their IP addresses, CIDRs, MAC addresses, or ClientIDs.
'requestBody':
'content':
'application/json':
'schema':
'$ref': '#/components/schemas/ClientsSearchRequest'
'required': true
'responses':
'200':
'description': 'OK.'
'content':
'application/json':
'schema':
'$ref': '#/components/schemas/ClientsFindResponse'
'/access/list':
'get':
'operationId': 'accessList'
@@ -2478,9 +2501,11 @@
'description': 'Network interface info'
'required':
- 'flags'
- 'gateway_ip'
- 'hardware_address'
- 'ipv4_addresses'
- 'ipv6_addresses'
- 'name'
- 'mtu'
'properties':
'flags':
'type': 'string'
@@ -2489,18 +2514,28 @@
the "|" character: "up", "broadcast", "loopback", "pointtopoint" and
"multicast".
'example': 'up|broadcast|multicast'
'gateway_ip':
'type': 'string'
'description': 'The IP address of the gateway.'
'example': '192.0.2.0'
'hardware_address':
'type': 'string'
'example': '52:54:00:11:09:ba'
'ipv4_addresses':
'type': 'array'
'description': >
The addresses of the interface of v4 family.
'items':
'type': 'string'
'ipv6_addresses':
'type': 'array'
'description': >
The addresses of the interface of v6 family.
'items':
'type': 'string'
'name':
'type': 'string'
'example': 'eth0'
'ip_addresses':
'type': 'array'
'items':
'type': 'string'
'mtu':
'type': 'integer'
'AddressInfo':
'type': 'object'
'description': 'Port information'
@@ -2749,6 +2784,20 @@
'properties':
'name':
'type': 'string'
'ClientsSearchRequest':
'type': 'object'
'description': 'Client search request'
'properties':
'clients':
'type': 'array'
'items':
'$ref': '#/components/schemas/ClientsSearchRequestItem'
'ClientsSearchRequestItem':
'type': 'object'
'properties':
'id':
'type': 'string'
'description': 'Client IP address, CIDR, MAC address, or ClientID'
'ClientsFindResponse':
'type': 'array'
'description': 'Client search results.'