From f7913721e2063aef4fb8c7e0a51b1291aa0aeac9 Mon Sep 17 00:00:00 2001 From: TWRoman Date: Wed, 15 Apr 2026 10:25:31 +0300 Subject: [PATCH] Updates in CONFIG_PARAMS based on lastest commits --- docs/Config_params/CONFIG_PARAMS.en.md | 9 +++------ docs/Config_params/CONFIG_PARAMS.ru.md | 22 ++++++++++++++++++++++ 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/docs/Config_params/CONFIG_PARAMS.en.md b/docs/Config_params/CONFIG_PARAMS.en.md index a36182c..253fe83 100644 --- a/docs/Config_params/CONFIG_PARAMS.en.md +++ b/docs/Config_params/CONFIG_PARAMS.en.md @@ -2542,8 +2542,7 @@ Note: This section also accepts the legacy alias `[server.admin_api]` (same sche [censorship] mask_relay_max_bytes = 5242880 ``` -## "cfg-censorship-mask_relay_timeout_ms" -- `mask_relay_timeout_ms` +## mask_relay_timeout_ms - **Constraints / validation**: Should be `>= mask_relay_idle_timeout_ms`. - **Description**: Wall-clock cap for the full masking relay on non-MTProto fallback paths. Raise when the mask target is a long-lived service (e.g. WebSocket). Default: 60 000 ms (1 minute). - **Example**: @@ -2552,8 +2551,7 @@ Note: This section also accepts the legacy alias `[server.admin_api]` (same sche [censorship] mask_relay_timeout_ms = 60000 ``` -## "cfg-censorship-mask_relay_idle_timeout_ms" -- `mask_relay_idle_timeout_ms` +## mask_relay_idle_timeout_ms - **Constraints / validation**: Should be `<= mask_relay_timeout_ms`. - **Description**: Per-read idle timeout on masking relay and drain paths. Limits resource consumption by slow-loris attacks and port scanners. A read call stalling beyond this value is treated as an abandoned connection. Default: 5 000 ms (5 s). - **Example**: @@ -2562,8 +2560,7 @@ Note: This section also accepts the legacy alias `[server.admin_api]` (same sche [censorship] mask_relay_idle_timeout_ms = 5000 ``` -## "cfg-censorship-mask_classifier_prefetch_timeout_ms" -- `mask_classifier_prefetch_timeout_ms` +## mask_classifier_prefetch_timeout_ms - **Constraints / validation**: Must be within `[5, 50]` (milliseconds). - **Description**: Timeout budget (ms) for extending fragmented initial classifier window on masking fallback. - **Example**: diff --git a/docs/Config_params/CONFIG_PARAMS.ru.md b/docs/Config_params/CONFIG_PARAMS.ru.md index bdd2dac..eb00ffc 100644 --- a/docs/Config_params/CONFIG_PARAMS.ru.md +++ b/docs/Config_params/CONFIG_PARAMS.ru.md @@ -2299,6 +2299,8 @@ | [`mask_shape_above_cap_blur`](#mask_shape_above_cap_blur) | `bool` | `false` | | [`mask_shape_above_cap_blur_max_bytes`](#mask_shape_above_cap_blur_max_bytes) | `usize` | `512` | | [`mask_relay_max_bytes`](#mask_relay_max_bytes) | `usize` | `5242880` | +| [`mask_relay_timeout_ms`](mask_relay_timeout_ms) | `u64` | `60_000` | +| [`mask_relay_idle_timeout_ms`](mask_relay_idle_timeout_ms) | `u64` | `5_000` | | [`mask_classifier_prefetch_timeout_ms`](#mask_classifier_prefetch_timeout_ms) | `u64` | `5` | | [`mask_timing_normalization_enabled`](#mask_timing_normalization_enabled) | `bool` | `false` | | [`mask_timing_normalization_floor_ms`](#mask_timing_normalization_floor_ms) | `u64` | `0` | @@ -2544,6 +2546,26 @@ [censorship] mask_relay_max_bytes = 5242880 ``` + +## mask_relay_timeout_ms + - **Constraints / validation**: Должно быть больше или равно `mask_relay_idle_timeout_ms`. + - **Description**: Жёсткий лимит по реальному времени (wall-clock) для полного маскирующего проксирования на fallback-путях без MTProto. Увеличивайте значение, если целевой сервис маскирования является долгоживущим (например, WebSocket-соединение). Значение по умолчанию: 60 000 мс (1 минута). + - **Example**: + + ```toml + [censorship] + mask_relay_timeout_ms = 60000 + ``` +## mask_relay_idle_timeout_ms + - **Constraints / validation**: Должно быть меньше или равно `mask_relay_timeout_ms`. + - **Description**: Тайм-аут простоя на каждую операцию чтения (per-read idle timeout) в маскирующем прокси и drain-пайплайнах. Ограничивает потребление ресурсов при атаках типа slow-loris и сканировании портов. Если операция чтения блокируется дольше заданного времени, соединение считается заброшенным и закрывается. Значение по умолчанию: 5 000 мс (5 с). + - **Example**: + + ```toml + [censorship] + mask_relay_idle_timeout_ms = 5000 + ``` + ## mask_classifier_prefetch_timeout_ms - **Ограничения / валидация**: Должно быть в пределах `[5, 50]` (миллисекунд). - **Описание**: Лимит времени ожидания (в миллисекундах) для расширения первых входящих данных в режиме fallback-маскировки.