mirror of
https://github.com/XTLS/Xray-docs-next.git
synced 2025-01-21 02:01:41 +03:00
76 lines
3.7 KiB
Markdown
76 lines
3.7 KiB
Markdown
|
# 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.
|
|||
|
|
|||
|
Для предотвращения обнаружения рекомендуется включить хотя бы шифрование или маскировку.
|
|||
|
:::
|