mirror of
https://github.com/XTLS/Xray-docs-next.git
synced 2026-10-06 13:58:12 +03:00
Remove QUIC, DomainSocket and global transport from EN/RU (#571)
This commit is contained in:
@@ -5,76 +5,6 @@
|
||||
Транспорт определяет способ передачи данных. Обычно оба конца сетевого подключения должны использовать одинаковый транспорт.
|
||||
Например, если один конец использует WebSocket, то другой конец также должен использовать WebSocket, иначе соединение не будет установлено.
|
||||
|
||||
Настройка транспорта (transport) состоит из двух частей:
|
||||
|
||||
1. ~~Глобальные настройки ([TransportObject](#transportobject)) (устарело)~~
|
||||
2. Локальные настройки ([StreamSettingsObject](#streamsettingsobject)).
|
||||
|
||||
- Локальные настройки позволяют указать способ передачи данных для каждого отдельного входящего или исходящего подключения.
|
||||
- Обычно клиент и сервер должны использовать одинаковый транспорт для соответствующих входящих и исходящих подключений.
|
||||
Если в настройках указан тип транспорта, но не указаны конкретные параметры, будут использованы настройки из глобальной конфигурации.
|
||||
|
||||
<details>
|
||||
<summary>Глобальные настройки</summary>
|
||||
|
||||
|
||||
## TransportObject (устарело)
|
||||
|
||||
`TransportObject` соответствует полю `transport` в конфигурационном файле.
|
||||
|
||||
```json
|
||||
{
|
||||
"transport": {
|
||||
"tcpSettings": {},
|
||||
"kcpSettings": {},
|
||||
"wsSettings": {},
|
||||
"httpSettings": {},
|
||||
"quicSettings": {},
|
||||
"dsSettings": {},
|
||||
"grpcSettings": {},
|
||||
"httpupgradeSettings": {}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
> `tcpSettings`: [TcpObject](./transports/tcp.md)
|
||||
|
||||
Настройки TCP-подключений.
|
||||
|
||||
> `kcpSettings`: [KcpObject](./transports/mkcp.md)
|
||||
|
||||
Настройки mKCP-подключений.
|
||||
|
||||
> `wsSettings`: [WebSocketObject](./transports/websocket.md)
|
||||
|
||||
Настройки WebSocket-подключений.
|
||||
|
||||
> `httpSettings`: [HttpObject](./transports/h2.md)
|
||||
|
||||
Настройки HTTP/2-подключений.
|
||||
|
||||
> `quicSettings`: [QuicObject](./transports/quic.md)
|
||||
|
||||
Настройки QUIC-подключений.
|
||||
|
||||
> `grpcSettings`: [GRPCObject](./transports/grpc.md)
|
||||
|
||||
Настройки gRPC-подключений.
|
||||
|
||||
> `httpupgradeSettings`: [HttpUpgradeObject](./transports/httpupgrade.md)
|
||||
|
||||
Настройки HTTPUpgrade-подключений.
|
||||
|
||||
> `splithttpSettings`: [SplitHttpObject](./transports/splithttp.md)
|
||||
|
||||
Настройки SplitHTTP-подключений.
|
||||
|
||||
> `dsSettings`: [DomainSocketObject](./transports/domainsocket.md)
|
||||
|
||||
Настройки Domain Socket-подключений.
|
||||
|
||||
</details>
|
||||
|
||||
## StreamSettingsObject
|
||||
|
||||
`StreamSettingsObject` соответствует полю `streamSettings` во входящем или исходящем подключении.
|
||||
@@ -89,8 +19,6 @@
|
||||
"kcpSettings": {},
|
||||
"wsSettings": {},
|
||||
"httpSettings": {},
|
||||
"quicSettings": {},
|
||||
"dsSettings": {},
|
||||
"grpcSettings": {},
|
||||
"httpupgradeSettings": {},
|
||||
"splithttpSettings": {},
|
||||
@@ -116,7 +44,7 @@
|
||||
}
|
||||
```
|
||||
|
||||
> `network`: "tcp" | "ws" | "h2" | "grpc" | "quic" | "kcp" | "httpupgrade" | "splithttp"
|
||||
> `network`: "tcp" | "ws" | "h2" | "grpc" | "kcp" | "httpupgrade" | "splithttp"
|
||||
|
||||
Тип транспорта, используемый для передачи данных.
|
||||
Значение по умолчанию - `"tcp"`.
|
||||
@@ -171,21 +99,11 @@ Reality - это самый безопасный на данный момент
|
||||
Настройки HTTP/2 для текущего подключения, действуют только при использовании HTTP/2.
|
||||
Настройки аналогичны глобальным настройкам, описанным выше.
|
||||
|
||||
> `quicSettings`: [QUICObject](./transports/quic.md)
|
||||
|
||||
Настройки QUIC для текущего подключения, действуют только при использовании QUIC.
|
||||
Настройки аналогичны глобальным настройкам, описанным выше.
|
||||
|
||||
> `grpcSettings`: [GRPCObject](./transports/grpc.md)
|
||||
|
||||
Настройки gRPC для текущего подключения, действуют только при использовании gRPC.
|
||||
Настройки аналогичны глобальным настройкам, описанным выше.
|
||||
|
||||
> `dsSettings`: [DomainSocketObject](./transports/domainsocket.md)
|
||||
|
||||
Настройки Domain socket для текущего подключения, действуют только при использовании Domain socket.
|
||||
Настройки аналогичны глобальным настройкам, описанным выше.
|
||||
|
||||
> `httpupgradeSettings`: [HttpUpgradeObject](./transports/httpupgrade.md)
|
||||
|
||||
Настройки HTTPUpgrade для текущего подключения, действуют только при использовании HTTPUpgrade.
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
# DomainSocket
|
||||
|
||||
::: danger
|
||||
Рекомендуется прописать в разделе `listen` файла [inbounds](../inbound.md). В качестве способа передачи можно выбрать TCP, WebSocket, HTTP/2.
|
||||
В будущем использование DomainSocket может быть прекращено.
|
||||
:::
|
||||
|
||||
DomainSocket использует стандартные доменные сокеты Unix для передачи данных.
|
||||
|
||||
Его преимущество заключается в использовании встроенного в операционную систему канала передачи, не занимающего сетевой буфер.
|
||||
Теоретически, по сравнению с локальной петлей (local loopback), доменный сокет работает немного быстрее.
|
||||
|
||||
В настоящее время он доступен только на платформах, поддерживающих доменные сокеты Unix, таких как Linux и macOS. Недоступно в Windows 10 до сборки 17036.
|
||||
|
||||
Если в качестве способа передачи указан DomainSocket, то порт и IP-адрес, настроенные во входящем и исходящем прокси, будут недействительны, и вся передача будет осуществляться через DomainSocket.
|
||||
|
||||
## DomainSocketObject
|
||||
|
||||
`DomainSocketObject` соответствует элементу `dsSettings` конфигурации передачи.
|
||||
|
||||
```json
|
||||
{
|
||||
"path": "/path/to/ds/file",
|
||||
"abstract": false,
|
||||
"padding": false
|
||||
}
|
||||
```
|
||||
|
||||
> `path`: string
|
||||
|
||||
Допустимый путь к файлу.
|
||||
|
||||
::: danger
|
||||
Этот файл не должен существовать до запуска Xray.
|
||||
:::
|
||||
|
||||
> `abstract`: true | false
|
||||
|
||||
Является ли сокет абстрактным доменным сокетом, значение по умолчанию `false`.
|
||||
|
||||
> `padding`: true | false
|
||||
|
||||
Использовать ли padding для абстрактного доменного сокета, значение по умолчанию `false`.
|
||||
@@ -1,75 +0,0 @@
|
||||
# QUIC
|
||||
|
||||
QUIC (Quick UDP Internet Connection) — это протокол, предложенный Google для многоканальной передачи данных по UDP. Его основные преимущества:
|
||||
|
||||
1. Сокращение времени установки соединения (1-RTT или 0-RTT).
|
||||
2. Многоканальность и отсутствие проблем с блокировкой, как у TCP.
|
||||
3. Миграция соединений (в основном на стороне клиента): при переходе с Wi-Fi на 4G соединение не разрывается.
|
||||
|
||||
QUIC в настоящее время находится в экспериментальной стадии и использует реализацию IETF, которая находится в процессе стандартизации, поэтому совместимость с финальной версией не гарантируется.
|
||||
|
||||
- По умолчанию:
|
||||
- 12-байтовый Connection ID.
|
||||
- Автоматическое отключение соединения через 30 секунд бездействия (может повлиять на работу некоторых долгоживущих соединений).
|
||||
|
||||
## QuicObject
|
||||
|
||||
`QuicObject` соответствует элементу `quicSettings` в конфигурации транспорта.
|
||||
|
||||
::: danger
|
||||
Конфигурация на обоих концах соединения должна быть полностью идентичной, иначе соединение установить не удастся.
|
||||
QUIC требует включения TLS. Если TLS не включён в настройках транспорта, Xray сгенерирует самоподписанный сертификат для использования TLS.
|
||||
:::
|
||||
|
||||
```json
|
||||
{
|
||||
"security": "none",
|
||||
"key": "",
|
||||
"header": {
|
||||
"type": "none"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
> `security`: "none" | "aes-128-gcm" | "chacha20-poly1305"
|
||||
|
||||
Метод шифрования.
|
||||
|
||||
Это шифрование применяется к пакетам данных QUIC. Зашифрованные пакеты не могут быть распознаны.
|
||||
|
||||
Значение по умолчанию: без шифрования.
|
||||
|
||||
> `key`: string
|
||||
|
||||
Ключ шифрования.
|
||||
|
||||
Может быть любой строкой. Используется только если `security` не равен `"none"`.
|
||||
|
||||
> `header`: [HeaderObject](#headerobject)
|
||||
|
||||
Настройки маскировки заголовков пакетов.
|
||||
|
||||
### HeaderObject
|
||||
|
||||
```json
|
||||
{
|
||||
"type": "none"
|
||||
}
|
||||
```
|
||||
|
||||
> `type`: string
|
||||
|
||||
Тип маскировки. Допустимые значения:
|
||||
|
||||
- `"none"`: значение по умолчанию, маскировка не используется, отправляемые данные не имеют характерных признаков.
|
||||
- `"srtp"`: маскировка под SRTP-трафик (например, FaceTime).
|
||||
- `"utp"`: маскировка под uTP-трафик (например, BitTorrent).
|
||||
- `"wechat-video"`: маскировка под видеозвонки WeChat.
|
||||
- `"dtls"`: маскировка под DTLS 1.2.
|
||||
- `"wireguard"`: маскировка под WireGuard (не является настоящим WireGuard).
|
||||
|
||||
::: tip
|
||||
Если ни шифрование, ни маскировка не включены, то пакеты QUIC отправляются в исходном виде и могут быть распознаны другими инструментами QUIC.
|
||||
|
||||
Для предотвращения обнаружения рекомендуется включить хотя бы шифрование или маскировку.
|
||||
:::
|
||||
Reference in New Issue
Block a user