This commit is contained in:
Mateusz Gruszczyński committed 2026-10-10 00:18:06 +02:00
1 parent ad95bfb050
commit 1431dd47f0
62 files changed
+1360 -198

No files matched your search

+35 -6
View File
@@ -1839,21 +1839,21 @@
"webServicePhpHeaderLimit": "Max FastCGI response header bytes",
"webServicePhpStderrLimit": "Max PHP-FPM stderr log bytes",
"webServicePhpCustomParams": "Custom FastCGI parameters",
"webServicePhpCustomParamsHelp": "One NAME = value entry per line. Static trusted values only; core CGI, HTTP_* and PHP_* control names are reserved.",
"webServicePhpCustomParamsHelp": "One NAME = value per line, e.g. APP_ENV = production. Names: A-Z, digits, underscores; no HTTP_*, PHP_VALUE, PHP_ADMIN_VALUE or core CGI parameters.",
"webServicePhpCustomParamsInvalid": "Custom FastCGI parameters must use one unique NAME = value entry per line.",
"webServicePhpCustomDataTooLarge": "Custom FastCGI parameters and PHP INI overrides may use at most 128 KiB combined.",
"webServicePhpValues": "PHP INI overrides (PHP_VALUE)",
"webServicePhpValuesHelp": "One php.ini directive = value per line. RustProxy sends the validated set as PHP_VALUE; PHP_ADMIN_VALUE is never accepted here.",
"webServicePhpValuesHelp": "One directive = value per line, e.g. memory_limit = 256M, upload_max_filesize = 64M, post_max_size = 64M; PHP_FPM decides which can be changed.",
"webServicePhpValuesInvalid": "PHP INI overrides must use one unique directive = value entry per line.",
"webServicePhpDocsButton": "FastCGI syntax and safety",
"webServicePhpDocsTitle": "PHP-FPM / FastCGI configuration",
"webServicePhpDocsIntro": "RustProxy connects directly to an existing PHP-FPM pool. Prefer a Unix socket on the same host. TCP is accepted only on loopback and is not a public/network FastCGI transport.",
"webServicePhpDocsEndpointTitle": "Endpoint syntax",
"webServicePhpDocsEndpoint": "For TCP, include the tcp: prefix, a literal loopback IP and port. Hostnames and non-loopback addresses are rejected. For Unix sockets, RustProxy must have permission to connect to the socket.",
"webServicePhpDocsEndpoint": "Use unix: plus full socket path, or tcp: plus a literal loopback IP and port. TCP hostnames/public addresses are rejected. Use distinct FPM sockets for applications with different PHP INI restrictions.",
"webServicePhpDocsCustomTitle": "Custom FastCGI parameters",
"webServicePhpDocsCustom": "Use one NAME = value entry per line. Names are normalized to uppercase and may contain A-Z, 0-9 and underscore. These are static trusted operator values. RustProxy rejects core CGI names, HTTP_* names, PHP_VALUE and PHP_ADMIN_VALUE so they cannot override request routing, script selection or HTTP-derived parameters.",
"webServicePhpDocsCustom": "One NAME = value per line (NAME starts with a letter and contains A-Z, digits or underscore). Static values only. SCRIPT_FILENAME, HTTP_* and PHP_VALUE/PHP_ADMIN_VALUE are reserved.",
"webServicePhpDocsValuesTitle": "PHP INI overrides",
"webServicePhpDocsValues": "These lines are combined into the FastCGI PHP_VALUE parameter. PHP-FPM/PHP still decides which directives are changeable at this scope. Newlines/control characters are rejected and PHP_ADMIN_VALUE is intentionally unavailable.",
"webServicePhpDocsValues": "These lines go into PHP_VALUE. Use the separate PHP_ADMIN_VALUE field for trusted administrative settings; neither one isolates workers sharing the same PHP-FPM pool.",
"webServicePhpDocsLimitsTitle": "Limits and headers",
"webServicePhpDocsLimits": "Request timeout covers the FastCGI exchange. The body limit is enforced while streaming and returns 413 when exceeded; 0 disables the RustProxy-side body limit. Response-header and stderr limits bound memory/diagnostic data. Up to 64 custom FastCGI parameters and 64 PHP INI overrides are accepted, with at most 128 KiB of combined custom data. Authorization forwarding can be disabled for applications that do not need HTTP_AUTHORIZATION.",
"webServicePhpDocsSecurity": "Do not put secrets in custom parameters or PHP_VALUE unless you accept storing them in normal Web Service configuration. Use a dedicated non-root PHP-FPM pool identity and keep PHP-FPM off public networks.",
@@ -2253,6 +2253,35 @@
"phpProfileDelete": "Delete this PHP-FPM profile?",
"phpProfileInvalid": "Invalid PHP-FPM profile fields",
"phpProfileDuplicate": "Duplicate PHP-FPM profile ID",
"phpProfileShared": "shared profile"
"phpProfileShared": "shared profile",
"backendHealthEnabled": "Monitor backend health (active and passive)",
"backendHealthOverride": "Custom health check for this backend",
"backendHealthOverridesHelp": "When unchecked, inherit the vhost health policy. Disabling monitoring keeps the backend available for explicitly pinned locations, without active probes or passive ejection. Use a custom check for an individual backend.",
"cacheOnlyHits": "Expose cache diagnostics only on HIT (hide MISS and BYPASS)",
"phpHintEnabled": "Run configured PHP file extensions through an already-running PHP-FPM pool. RustProxy does not start PHP; non-PHP files remain static.",
"phpHintPathInfo": "Split /static.php/skins/file.css into SCRIPT_FILENAME=static.php and PATH_INFO=/skins/file.css. Useful for Roundcube; usually unnecessary for WordPress. Off by default.",
"phpHintPassAuthorization": "Pass the incoming Authorization header as HTTP_AUTHORIZATION to PHP (API/Bearer/Basic authentication). Disable if not needed.",
"phpHintExtensions": "Comma-separated extensions without leading dots: php, phtml. Only these extensions run as PHP.",
"phpHintConnectTimeout": "PHP-FPM socket connection timeout in milliseconds: 1000 = 1 second. Range: 50–60000.",
"phpHintRequestTimeout": "Timeout for the complete FastCGI request in milliseconds: 30000 = 30 seconds. Range: 100–3600000.",
"phpHintConcurrency": "Maximum concurrent PHP requests per service: e.g. 64. Exhaustion returns 503. Range: 1–4096.",
"phpHintBodyLimit": "Request-body limit in bytes: 67108864 = 64 MiB. 0 means no RustProxy-side limit. PHP post_max_size is separate.",
"phpHintHeaderLimit": "Maximum FastCGI response header length in bytes: 65536 = 64 KiB. Range: 4096–1048576.",
"phpHintStderrLimit": "Maximum PHP-FPM STDERR bytes logged per request: e.g. 4096. 0 disables stderr capture (max 65536).",
"phpHintAdminValues": "Trusted administrative INI settings, e.g. open_basedir = /var/www/webmail/:/tmp/. Use a dedicated PHP-FPM pool/socket to prevent cross-vhost INI leakage.",
"phpDocsScope": "These fields and examples apply to local PHP settings in a Web Service and to a reusable PHP-FPM profile. The chosen profile supplies PHP settings to all attached services; RustProxy connects to an already-running FPM pool.",
"phpDocsSwitchesTitle": "Enable PHP and handle PATH_INFO",
"phpDocsLimitsTitle": "Execution and size limits",
"phpDocsLimitsText": "PHP extensions: php, phtml (comma-separated). Connect timeout: 1000 ms = 1 second. Full request timeout: 30000 ms = 30 seconds. Maximum concurrent requests: 64 (exhaustion returns 503). Request body limit: 67108864 bytes = 64 MiB; 0 is unlimited in RustProxy. Response headers: 65536 bytes. STDERR capture: 4096 bytes; 0 disables it. Enter whole numbers; PHP INI limits are configured separately.",
"phpDocsValuesText": "Enter one directive = value per line in PHP INI overrides (PHP_VALUE), NOT in custom FastCGI parameters. Use php.ini syntax without [section] headers or PHP tags. Units such as M/G, booleans On/Off and timeouts in seconds are interpreted by PHP. Some PHP directives cannot be changed via PHP_VALUE. Never duplicate a key in PHP_ADMIN_VALUE.",
"phpDocsAdminTitle": "PHP_ADMIN_VALUE — privileged INI overrides",
"phpDocsAdminText": "Enter these in PHP administrator INI overrides (PHP_ADMIN_VALUE). On Unix, open_basedir is a colon-separated list of application-specific allowed paths, e.g. /var/www/webmail/:/tmp/. Prefer php_admin_value[...] defined in a dedicated PHP-FPM pool for sensitive directives. Do not apply Roundcube restrictions to WordPress workers.",
"phpDocsOtherTitle": "Validation, storage and troubleshooting",
"phpDocsOtherText": "INI names may contain letters, digits, dot, underscore and hyphen (max 64 bytes). Values must be nonempty (max 8192 bytes). At most 64 custom FastCGI parameters and 64 INI entries per map; combined data at most 128 KiB. Newlines/control characters inside values are rejected. All values are saved in standard configuration; avoid secrets. A syntactically valid option can still be rejected or ignored by PHP-FPM.",
"phpDocsPoolWarning": "Important: PHP_VALUE/PHP_ADMIN_VALUE do NOT isolate vhosts sharing PHP-FPM workers. WordPress and Roundcube must use distinct pool sockets if their INI policies differ. Restart old PHP-FPM workers after separating them. PATH_INFO is not a workaround for open_basedir.",
"vhostInterceptOriginErrors": "Replace application error bodies with RustProxy error pages",
"vhostInterceptOriginStatuses": "Intercept HTTP statuses (comma-separated)",
"vhostInterceptOriginErrorsHelp": "Example: 404, 500, 502, 503, 504. For selected codes, RustProxy keeps the HTTP error status and returns the vhost/global custom error page, or a built-in one. Application content/cookies are removed; the replacement is no-store. Off by default. Internal named-location fallbacks take precedence. Applies to reverse proxy and Web Server (including PHP).",
"vhostInterceptOriginInvalid": "Select one or more unique supported HTTP codes: 400, 401, 403, 404, 408, 413, 429, 500, 502, 503, 504."
}
}
+35 -6
View File
@@ -1839,21 +1839,21 @@
"webServicePhpHeaderLimit": "Maks. bajtów nagłówków odpowiedzi FastCGI",
"webServicePhpStderrLimit": "Maks. bajtów stderr PHP-FPM w logu",
"webServicePhpCustomParams": "Własne parametry FastCGI",
"webServicePhpCustomParamsHelp": "Jeden wpis NAZWA = wartość na linię. Tylko statyczne, zaufane wartości; podstawowe CGI, HTTP_* i kontrolne PHP_* są zarezerwowane.",
"webServicePhpCustomParamsHelp": "Jedna linia NAME = wartość, np. APP_ENV = production. Nazwy: A-Z, cyfry i podkreślenia; bez HTTP_*, PHP_VALUE, PHP_ADMIN_VALUE i podstawowych parametrów CGI.",
"webServicePhpCustomParamsInvalid": "Własne parametry FastCGI muszą mieć unikalny format NAZWA = wartość, po jednym wpisie na linię.",
"webServicePhpCustomDataTooLarge": "Własne parametry FastCGI i nadpisania PHP INI mogą łącznie zajmować maksymalnie 128 KiB.",
"webServicePhpValues": "Nadpisania PHP INI (PHP_VALUE)",
"webServicePhpValuesHelp": "Jedna dyrektywa php.ini = wartość na linię. RustProxy wysyła zwalidowany zestaw jako PHP_VALUE; PHP_ADMIN_VALUE nie jest tutaj dozwolone.",
"webServicePhpValuesHelp": "Jedna dyrektywa = wartość w wierszu, np. memory_limit = 256M, upload_max_filesize = 64M, post_max_size = 64M. O możliwości zmiany decyduje PHP-FPM.",
"webServicePhpValuesInvalid": "Nadpisania PHP INI muszą mieć unikalny format dyrektywa = wartość, po jednym wpisie na linię.",
"webServicePhpDocsButton": "Składnia i bezpieczeństwo FastCGI",
"webServicePhpDocsTitle": "Konfiguracja PHP-FPM / FastCGI",
"webServicePhpDocsIntro": "RustProxy łączy się bezpośrednio z istniejącą pulą PHP-FPM. Na tym samym hoście preferuj socket Unix. TCP jest akceptowane wyłącznie na loopback i nie jest publicznym/sieciowym transportem FastCGI.",
"webServicePhpDocsEndpointTitle": "Składnia endpointu",
"webServicePhpDocsEndpoint": "Dla TCP podaj prefiks tcp:, literalny adres IP loopback oraz port. Nazwy hostów i adresy inne niż loopback są odrzucane. Dla socketu Unix proces RustProxy musi mieć prawo połączenia z socketem.",
"webServicePhpDocsEndpoint": "Użyj unix: z pełną ścieżką gniazda albo tcp: z adresem IP loopback i portem. Nazwy DNS i publiczne adresy TCP są zabronione. Oddziel pule PHP-FPM aplikacji z różnymi ograniczeniami INI.",
"webServicePhpDocsCustomTitle": "Własne parametry FastCGI",
"webServicePhpDocsCustom": "Użyj jednego wpisu NAZWA = wartość na linię. Nazwy są normalizowane do wielkich liter i mogą zawierać A-Z, 0-9 oraz podkreślenie. Są to statyczne, zaufane wartości operatora. RustProxy odrzuca podstawowe nazwy CGI, HTTP_*, PHP_VALUE i PHP_ADMIN_VALUE, więc nie można nimi nadpisać routingu requestu, wyboru skryptu ani parametrów pochodzących z HTTP.",
"webServicePhpDocsCustom": "Jedna linia NAME = wartość (nazwa zaczyna się literą i zawiera A-Z, cyfry lub podkreślenie). Wartości są statyczne. SCRIPT_FILENAME, HTTP_* i PHP_VALUE/PHP_ADMIN_VALUE są zastrzeżone.",
"webServicePhpDocsValuesTitle": "Nadpisania PHP INI",
"webServicePhpDocsValues": "Te linie są łączone w parametr FastCGI PHP_VALUE. PHP-FPM/PHP nadal decyduje, które dyrektywy można zmieniać w tym zakresie. Znaki nowej linii/kontrolne są odrzucane, a PHP_ADMIN_VALUE jest celowo niedostępne.",
"webServicePhpDocsValues": "Każda linia trafia do PHP_VALUE. Zaufane ustawienia administracyjne wpisuj osobno w PHP_ADMIN_VALUE; żadne z tych pól nie izoluje procesów korzystających z tej samej puli PHP-FPM.",
"webServicePhpDocsLimitsTitle": "Limity i nagłówki",
"webServicePhpDocsLimits": "Timeout żądania obejmuje wymianę FastCGI. Limit body jest egzekwowany podczas streamingu i po przekroczeniu zwraca 413; 0 wyłącza limit body po stronie RustProxy. Limity nagłówków odpowiedzi i stderr ograniczają pamięć/dane diagnostyczne. Dozwolone są maks. 64 własne parametry FastCGI i 64 nadpisania PHP INI, łącznie do 128 KiB danych własnych. Przekazywanie Authorization można wyłączyć, gdy aplikacja nie potrzebuje HTTP_AUTHORIZATION.",
"webServicePhpDocsSecurity": "Nie umieszczaj sekretów we własnych parametrach ani PHP_VALUE, jeśli nie akceptujesz ich przechowywania w zwykłej konfiguracji Web Service. Używaj osobnej, nieuprzywilejowanej tożsamości puli PHP-FPM i nie wystawiaj PHP-FPM do publicznej sieci.",
@@ -2253,6 +2253,35 @@
"phpProfileDelete": "Usunąć profil PHP-FPM?",
"phpProfileInvalid": "Nieprawidłowe pola profilu PHP-FPM",
"phpProfileDuplicate": "ID profilu PHP-FPM już istnieje",
"phpProfileShared": "profil wspólny"
"phpProfileShared": "profil wspólny",
"backendHealthEnabled": "Monitoruj stan backendu (aktywnie i pasywnie)",
"backendHealthOverride": "Osobny health check dla tego backendu",
"backendHealthOverridesHelp": "Bez nadpisania backend dziedziczy ustawienia vhosta. Wylaczenie monitorowania nie blokuje lokalizacji przypisanych do backendu, ale wylacza probe aktywna i pasywne wykluczanie.",
"cacheOnlyHits": "Pokazuj naglowki diagnostyki cache tylko dla HIT (ukryj MISS i BYPASS)",
"phpHintEnabled": "Uruchamia pliki o wskazanych rozszerzeniach przez już działającą pulę PHP-FPM. RustProxy nie uruchamia PHP; inne pliki nadal są statyczne.",
"phpHintPathInfo": "Rozdziela /static.php/skins/file.css na SCRIPT_FILENAME=static.php i PATH_INFO=/skins/file.css. Potrzebne np. w Roundcube; zwykle zbędne w WordPressie. Domyślnie wyłączone.",
"phpHintPassAuthorization": "Przekazuje nagłówek Authorization do PHP jako HTTP_AUTHORIZATION (np. API/Bearer/Basic). Wyłącz, gdy aplikacja go nie używa.",
"phpHintExtensions": "Rozszerzenia oddzielone przecinkami, bez kropek: php, phtml. Tylko te rozszerzenia uruchamiają PHP.",
"phpHintConnectTimeout": "Limit łączenia z gniazdem PHP-FPM w milisekundach: 1000 = 1 sekunda. Zakres: 50–60000.",
"phpHintRequestTimeout": "Limit całego żądania FastCGI w milisekundach: 30000 = 30 sekund. Zakres: 100–3600000.",
"phpHintConcurrency": "Maksymalna liczba równoległych żądań PHP na usługę, np. 64. Przekroczenie zwraca 503. Zakres: 1–4096.",
"phpHintBodyLimit": "Limit treści żądania w bajtach: 67108864 = 64 MiB. 0 = bez limitu po stronie RustProxy. PHP post_max_size jest osobny.",
"phpHintHeaderLimit": "Maksymalny rozmiar nagłówków odpowiedzi FastCGI w bajtach: 65536 = 64 KiB. Zakres: 4096–1048576.",
"phpHintStderrLimit": "Maksymalna liczba bajtów STDERR PHP-FPM w logu na żądanie, np. 4096. 0 wyłącza przechwytywanie (maks. 65536).",
"phpHintAdminValues": "Administracyjne ustawienia INI, np. open_basedir = /var/www/webmail/:/tmp/. Aby zapobiec przeciekaniu ustawień między vhostami, stosuj osobne pule i gniazda PHP-FPM.",
"phpDocsScope": "Te same pola i przykłady obowiązują w lokalnych ustawieniach PHP usługi WWW i we współdzielonym profilu PHP-FPM. Wybrany profil dostarcza ustawienia wszystkim przypiętym usługom; RustProxy łączy się z uruchomioną pulą.",
"phpDocsSwitchesTitle": "Włączanie PHP i obsługa PATH_INFO",
"phpDocsLimitsTitle": "Limity wykonania i rozmiarów",
"phpDocsLimitsText": "Rozszerzenia PHP: php, phtml (oddzielone przecinkami). Timeout połączenia: 1000 ms = 1 s. Całe żądanie: 30000 ms = 30 s. Maksymalnie 64 równoległe żądania (po przekroczeniu 503). Limit żądania: 67108864 bajtów = 64 MiB; 0 oznacza brak limitu w RustProxy. Nagłówki odpowiedzi: 65536 bajtów. Log STDERR: 4096 bajtów; 0 wyłącza. Wprowadź liczby całkowite; limity PHP INI to osobne ustawienia.",
"phpDocsValuesText": "Wpisuj po jednej dyrektywie = wartość w wierszu w polu PHP INI overrides (PHP_VALUE), a NIE w parametrach FastCGI. Składnia php.ini bez sekcji [sekcja] i bez tagów PHP. Jednostki M/G, wartości On/Off i czasy w sekundach interpretuje PHP. Nie każdą dyrektywę wolno zmienić przez PHP_VALUE. Nie powielaj jej w PHP_ADMIN_VALUE.",
"phpDocsAdminTitle": "PHP_ADMIN_VALUE — administracyjne dyrektywy INI",
"phpDocsAdminText": "Wpisuj je w pole Administracyjne ustawienia PHP (PHP_ADMIN_VALUE). W systemie Unix open_basedir jest listą dozwolonych ścieżek oddzielonych dwukropkiem, np. /var/www/webmail/:/tmp/. Ważne ograniczenia lepiej ustawiać jako php_admin_value[...] w osobnej puli PHP-FPM. Nie stosuj ograniczeń Roundcube dla procesów WordPressa.",
"phpDocsOtherTitle": "Walidacja, przechowywanie i diagnostyka",
"phpDocsOtherText": "Nazwa dyrektywy INI może zawierać litery, cyfry, kropkę, podkreślenie i myślnik (maks. 64 bajty). Wartość nie może być pusta (maks. 8192 bajtów). Maksymalnie 64 parametry FastCGI i 64 wpisy INI w każdej mapie; łącznie maks. 128 KiB. Znaki sterujące i wielowierszowe wartości są odrzucane. Dane trafiają do zwykłej konfiguracji — nie zapisuj tam sekretów. PHP-FPM może odrzucić poprawną składniowo opcję.",
"phpDocsPoolWarning": "Ważne: PHP_VALUE/PHP_ADMIN_VALUE NIE izolują vhostów współdzielących procesy PHP-FPM. WordPress i Roundcube wymagają oddzielnych gniazd, jeśli mają różne ograniczenia INI. Po rozdzieleniu uruchom ponownie procesy PHP-FPM. PATH_INFO nie rozwiązuje problemu open_basedir.",
"vhostInterceptOriginErrors": "Zastępuj treść błędów aplikacji stronami błędów RustProxy",
"vhostInterceptOriginStatuses": "Przechwytywane kody HTTP (oddziel przecinkami)",
"vhostInterceptOriginErrorsHelp": "Przykład: 404, 500, 502, 503, 504. Dla wybranych kodów RustProxy zachowa kod błędu, ale wyświetli stronę skonfigurowaną dla vhosta/globalnie albo wbudowaną. Treść i ciasteczka aplikacji zostaną usunięte, a odpowiedź otrzyma no-store. Domyślnie wyłączone. Wewnętrzne lokalizacje błędów mają pierwszeństwo. Działa dla Reverse Proxy i Web Server (także PHP).",
"vhostInterceptOriginInvalid": "Podaj co najmniej jeden unikalny obsługiwany kod HTTP: 400, 401, 403, 404, 408, 413, 429, 500, 502, 503, 504."
}
}