diff --git a/docs/ru/config/policy.md b/docs/ru/config/policy.md new file mode 100644 index 0000000..d393861 --- /dev/null +++ b/docs/ru/config/policy.md @@ -0,0 +1,144 @@ +# Локальные политики + +Локальные политики позволяют настраивать различные уровни пользователей и соответствующие им политики, например, настройки тайм-аута подключения. +Каждое соединение, обрабатываемое Xray, соответствует определенному пользователю, и к нему применяются политики в соответствии с уровнем пользователя (level). + +## PolicyObject + +`PolicyObject` соответствует полю `policy` в конфигурационном файле. + +```json +{ + "policy": { + "levels": { + "0": { + "handshake": 4, + "connIdle": 300, + "uplinkOnly": 2, + "downlinkOnly": 5, + "statsUserUplink": false, + "statsUserDownlink": false, + "bufferSize": 4 + } + }, + "system": { + "statsInboundUplink": false, + "statsInboundDownlink": false, + "statsOutboundUplink": false, + "statsOutboundDownlink": false + } + } +} +``` + +> `level`: map{string: [LevelPolicyObject](#levelpolicyobject)} + +Набор пар ключ-значение, где каждый ключ - это число в виде строки (требование JSON), например `"0"`, `"1"` и т.д. (кавычки обязательны). +Это число соответствует уровню пользователя. +Каждое значение - это [LevelPolicyObject](#levelpolicyobject). + +::: tip +Теперь можно настроить уровень пользователя для каждого входящего и исходящего подключения. +Xray будет применять различные локальные политики в соответствии с фактическим уровнем пользователя. +::: + +> `system`: [SystemPolicyObject](#systempolicyobject) + +Политики уровня системы Xray. + +### LevelPolicyObject + +```json +{ + "handshake": 4, + "connIdle": 300, + "uplinkOnly": 2, + "downlinkOnly": 5, + "statsUserUplink": false, + "statsUserDownlink": false, + "bufferSize": 10240 +} +``` + +> `handshake`: number + +Ограничение времени на установление соединения (рукопожатие). +Измеряется в секундах. +Значение по умолчанию - `4`. +При обработке нового соединения входящим прокси, если время, затраченное на рукопожатие, превышает это значение, соединение разрывается. + +> `connIdle`: number + +Ограничение времени простоя соединения. +Измеряется в секундах. +Значение по умолчанию - `300`. +При обработке соединения входящим или исходящим прокси, если в течение времени `connIdle` не было передано никаких данных (включая исходящие и входящие данные), соединение разрывается. + +> `uplinkOnly`: number + +Ограничение времени ожидания после закрытия исходящего канала соединения. +Измеряется в секундах. +Значение по умолчанию - `2`. +Когда сервер (например, удаленный веб-сайт) закрывает исходящее соединение, исходящий прокси разрывает соединение через `uplinkOnly` секунд. + +> `downlinkOnly`: number + +Ограничение времени ожидания после закрытия входящего канала соединения. +Измеряется в секундах. +Значение по умолчанию - `5`. +Когда клиент (например, браузер) закрывает входящее соединение, входящий прокси разрывает соединение через `downlinkOnly` секунд. + +::: tip +При просмотре веб-страниц можно установить `uplinkOnly` и `downlinkOnly` в `0`, чтобы ускорить закрытие соединений. +::: + +> `statsUserUplink`: true | false + +Если значение равно `true`, включить учет исходящего трафика для всех пользователей текущего уровня. + +> `statsUserDownlink`: true | false + +Если значение равно `true`, включить учет входящего трафика для всех пользователей текущего уровня. + +> `bufferSize`: number + +Размер внутреннего буфера для каждого соединения. +Измеряется в килобайтах. +Если значение равно `0`, внутренний буфер отключается. + +Значение по умолчанию: + +- На платформах ARM, MIPS, MIPSLE значение по умолчанию - `0`. +- На платформах ARM64, MIPS64, MIPS64LE значение по умолчанию - `4`. +- На других платформах значение по умолчанию - `512`. + +### SystemPolicyObject + +```json +{ + "statsInboundUplink": false, + "statsInboundDownlink": false, + "statsOutboundUplink": false, + "statsOutboundDownlink": false +} +``` + +> `statsInboundUplink`: true | false + +Если значение равно `true`, включить учет исходящего трафика для всех входящих подключений. + +> `statsInboundDownlink`: true | false + +Если значение равно `true`, включить учет входящего трафика для всех входящих подключений. + +> `statsOutboundUplink`: true | false + +Если значение равно `true`, включить учет исходящего трафика для всех исходящих подключений. + +> `statsOutboundDownlink`: true | false + +Если значение равно `true`, включить учет входящего трафика для всех исходящих подключений. + + + +