This commit is contained in:
Mateusz Gruszczyński committed 2026-10-08 22:22:46 +02:00
1 parent 76cb4acef0
commit 68678e98be
84 files changed
+1519 -325

No files matched your search

+77 -2
View File
@@ -2,7 +2,7 @@
"openapi": "3.0.3",
"info": {
"title": "RustProxy Administration API",
"version": "0.29.0",
"version": "0.29.2",
"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": [
@@ -412,6 +412,19 @@
"target"
],
"description": "Backend-less client redirect for this location."
},
"internal": {
"type": "boolean",
"default": false,
"description": "Internal named location excluded from public URI matching; reachable only by internal dispatch."
},
"error_fallback": {
"allOf": [
{
"$ref": "#/components/schemas/ErrorFallback"
}
],
"nullable": true
}
},
"additionalProperties": false,
@@ -438,7 +451,10 @@
"description": "Claim the direct www/non-www companion of the selected exact DNS hostname and redirect it permanently to that hostname."
},
"www_redirect_target": {
"type": ["string", "null"],
"type": [
"string",
"null"
],
"description": "An exact hostname from frontend.hosts to use as the canonical redirect destination. Null uses the first hostname for compatibility. Other hostnames continue serving the same vhost without redirects."
},
"forward_client_ip": {
@@ -598,6 +614,15 @@
},
"compression": {
"$ref": "#/components/schemas/CompressionOverrides"
},
"error_fallback": {
"allOf": [
{
"$ref": "#/components/schemas/ErrorFallback"
}
],
"nullable": true,
"description": "Error fallback for the main vhost source."
}
},
"additionalProperties": true,
@@ -5084,6 +5109,21 @@
"maxLength": 8192
},
"description": "Trusted php.ini directive/value overrides combined into the FastCGI PHP_VALUE parameter. PHP_ADMIN_VALUE is not exposed."
},
"path_info": {
"type": "boolean",
"default": false,
"description": "Safely split /script.php/extra/path into SCRIPT_FILENAME/SCRIPT_NAME for the existing script plus PATH_INFO."
},
"php_admin_values": {
"type": "object",
"maxProperties": 64,
"default": {},
"additionalProperties": {
"type": "string",
"maxLength": 8192
},
"description": "Trusted operator PHP-FPM administrative php.ini directives packed into PHP_ADMIN_VALUE. Restrict access to FastCGI endpoints."
}
},
"description": "Optional bounded direct FastCGI connection to a PHP-FPM pool."
@@ -5574,6 +5614,41 @@
"updated_files",
"database"
]
},
"ErrorFallback": {
"type": "object",
"additionalProperties": false,
"properties": {
"target": {
"type": "string",
"maxLength": 64,
"description": "Enabled internal Custom Location ID in the same vhost."
},
"statuses": {
"type": "array",
"minItems": 1,
"maxItems": 6,
"uniqueItems": true,
"default": [
404
],
"items": {
"type": "integer",
"enum": [
403,
404,
500,
502,
503,
504
]
}
}
},
"required": [
"target"
],
"description": "Nginx-style internal error fallback. The original request is internally dispatched without a client redirect."
}
}
},