This commit is contained in:
Mateusz Gruszczyński committed 2026-10-11 17:10:04 +02:00
1 parent d942c1a35d
commit 75104f87ba
103 files changed
+1344 -370

No files matched your search

+127 -3
View File
@@ -2,7 +2,7 @@
"openapi": "3.0.3",
"info": {
"title": "RustProxy Administration API",
"version": "0.31.4",
"version": "0.31.5",
"description": "Administration API for the active panel origin. Sign in through the panel; the same-origin HttpOnly cookie authenticates all private operations. Mutations also require the exact Origin, X-RustProxy-Request: 1 and a session-bound X-CSRF-Token. Loopback HTTP is the default; Settings can enable HTTPS before using a non-loopback administration bind. This document contains no live configuration or credentials. Object schemas marked extensible are summaries: full configuration validation is authoritative in Rust."
},
"servers": [
@@ -659,6 +659,9 @@
],
"nullable": true,
"description": "Error fallback for the main vhost source."
},
"user_agent_blocking": {
"$ref": "#/components/schemas/UserAgentBlocking"
}
},
"additionalProperties": true,
@@ -917,6 +920,9 @@
"$ref": "#/components/schemas/PhpFpmProfile"
},
"description": "Named PHP-FPM configurations reusable by Web Services."
},
"user_agent_blocking": {
"$ref": "#/components/schemas/UserAgentBlocking"
}
},
"additionalProperties": true
@@ -5607,6 +5613,14 @@
"modified_ms": {
"type": "integer",
"format": "int64"
},
"group_id": {
"type": "string",
"description": "Stable logical source group. Per-vhost active JSONL and rotated .gz members share the same vhost:<id> group."
},
"compressed": {
"type": "boolean",
"description": "True for a rotated gzip source member."
}
},
"additionalProperties": false
@@ -5675,6 +5689,52 @@
"items": {
"$ref": "#/components/schemas/FileLogSource"
}
},
"aggregation": {
"type": [
"object",
"null"
],
"description": "Optional repeated-value aggregation computed across the bounded matching scan before pagination.",
"properties": {
"field": {
"type": "string"
},
"min_count": {
"type": "integer",
"minimum": 2
},
"entries": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"value": {
"type": "string"
},
"count": {
"type": "integer",
"minimum": 1
}
},
"required": [
"value",
"count"
]
}
},
"truncated": {
"type": "boolean"
}
},
"additionalProperties": false,
"required": [
"field",
"min_count",
"entries",
"truncated"
]
}
},
"additionalProperties": false
@@ -5887,6 +5947,25 @@
"additionalProperties": true
}
}
},
"UserAgentBlocking": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": {
"type": "boolean",
"default": false
},
"patterns": {
"type": "array",
"maxItems": 128,
"items": {
"type": "string",
"maxLength": 256
},
"description": "Case-insensitive User-Agent block patterns. Plain text matches a substring; * is a wildcard."
}
}
}
}
},
@@ -8686,7 +8765,8 @@
"not_found_hosts",
"streams",
"acl-profiles",
"host-policies"
"host-policies",
"user-agent-blocking"
]
},
"description": "Configuration section to replace."
@@ -10720,6 +10800,16 @@
"type": "string"
}
},
{
"name": "consolidate_vhosts",
"in": "query",
"required": false,
"description": "When true and source is vhost:<id>, scan the active JSONL plus all discovered rotated .gz members that share that vhost group.",
"schema": {
"type": "boolean",
"default": false
}
},
{
"name": "q",
"in": "query",
@@ -10782,6 +10872,40 @@
"maxLength": 256
}
},
{
"name": "aggregate_field",
"in": "query",
"required": false,
"description": "Optional parsed field to count across matching records before pagination. Supports nested fields accepted by Stored Logs search.",
"schema": {
"type": "string",
"maxLength": 192
}
},
{
"name": "aggregate_min_count",
"in": "query",
"required": false,
"description": "Minimum occurrences required for an aggregate value.",
"schema": {
"type": "integer",
"minimum": 2,
"maximum": 20000,
"default": 2
}
},
{
"name": "aggregate_limit",
"in": "query",
"required": false,
"description": "Maximum aggregate values returned.",
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 50
}
},
{
"name": "offset",
"in": "query",
@@ -10899,4 +11023,4 @@
}
}
}
}
}