mirror of
https://github.com/XTLS/Xray-docs-next.git
synced 2025-08-26 13:25:45 +00:00
RU REALITY: Add rate limiting to fallback handling via token bucket
This commit is contained in:
parent
d0ab676c84
commit
7d1afa75f5
@ -286,6 +286,12 @@ x25519Kyber768Draft00
|
|||||||
"maxClientVer": "",
|
"maxClientVer": "",
|
||||||
"maxTimeDiff": 0,
|
"maxTimeDiff": 0,
|
||||||
"shortIds": ["", "0123456789abcdef"],
|
"shortIds": ["", "0123456789abcdef"],
|
||||||
|
"limitUploadRate": 0,
|
||||||
|
"limitUploadBrust": 0,
|
||||||
|
"limitUploadAfter": 0,
|
||||||
|
"limitDownloadRate": 0,
|
||||||
|
"limitDownloadBrust": 0,
|
||||||
|
"limitDownloadAfter": 0,
|
||||||
"fingerprint": "chrome",
|
"fingerprint": "chrome",
|
||||||
"serverName": "",
|
"serverName": "",
|
||||||
"publicKey": "",
|
"publicKey": "",
|
||||||
@ -319,7 +325,9 @@ Reality лишь модифицирует TLS, и для реализации н
|
|||||||
::: warning
|
::: warning
|
||||||
Из соображений маскировки Xray будет **непосредственно перенаправлять** трафик с неудачной аутентификацией (недопустимый запрос REALITY) на `dest`.
|
Из соображений маскировки Xray будет **непосредственно перенаправлять** трафик с неудачной аутентификацией (недопустимый запрос REALITY) на `dest`.
|
||||||
Если IP-адрес сайта `dest` особый (например, сайт использует CloudFlare CDN), это равносильно тому, что ваш сервер действует как port forward для CloudFlare, что может привести к злоупотреблению.
|
Если IP-адрес сайта `dest` особый (например, сайт использует CloudFlare CDN), это равносильно тому, что ваш сервер действует как port forward для CloudFlare, что может привести к злоупотреблению.
|
||||||
|
|
||||||
Чтобы этого избежать, можно рассмотреть возможность использования Nginx и других методов для фильтрации нежелательных SNI.
|
Чтобы этого избежать, можно рассмотреть возможность использования Nginx и других методов для фильтрации нежелательных SNI.
|
||||||
|
Или вы также можете рассмотреть настройку соответствующих параметров `limit****`, чтобы ограничить скорость.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
> `xver` : number
|
> `xver` : number
|
||||||
@ -358,6 +366,53 @@ Reality лишь модифицирует TLS, и для реализации н
|
|||||||
|
|
||||||
Если содержит пустое значение, `shortId` клиента может быть пустым.
|
Если содержит пустое значение, `shortId` клиента может быть пустым.
|
||||||
|
|
||||||
|
::: warning
|
||||||
|
Предупреждение: Лучшей практикой для REALITY всегда является использование сертификата из той же ASN, поэтому, скорее всего, вам эта функция не понадобится; только если вы вынуждены использовать сертификат CDN, можно рассмотреть включение этой функции, чтобы избежать превращения вашего сервера в узел для других.
|
||||||
|
|
||||||
|
Включение ограничения скорости может ввести новые характеристики, обнаруживаемые GFW! Если вы разработчик GUI/панели/скрипта установки в один клик, обязательно рандомизируйте эти параметры!
|
||||||
|
:::
|
||||||
|
|
||||||
|
::: tip
|
||||||
|
Следующие шесть параметров `limit****` являются необязательными и позволяют ограничить скорость для проксируемых REALITY-соединений. По умолчанию установлено значение 0, что означает "не включено".
|
||||||
|
|
||||||
|
Принцип: Алгоритм ограничения скорости активируется после передачи `after` байт.
|
||||||
|
Ограничение скорости использует алгоритм Token Bucket. Емкость ведра равна `brust`. Каждый переданный байт расходует один токен. Изначально ведро `brust` заполнено.
|
||||||
|
Ведро пополняется со скоростью `rate` токенов в секунду, пока не достигнет полной емкости.
|
||||||
|
|
||||||
|
Пример: `after=10485760`, `brust=5242880`, `rate=1048576` означает, что после передачи `10 МБ` скорость будет ограничена до `1 МБ/с`. Если передача приостановлена, через 5 секунд возможен всплеск скорости до `5 МБ/с`, после чего скорость снова вернется к `1 МБ/с`.
|
||||||
|
|
||||||
|
Рекомендации: Слишком большие значения `after` и `brust` не обеспечат эффективного ограничения скорости, тогда как слишком маленькие `rate` и `brust` могут быть легко обнаружены.
|
||||||
|
Параметры следует устанавливать разумно, учитывая размер ресурсов сайта, с которого "заимствуется" сертификат. Если всплески скорости нежелательны, можно установить `brust` равным `rate`.
|
||||||
|
:::
|
||||||
|
|
||||||
|
> `limitUploadRate` : number
|
||||||
|
|
||||||
|
Необязательный параметр. Ограничивает базовую скорость загрузки (upload) для проксируемых REALITY-соединений (байт/секунду).
|
||||||
|
Не может быть больше, чем `limitUploadBrust`.
|
||||||
|
|
||||||
|
> `limitUploadBrust` : number
|
||||||
|
|
||||||
|
Необязательный параметр. Ограничивает пиковую (burst) скорость загрузки (upload) для проксируемых REALITY-соединений (байт/секунду).
|
||||||
|
Не может быть меньше, чем `limitUploadRate`.
|
||||||
|
|
||||||
|
> `limitUploadAfter` : number
|
||||||
|
|
||||||
|
Необязательный параметр. Ограничение скорости загрузки (upload) для проксируемых REALITY-соединений начинается после передачи указанного количества байт.
|
||||||
|
|
||||||
|
> `limitDownloadRate` : number
|
||||||
|
|
||||||
|
Необязательный параметр. Ограничивает базовую скорость скачивания (download) для проксируемых REALITY-соединений (байт/секунду).
|
||||||
|
Не может быть больше, чем `limitDownloadBrust`.
|
||||||
|
|
||||||
|
> `limitDownloadBrust` : number
|
||||||
|
|
||||||
|
Необязательный параметр. Ограничивает пиковую (burst) скорость скачивания (download) для проксируемых REALITY-соединений (байт/секунду).
|
||||||
|
Не может быть меньше, чем `limitDownloadRate`.
|
||||||
|
|
||||||
|
> `limitDownloadAfter` : number
|
||||||
|
|
||||||
|
Необязательный параметр. Ограничение скорости скачивания (download) для проксируемых REALITY-соединений начинается после передачи указанного количества байт.
|
||||||
|
|
||||||
::: tip
|
::: tip
|
||||||
Ниже приведена конфигурация для **исходящего** подключения (**клиента**).
|
Ниже приведена конфигурация для **исходящего** подключения (**клиента**).
|
||||||
:::
|
:::
|
||||||
|
Loading…
Reference in New Issue
Block a user