RU Sockopt: add happyEyeballs
parent
a6eb6886fa
commit
42f8cb4c7c
|
@ -27,6 +27,7 @@
|
|||
"tcpFastOpen": false,
|
||||
"tproxy": "off",
|
||||
"domainStrategy": "AsIs",
|
||||
"happyEyeballs": {},
|
||||
"dialerProxy": "",
|
||||
"acceptProxyProtocol": false,
|
||||
"tcpKeepAliveInterval": 0,
|
||||
|
@ -573,6 +574,7 @@ Reality лишь модифицирует TLS, и для реализации н
|
|||
"tproxy": "off",
|
||||
"domainStrategy": "AsIs",
|
||||
"dialerProxy": "",
|
||||
"happyEyeballs": {},
|
||||
"acceptProxyProtocol": false,
|
||||
"tcpKeepAliveInterval": 0,
|
||||
"tcpKeepAliveIdle": 300,
|
||||
|
@ -824,3 +826,39 @@ PS: Если трафик домена, например, обычный веб-
|
|||
Значение, которое нужно установить для опции. В примере устанавливается значение bbr.
|
||||
|
||||
Если `type` указан как int, значение должно быть десятичным числом.
|
||||
|
||||
|
||||
> `happyEyeballs`: {}
|
||||
|
||||
Реализация happyEyeballs по RFC-8305 применима только к TCP. Когда целью является доменное имя, она запускает "гонку" между IP-адресами и выбирает первый, с которым удалось установить соединение. Это работает, когда `domainStrategy` установлен на `UseIP`/`ForceIP` (включая их v4/v6/v4v6 версии, но это сокращает список доступных IP-адресов только до v4 или v6, что не рекомендуется).
|
||||
|
||||
::: warning
|
||||
При использовании этой функции не используйте `domainStrategy` для исходящего соединения `Freedom`, так как это приведет к тому, что `Sockopt` будет видеть только конечный, уже выбранный IP-адрес.
|
||||
:::
|
||||
|
||||
```json
|
||||
"happyEyeballs": {
|
||||
"tryDelayMs": 250,
|
||||
"prioritizeIPv6": false,
|
||||
"interleave": 1,
|
||||
"maxConcurrentTry": 4,
|
||||
}
|
||||
```
|
||||
|
||||
> `tryDelayMs`: number
|
||||
|
||||
Интервал времени между каждым запросом "гонки", в миллисекундах. По умолчанию 0 (что означает, что функция отключена), рекомендуемое значение — 250.
|
||||
|
||||
> `prioritizeIPv6`: bool
|
||||
|
||||
Тип первого IP-адреса при сортировке IP-адресов. По умолчанию `false` (то есть IPv4 будет первым).
|
||||
|
||||
> `interleave`: number
|
||||
|
||||
"First Address Family count" из RFC-8305, значение по умолчанию — 1. Этот параметр определяет чередование при сортировке IP-адресов разных версий.
|
||||
|
||||
Например, очередь IP-адресов для набора номера будет отсортирована как 46464646 (при значении 1) или 44664466 (при значении 2) (где 6 — это IPv6-адрес, а 4 — IPv4-адрес).
|
||||
|
||||
> `maxConcurrentTry`: number
|
||||
|
||||
Максимальное количество одновременных попыток. Используется для предотвращения ситуации, когда ядро создает большое количество соединений, если разрешено много IP-адресов и ни одно из соединений не увенчалось успехом. По умолчанию 4, установка значения 0 отключает happyEyeballs.
|
||||
|
|
Loading…
Reference in New Issue