From fe9e1356830b7078d744f34397873e68675ed04a Mon Sep 17 00:00:00 2001 From: Nikita Korotaev Date: Sun, 14 Jul 2024 18:58:29 +0500 Subject: [PATCH] translate /config/transports/websocket.md --- docs/ru/config/transports/websocket.md | 58 ++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 docs/ru/config/transports/websocket.md diff --git a/docs/ru/config/transports/websocket.md b/docs/ru/config/transports/websocket.md new file mode 100644 index 0000000..86b5a47 --- /dev/null +++ b/docs/ru/config/transports/websocket.md @@ -0,0 +1,58 @@ +# WebSocket + +Использует стандартный WebSocket для передачи данных. + +Подключение WebSocket может быть разделено другими HTTP-серверами (например, Nginx) и VLESS fallbacks path. + +::: tip +WebSocket распознает заголовок X-Forwarded-For в HTTP-запросе для перезаписи исходного адреса трафика, приоритет выше, чем у PROXY protocol. +::: + +## WebSocketObject + +`WebSocketObject` соответствует элементу `wsSettings` в конфигурации транспорта. + +```json +{ + "acceptProxyProtocol": false, + "path": "/", + "host": "xray.com", + "headers": { + "key": "value" + } +} +``` + +> `acceptProxyProtocol`: true | false + +Только для входящих подключений, указывает, следует ли принимать PROXY protocol. + +[PROXY protocol](https://www.haproxy.org/download/2.2/doc/proxy-protocol.txt) используется для передачи реального исходного IP-адреса и порта запроса, **если вы не знаете, что это такое, проигнорируйте этот параметр**. + +Распространенные программы-обработчики обратного прокси (например, HAProxy, Nginx) можно настроить на его отправку, VLESS fallbacks xver также может его отправлять. + +Если установлено значение `true`, то после установления TCP-соединения на самом нижнем уровне запрашивающая сторона должна сначала отправить PROXY protocol v1 или v2, иначе соединение будет закрыто. + +> `path`: string + +Путь, используемый WebSocket в HTTP-протоколе, значение по умолчанию — `"/"`. + +Если в пути клиента есть параметр `ed` (например, ```/mypath?ed=2560```), будет активирован `Early Data` для уменьшения задержки. + +> `host`: string + +Хост, отправляемый в HTTP-запросе WebSocket, значение по умолчанию — пустое. Если значение на стороне сервера пустое, значение хоста, отправленное клиентом, не проверяется. + +Если это значение указано на стороне сервера или `host` указан в `headers`, то проверяется соответствие хоста запроса клиента. + +Приоритет выбора хоста для отправки клиентом: `host` > `headers` > `address`. + +> `headers`: map \{string: string\} + +Пользовательские HTTP-заголовки, пары ключ-значение, где каждый ключ представляет имя HTTP-заголовка, а соответствующее значение является строкой. + +Значение по умолчанию: пустое. + +## Browser Dialer + +Использует браузер для обработки TLS, подробнее см. в [Browser Dialer](../features/browser_dialer.md). \ No newline at end of file