feat: enhance DoH profile management and resolver policy in modules
CI / changes (push) Successful in 6s
CI / openapi (push) Successful in 1m2s
CI / go (push) Successful in 27s
CI / docker-web (push) Successful in 1m27s
CI / docker-bird (push) Has been skipped
CI / bird2 (push) Successful in 16s
CI / docker-go (push) Successful in 8m5s
CI / changes (push) Successful in 6s
CI / openapi (push) Successful in 1m2s
CI / go (push) Successful in 27s
CI / docker-web (push) Successful in 1m27s
CI / docker-bird (push) Has been skipped
CI / bird2 (push) Successful in 16s
CI / docker-go (push) Successful in 8m5s
- Added `DohResolverPolicy` schema to OpenAPI documentation, defining policies for domain resolution. - Updated module handling to support multiple DoH profiles via `doh_profile_ids` and introduced `doh_resolver_policy` in the API. - Refactored related functions to accommodate the new DoH profile structure, ensuring backward compatibility with existing `doh_profile_id`. - Enhanced UI components to allow selection and management of DoH profiles and policies in the web interface. - Updated database interactions to handle new fields and ensure proper data normalization.
This commit is contained in:
@@ -295,6 +295,18 @@ components:
|
||||
- DOMAINS
|
||||
- IP_RANGES
|
||||
|
||||
DohResolverPolicy:
|
||||
type: string
|
||||
description: |
|
||||
Политика резолва доменов через DoH при нескольких профилях.
|
||||
`primary_only` — только первый профиль; `failover` — по порядку до первого успешного;
|
||||
`union` — объединение A/AAAA со всех профилей.
|
||||
enum:
|
||||
- primary_only
|
||||
- failover
|
||||
- union
|
||||
default: primary_only
|
||||
|
||||
JobStatus:
|
||||
type: string
|
||||
description: Статус задачи; перечень может расширяться.
|
||||
@@ -332,6 +344,14 @@ components:
|
||||
type: integer
|
||||
doh_profile_id:
|
||||
type: ["string", "null"]
|
||||
description: Первый DoH-профиль (legacy); предпочтительно `doh_profile_ids`.
|
||||
doh_profile_ids:
|
||||
type: array
|
||||
items:
|
||||
$ref: "#/components/schemas/ResourceId"
|
||||
description: Упорядоченный список DoH-профилей для модулей `DOMAINS`.
|
||||
doh_resolver_policy:
|
||||
$ref: "#/components/schemas/DohResolverPolicy"
|
||||
refresh_interval_sec:
|
||||
type: ["integer", "null"]
|
||||
minimum: 0
|
||||
@@ -363,6 +383,14 @@ components:
|
||||
default: 0
|
||||
doh_profile_id:
|
||||
type: ["string", "null"]
|
||||
description: Первый DoH-профиль (legacy); предпочтительно `doh_profile_ids`.
|
||||
doh_profile_ids:
|
||||
type: array
|
||||
items:
|
||||
$ref: "#/components/schemas/ResourceId"
|
||||
description: Упорядоченный список DoH-профилей для модулей `DOMAINS`.
|
||||
doh_resolver_policy:
|
||||
$ref: "#/components/schemas/DohResolverPolicy"
|
||||
refresh_interval_sec:
|
||||
type: ["integer", "null"]
|
||||
last_refreshed_at:
|
||||
@@ -385,6 +413,14 @@ components:
|
||||
type: integer
|
||||
doh_profile_id:
|
||||
type: ["string", "null"]
|
||||
description: Первый DoH-профиль (legacy); предпочтительно `doh_profile_ids`.
|
||||
doh_profile_ids:
|
||||
type: array
|
||||
items:
|
||||
$ref: "#/components/schemas/ResourceId"
|
||||
description: Упорядоченный список DoH-профилей для модулей `DOMAINS`.
|
||||
doh_resolver_policy:
|
||||
$ref: "#/components/schemas/DohResolverPolicy"
|
||||
refresh_interval_sec:
|
||||
type: ["integer", "null"]
|
||||
cron_expr:
|
||||
|
||||
Reference in New Issue
Block a user