76 lines
3.7 KiB
Markdown
Raw Normal View History

# 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.
Для предотвращения обнаружения рекомендуется включить хотя бы шифрование или маскировку.
:::