diff --git a/docs/.vuepress/config/sidebar/ru.ts b/docs/.vuepress/config/sidebar/ru.ts index 3d01eba..eb61b11 100644 --- a/docs/.vuepress/config/sidebar/ru.ts +++ b/docs/.vuepress/config/sidebar/ru.ts @@ -34,7 +34,7 @@ export const sidebarRu: SidebarConfig = { { text: "Входящие подключения", children: [ - "/ru/config/inbounds/dokodemo.md", + "/ru/config/inbounds/tunnel(dokodemo).md", "/ru/config/inbounds/http.md", "/ru/config/inbounds/shadowsocks.md", "/ru/config/inbounds/socks.md", diff --git a/docs/ru/config/inbounds/index.md b/docs/ru/config/inbounds/index.md index d6dc913..db6b5a6 100644 --- a/docs/ru/config/inbounds/index.md +++ b/docs/ru/config/inbounds/index.md @@ -2,7 +2,7 @@ Xray поддерживает следующие входящие протоколы: -- [Dokodemo-Door](../inbounds/dokodemo.md) +- [Dokodemo-Door](../inbounds/tunnel(dokodemo).md) - [HTTP](../inbounds/http.md) - [Shadowsocks](../inbounds/shadowsocks.md) - [Socks](../inbounds/socks.md) diff --git a/docs/ru/config/inbounds/dokodemo.md b/docs/ru/config/inbounds/tunnel(dokodemo).md similarity index 83% rename from docs/ru/config/inbounds/dokodemo.md rename to docs/ru/config/inbounds/tunnel(dokodemo).md index 4b62cdd..61cc43c 100644 --- a/docs/ru/config/inbounds/dokodemo.md +++ b/docs/ru/config/inbounds/tunnel(dokodemo).md @@ -1,6 +1,6 @@ -# Dokodemo-Door +# Tunnel -Dokodemo door может прослушивать локальный порт и отправлять все данные, поступающие на этот порт, на порт указанного сервера, тем самым реализуя перенаправление портов. +`Tunnel`, или `Dokodemo door`, может прослушивать локальный порт и все поступающие на этот порт данные отправлять через `outbound` на указанный порт сервера, тем самым достигая эффекта перенаправления портов. ## InboundConfigurationObject @@ -16,13 +16,13 @@ Dokodemo door может прослушивать локальный порт и > `address`: address -Перенаправлять трафик на этот адрес. Может быть IP-адресом, например, `"1.2.3.4"`, или доменным именем, например, `"xray.com"`. Тип данных: строка. +Перенаправлять трафик на этот адрес. Может быть IP-адресом, например, `"1.2.3.4"`, или доменным именем, например, `"xray.com"`, по умолчанию `"localhost"`. Если `followRedirect` (см. ниже) равно `true`, то `address` может быть пустым. > `port`: number -Перенаправлять трафик на указанный порт целевого адреса, диапазон \[1, 65535\], тип данных: число. Обязательный параметр. +Перенаправляет трафик на указанный порт целевого адреса, диапазон `[0, 65535]`, числовой тип. Если не заполнено или равно `0`, по умолчанию используется порт прослушиваемого адреса. > `network`: "tcp" | "udp" | "tcp,udp" diff --git a/docs/ru/config/transport.md b/docs/ru/config/transport.md index 2e4bd3e..f7f5538 100644 --- a/docs/ru/config/transport.md +++ b/docs/ru/config/transport.md @@ -121,7 +121,8 @@ Reality — это самое безопасное на данный момен "curvePreferences": [""], "masterKeyLog": "", "echConfigList": "", - "echServerKeys": "" + "echServerKeys": "", + "echForceQuery": "" } ``` @@ -300,6 +301,21 @@ x25519Kyber768Draft00 Полученный Config можно опубликовать в HTTPS-записи DNS (см. пример в [Google DNS](https://dns.google/query?name=encryptedsni.com&rr_type=HTTPS) или RFC 9460). Учтите: сервер, настроенный на использование ECH, всё ещё принимает обычные не-ECH-соединения. Но клиент, настроенный на ECH, при неудачной ECH-рукопожатии сразу завершит соединение, не откатываясь к открытому SNI. +> `echForceQuery` : string + +Управляет политикой при использовании DNS-запросов для `ECH Config`, доступны опции `none`(по умолчанию), `half`, `full`. + +`none`: Запрашивается один раз. Если не удалось получить действительный `ECH Config`, следующий запрос будет выполнен через пять минут. В случае неудачного запроса **`ECH` использоваться не будет**. + +`half`: Запрашивается один раз. В случае неудачи, попытка запроса будет повторяться при каждом новом соединении. В случае неудачного запроса **`ECH` использоваться не будет**. Если запрос успешен, но ответ не содержит `ECH Config`, **`ECH` также использоваться не будет**, и повторных запросов не будет в течение пяти минут. + +`full`: Запрашивается один раз, успешное соединение требует обязательного получения действительного `ECH Config`, в противном случае соединение не будет установлено. Этот вариант рекомендуется, если вы уверены в необходимости использования `ECH`. Первые два варианта имитируют поведение `fallback` для обеспечения доступности, но это может привести к отправке `SNI` в открытом виде. + +Независимо от успеха запроса, только первое соединение будет блокироваться в ожидании ответа на DNS-запрос. Последующие обновления не будут блокировать соединения. + +> `echSockopt` : [SockoptObject](#sockoptobject) + +Настраивает параметры базового `socket` для соединения, используемого при выполнении DNS-запросов для записей `ECH`. ### RealityObject @@ -432,7 +448,8 @@ Reality лишь модифицирует TLS, и для реализации н Рекомендации: Слишком большие значения `afterBytes` и `burstBytesPerSec` не приведут к желаемому эффекту ограничения скорости. Слишком маленькие значения `bytesPerSec` и `burstBytesPerSec` могут быть легко обнаружены. -Следует разумно подбирать параметры в зависимости от размера ресурсов веб-сайта-источника. Если внезапные скачки скорости нежелательны, установите для `burstBytesPerSec` значение 0. ::: +Следует разумно подбирать параметры в зависимости от размера ресурсов веб-сайта-источника. Если внезапные скачки скорости нежелательны, установите для `burstBytesPerSec` значение 0. +::: > `afterBytes` : number @@ -683,7 +700,7 @@ Reality лишь модифицирует TLS, и для реализации н Для прозрачного проксирования требуются права root или `CAP_NET_ADMIN`. ::: danger -Если в [Dokodemo-door](./inbounds/dokodemo.md) указано `followRedirect: true` и `tproxy` в настройках Sockopt пуст, то значение `tproxy` в настройках Sockopt будет установлено в `"redirect"`. +Если в [Dokodemo-door](./inbounds/tunnel(dokodemo).md) указано `followRedirect: true` и `tproxy` в настройках Sockopt пуст, то значение `tproxy` в настройках Sockopt будет установлено в `"redirect"`. ::: > `domainStrategy`: "AsIs"