RU TLS: Add ECH
parent
d8efd313cc
commit
ac3714fb4d
|
@ -119,7 +119,9 @@ Reality — это самое безопасное на данный момен
|
|||
"fingerprint": "chrome",
|
||||
"pinnedPeerCertificateChainSha256": [""],
|
||||
"curvePreferences": [""],
|
||||
"masterKeyLog": ""
|
||||
"masterKeyLog": "",
|
||||
"echConfigList": "",
|
||||
"echServerKeys": ""
|
||||
}
|
||||
```
|
||||
|
||||
|
@ -276,7 +278,28 @@ x25519Kyber768Draft00
|
|||
|
||||
> `masterKeyLog` : string
|
||||
|
||||
Путь к файлу журнала (Pre)-Master-Secret, который можно использовать для расшифровки TLS-соединений, отправляемых Xray, с помощью Wireshark и других программ, пока не поддерживается для использования с utls.
|
||||
Файл журнала (Pre)-Master-Secret, путь к которому задаётся здесь, может быть использован в Wireshark и других программах для расшифровки TLS-соединений, устанавливаемых Xray.
|
||||
|
||||
> `echConfigList` : string
|
||||
|
||||
Только для клиента. Задаёт ECHConfig; если значение задано — клиент включает Encrypted Client Hello. Поддерживаются два формата.
|
||||
|
||||
Фиксированный ECHConfig, например `"AF7+DQBaAAAgACA51i3Ssu4wUMV4FNCc8iRX5J+YC4Bhigz9sacl2lCfSQAkAAEAAQABAAIAAQADAAIAAQACAAIAAgADAAMAAQADAAIAAwADAAtleGFtcGxlLmNvbQAA"`
|
||||
|
||||
Получение через DNS. Удобно при использовании CDN: по HTTPS-записи можно динамически получить ECHConfig; Xray будет соблюдать TTL, возвращённый сервером. Запрашивается SNI из конфигурации или доменное имя сервера (если SNI пуст и целью является домен).
|
||||
|
||||
Базовый вид строки: `"udp://1.1.1.1"` — запрос по UDP DNS к 1.1.1.1. `"https://1.1.1.1/dns-query"` — запрос по DoH (пример; замените на доступный сервер). В обоих случаях можно указать порт, например `udp://1.1.1.1:53`; если порт не указан, берутся значения по умолчанию 53/443.
|
||||
|
||||
Особый случай: можно задать домен, из чьей записи будет браться ECHConfig, например `"example.com+https://1.1.1.1/dns-query"`. Тогда Xray принудительно использует ECHConfig из DNS-записи example.com, что полезно, если нужно получить ECHConfig через DNS, но не хочется светить целевой домен в HTTPS-запросе или публиковать у него HTTPS-запись.
|
||||
|
||||
> `echServerKeys` : string
|
||||
|
||||
Только для сервера. Включает Encrypted Client Hello на стороне сервера.
|
||||
|
||||
Создайте ключи командой `xray tls ech --serverName example.com` где `example.com` — SNI, который будет открыт наружу (можно указать любой). Server Key содержит и ECHConfig; если клиентский Config потерян, его можно восстановить командой `xray tls ech -i "ваш server key"`.
|
||||
Полученный Config можно опубликовать в HTTPS-записи DNS (см. пример в [Google DNS](https://dns.google/query?name=encryptedsni.com&rr_type=HTTPS) или RFC 9460).
|
||||
|
||||
Учтите: сервер, настроенный на использование ECH, всё ещё принимает обычные не-ECH-соединения. Но клиент, настроенный на ECH, при неудачной ECH-рукопожатии сразу завершит соединение, не откатываясь к открытому SNI.
|
||||
|
||||
### RealityObject
|
||||
|
||||
|
|
Loading…
Reference in New Issue