mirror of
https://git.vectorsigma.ru/public/AdGuardHome.git
synced 2026-07-30 13:19:31 +00:00
all: sync with master; upd chlog
This commit is contained in:
@@ -4,6 +4,107 @@
|
||||
|
||||
## v0.108.0: API changes
|
||||
|
||||
## v0.107.37: API changes
|
||||
|
||||
### The new field `"fallback_dns"` in `UpstreamsConfig` object
|
||||
|
||||
* The new field `"fallback_dns"` in `POST /control/test_upstream_dns` is the
|
||||
list of fallback DNS servers to test.
|
||||
|
||||
### The new field `"fallback_dns"` in `DNSConfig` object
|
||||
|
||||
* The new field `"fallback_dns"` in `GET /control/dns_info` and `POST
|
||||
/control/dns_config` is the list of fallback DNS servers used when upstream
|
||||
DNS servers are not responding.
|
||||
|
||||
### Deprecated blocked services APIs
|
||||
|
||||
* The `GET /control/blocked_services/list` HTTP API; use the new `GET
|
||||
/control/blocked_services/get` API instead.
|
||||
|
||||
* The `POST /control/blocked_services/set` HTTP API; use the new `PUT
|
||||
/control/blocked_services/update` API instead.
|
||||
|
||||
### New blocked services APIs
|
||||
|
||||
* The new `GET /control/blocked_services/get` HTTP API.
|
||||
|
||||
* The new `PUT /control/blocked_services/update` HTTP API allows config
|
||||
updates.
|
||||
|
||||
These APIs accept and return a JSON object with the following format:
|
||||
|
||||
```json
|
||||
{
|
||||
"schedule": {
|
||||
"time_zone": "Local",
|
||||
"sun": {
|
||||
"start": 46800000,
|
||||
"end": 82800000
|
||||
}
|
||||
},
|
||||
"ids": [
|
||||
"vk"
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### `/control/clients` HTTP APIs
|
||||
|
||||
The following HTTP APIs have been changed:
|
||||
|
||||
* `GET /control/clients`;
|
||||
* `GET /control/clients/find?ip0=...&ip1=...&ip2=...`;
|
||||
* `POST /control/clients/add`;
|
||||
* `POST /control/clients/update`;
|
||||
|
||||
The new field `blocked_services_schedule` has been added to JSON objects. It
|
||||
has the following format:
|
||||
|
||||
```json
|
||||
{
|
||||
"time_zone": "Local",
|
||||
"sun": {
|
||||
"start": 0,
|
||||
"end": 86400000
|
||||
},
|
||||
"mon": {
|
||||
"start": 60000,
|
||||
"end": 82800000
|
||||
},
|
||||
"thu": {
|
||||
"start": 120000,
|
||||
"end": 79200000
|
||||
},
|
||||
"tue": {
|
||||
"start": 180000,
|
||||
"end": 75600000
|
||||
},
|
||||
"wed": {
|
||||
"start": 240000,
|
||||
"end": 72000000
|
||||
},
|
||||
"fri": {
|
||||
"start": 300000,
|
||||
"end": 68400000
|
||||
},
|
||||
"sat": {
|
||||
"start": 360000,
|
||||
"end": 64800000
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## v0.107.36: API changes
|
||||
|
||||
### The new fields `"top_upstreams_responses"` and `"top_upstreams_avg_time"` in `Stats` object
|
||||
|
||||
* The new field `"top_upstreams_responses"` in `GET /control/stats` method
|
||||
shows the total number of responses from each upstream.
|
||||
|
||||
* The new field `"top_upstrems_avg_time"` in `GET /control/stats` method shows
|
||||
the average processing time in seconds of requests from each upstream.
|
||||
|
||||
## v0.107.30: API changes
|
||||
|
||||
### `POST /control/version.json` and `GET /control/dhcp/interfaces` content type
|
||||
@@ -19,8 +120,14 @@
|
||||
|
||||
```json
|
||||
{
|
||||
"target": {"domain":"example.com","answer":"answer-to-update"},
|
||||
"update": {"domain":"example.com","answer":"new-answer"}
|
||||
"target": {
|
||||
"domain": "example.com",
|
||||
"answer": "answer-to-update"
|
||||
},
|
||||
"update": {
|
||||
"domain": "example.com",
|
||||
"answer": "new-answer"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
@@ -78,7 +185,9 @@ return a JSON object with the following format:
|
||||
{
|
||||
"enabled": true,
|
||||
"interval": 3600,
|
||||
"ignored": ["example.com"],
|
||||
"ignored": [
|
||||
"example.com"
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
@@ -109,7 +218,9 @@ accept and return a JSON object with the following format:
|
||||
"enabled": true,
|
||||
"anonymize_client_ip": false,
|
||||
"interval": 3600,
|
||||
"ignored": ["example.com"],
|
||||
"ignored": [
|
||||
"example.com"
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
@@ -241,7 +352,7 @@ JSON object with the following format:
|
||||
|
||||
```json
|
||||
{
|
||||
"name":"user name",
|
||||
"name": "user name",
|
||||
"language": "en",
|
||||
"theme": "auto"
|
||||
}
|
||||
@@ -317,8 +428,7 @@ the filters must be presented in a JSON object with the following format:
|
||||
|
||||
```json
|
||||
{
|
||||
"rules":
|
||||
[
|
||||
"rules": [
|
||||
"||example.com^",
|
||||
"# comment",
|
||||
"@@||www.example.com^"
|
||||
|
||||
@@ -1001,6 +1001,9 @@
|
||||
'$ref': '#/components/schemas/BlockedServicesAll'
|
||||
'/blocked_services/list':
|
||||
'get':
|
||||
'deprecated': true
|
||||
'description': >
|
||||
Deprecated: Use `GET /blocked_services/get` instead.
|
||||
'tags':
|
||||
- 'blocked_services'
|
||||
'operationId': 'blockedServicesList'
|
||||
@@ -1014,6 +1017,9 @@
|
||||
'$ref': '#/components/schemas/BlockedServicesArray'
|
||||
'/blocked_services/set':
|
||||
'post':
|
||||
'deprecated': true
|
||||
'description': >
|
||||
Deprecated: Use `PUT /blocked_services/update` instead.
|
||||
'tags':
|
||||
- 'blocked_services'
|
||||
'operationId': 'blockedServicesSet'
|
||||
@@ -1026,6 +1032,34 @@
|
||||
'responses':
|
||||
'200':
|
||||
'description': 'OK.'
|
||||
'/blocked_services/get':
|
||||
'get':
|
||||
'tags':
|
||||
- 'blocked_services'
|
||||
'operationId': 'blockedServicesSchedule'
|
||||
'summary': 'Get blocked services'
|
||||
'responses':
|
||||
'200':
|
||||
'description': 'OK.'
|
||||
'content':
|
||||
'application/json':
|
||||
'schema':
|
||||
'$ref': '#/components/schemas/BlockedServicesSchedule'
|
||||
'/blocked_services/update':
|
||||
'put':
|
||||
'tags':
|
||||
- 'blocked_services'
|
||||
'operationId': 'blockedServicesScheduleUpdate'
|
||||
'summary': 'Update blocked services'
|
||||
'requestBody':
|
||||
'content':
|
||||
'application/json':
|
||||
'schema':
|
||||
'$ref': '#/components/schemas/BlockedServicesSchedule'
|
||||
'required': true
|
||||
'responses':
|
||||
'200':
|
||||
'description': 'OK.'
|
||||
'/rewrite/list':
|
||||
'get':
|
||||
'tags':
|
||||
@@ -1398,6 +1432,16 @@
|
||||
'example':
|
||||
- 'tls://1.1.1.1'
|
||||
- 'tls://1.0.0.1'
|
||||
'fallback_dns':
|
||||
'type': 'array'
|
||||
'description': >
|
||||
List of fallback DNS servers used when upstream DNS servers are not
|
||||
responding. Empty value will clear the list.
|
||||
'items':
|
||||
'type': 'string'
|
||||
'example':
|
||||
- '8.8.8.8'
|
||||
- '1.1.1.1:53'
|
||||
'upstream_dns_file':
|
||||
'type': 'string'
|
||||
'protection_enabled':
|
||||
@@ -1459,7 +1503,7 @@
|
||||
- 'tls://1.0.0.1'
|
||||
'UpstreamsConfig':
|
||||
'type': 'object'
|
||||
'description': 'Upstreams configuration'
|
||||
'description': 'Upstream configuration to be tested'
|
||||
'required':
|
||||
- 'bootstrap_dns'
|
||||
- 'upstream_dns'
|
||||
@@ -1467,8 +1511,7 @@
|
||||
'bootstrap_dns':
|
||||
'type': 'array'
|
||||
'description': >
|
||||
Bootstrap servers, port is optional after colon. Empty value will
|
||||
reset it to default values.
|
||||
Bootstrap DNS servers, port is optional after colon.
|
||||
'items':
|
||||
'type': 'string'
|
||||
'example':
|
||||
@@ -1477,18 +1520,25 @@
|
||||
'upstream_dns':
|
||||
'type': 'array'
|
||||
'description': >
|
||||
Upstream servers, port is optional after colon. Empty value will
|
||||
reset it to default values.
|
||||
Upstream DNS servers, port is optional after colon.
|
||||
'items':
|
||||
'type': 'string'
|
||||
'example':
|
||||
- 'tls://1.1.1.1'
|
||||
- 'tls://1.0.0.1'
|
||||
'fallback_dns':
|
||||
'type': 'array'
|
||||
'description': >
|
||||
Fallback DNS servers, port is optional after colon.
|
||||
'items':
|
||||
'type': 'string'
|
||||
'example':
|
||||
- '8.8.8.8'
|
||||
- '1.1.1.1:53'
|
||||
'private_upstream':
|
||||
'type': 'array'
|
||||
'description': >
|
||||
Local PTR resolvers, port is optional after colon. Empty value will
|
||||
reset it to default values.
|
||||
Local PTR resolvers, port is optional after colon.
|
||||
'items':
|
||||
'type': 'string'
|
||||
'example':
|
||||
@@ -1728,7 +1778,7 @@
|
||||
'avg_processing_time':
|
||||
'type': 'number'
|
||||
'format': 'float'
|
||||
'description': 'Average time in milliseconds on processing a DNS'
|
||||
'description': 'Average time in seconds on processing a DNS request'
|
||||
'example': 0.34
|
||||
'top_queried_domains':
|
||||
'type': 'array'
|
||||
@@ -1742,6 +1792,19 @@
|
||||
'type': 'array'
|
||||
'items':
|
||||
'$ref': '#/components/schemas/TopArrayEntry'
|
||||
'top_upstreams_responses':
|
||||
'type': 'array'
|
||||
'description': 'Total number of responses from each upstream.'
|
||||
'items':
|
||||
'$ref': '#/components/schemas/TopArrayEntry'
|
||||
'maxItems': 100
|
||||
'top_upstreams_avg_time':
|
||||
'type': 'array'
|
||||
'description': >
|
||||
Average processing time in seconds of requests from each upstream.
|
||||
'items':
|
||||
'$ref': '#/components/schemas/TopArrayEntry'
|
||||
'maxItems': 100
|
||||
'dns_queries':
|
||||
'type': 'array'
|
||||
'items':
|
||||
@@ -1761,12 +1824,13 @@
|
||||
'TopArrayEntry':
|
||||
'type': 'object'
|
||||
'description': >
|
||||
Represent the number of hits per key (domain or client IP).
|
||||
Represent the number of hits or time duration per key (url, domain, or
|
||||
client IP).
|
||||
'properties':
|
||||
'domain_or_ip':
|
||||
'type': 'integer'
|
||||
'type': 'number'
|
||||
'additionalProperties':
|
||||
'type': 'integer'
|
||||
'type': 'number'
|
||||
'StatsConfig':
|
||||
'type': 'object'
|
||||
'description': 'Statistics configuration'
|
||||
@@ -2471,6 +2535,54 @@
|
||||
'type': 'boolean'
|
||||
'youtube':
|
||||
'type': 'boolean'
|
||||
'Schedule':
|
||||
'type': 'object'
|
||||
'description': >
|
||||
Sets periods of inactivity for filtering blocked services. The
|
||||
schedule contains 7 days (Sunday to Saturday) and a time zone.
|
||||
'properties':
|
||||
'time_zone':
|
||||
'description': >
|
||||
Time zone name according to IANA time zone database. For example
|
||||
`Europe/Brussels`. `Local` represents the system's local time
|
||||
zone.
|
||||
'type': 'string'
|
||||
'sun':
|
||||
'$ref': '#/components/schemas/DayRange'
|
||||
'mon':
|
||||
'$ref': '#/components/schemas/DayRange'
|
||||
'tue':
|
||||
'$ref': '#/components/schemas/DayRange'
|
||||
'wed':
|
||||
'$ref': '#/components/schemas/DayRange'
|
||||
'thu':
|
||||
'$ref': '#/components/schemas/DayRange'
|
||||
'fri':
|
||||
'$ref': '#/components/schemas/DayRange'
|
||||
'sat':
|
||||
'$ref': '#/components/schemas/DayRange'
|
||||
'DayRange':
|
||||
'type': 'object'
|
||||
'description': >
|
||||
The single interval within a day. It begins at the `start` and ends
|
||||
before the `end`.
|
||||
'properties':
|
||||
'start':
|
||||
'type': 'number'
|
||||
'description': >
|
||||
The number of milliseconds elapsed from the start of a day. It
|
||||
must be less than `end` and is expected to be rounded to minutes.
|
||||
So the maximum value is `86340000` (23 hours and 59 minutes).
|
||||
'minimum': 0
|
||||
'maximum': 86340000
|
||||
'end':
|
||||
'type': 'number'
|
||||
'description': >
|
||||
The number of milliseconds elapsed from the start of a day. It is
|
||||
expected to be rounded to minutes. The maximum value is `86400000`
|
||||
(24 hours).
|
||||
'minimum': 0
|
||||
'maximum': 86400000
|
||||
'Client':
|
||||
'type': 'object'
|
||||
'description': 'Client information.'
|
||||
@@ -2499,6 +2611,8 @@
|
||||
'$ref': '#/components/schemas/SafeSearchConfig'
|
||||
'use_global_blocked_services':
|
||||
'type': 'boolean'
|
||||
'blocked_services_schedule':
|
||||
'$ref': '#/components/schemas/Schedule'
|
||||
'blocked_services':
|
||||
'type': 'array'
|
||||
'items':
|
||||
@@ -2779,6 +2893,17 @@
|
||||
- 'name'
|
||||
- 'rules'
|
||||
'type': 'object'
|
||||
'BlockedServicesSchedule':
|
||||
'type': 'object'
|
||||
'properties':
|
||||
'schedule':
|
||||
'$ref': '#/components/schemas/Schedule'
|
||||
'ids':
|
||||
'description': >
|
||||
The names of the blocked services.
|
||||
'type': 'array'
|
||||
'items':
|
||||
'type': 'string'
|
||||
'CheckConfigRequest':
|
||||
'type': 'object'
|
||||
'description': 'Configuration to be checked'
|
||||
|
||||
5041
openapi/v1.yaml
Normal file
5041
openapi/v1.yaml
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user