|
38 | 38 | grpc-service-name: example |
39 | 39 | # grpc-user-agent: |
40 | 40 | # ping-interval: 0 |
| 41 | + # max-connections: 1 |
| 42 | + # min-streams: 0 |
| 43 | + # max-streams: 0 |
41 | 44 | ``` |
42 | 45 | === "ws" |
43 | 46 | ```{.yaml linenums="1"} |
|
84 | 87 | # X-Forwarded-For: "" |
85 | 88 | # no-grpc-header: false |
86 | 89 | # x-padding-bytes: "100-1000" |
| 90 | + # sc-max-each-post-bytes: 1000000 |
| 91 | + # reuse-settings: # aka XMUX |
| 92 | + # max-connections: "16-32" |
| 93 | + # max-concurrency: "0" |
| 94 | + # c-max-reuse-times: "0" |
| 95 | + # h-max-request-times: "600-900" |
| 96 | + # h-max-reusable-secs: "1800-3000" |
87 | 97 | # download-settings: |
88 | 98 | # ## xhttp part |
89 | 99 | # path: "/" |
|
92 | 102 | # X-Forwarded-For: "" |
93 | 103 | # no-grpc-header: false |
94 | 104 | # x-padding-bytes: "100-1000" |
| 105 | + # sc-max-each-post-bytes: 1000000 |
| 106 | + # reuse-settings: # aka XMUX |
| 107 | + # max-connections: "16-32" |
| 108 | + # max-concurrency: "0" |
| 109 | + # c-max-reuse-times: "0" |
| 110 | + # h-max-request-times: "600-900" |
| 111 | + # h-max-reusable-secs: "1800-3000" |
95 | 112 | # ## proxy part |
96 | 113 | # server: server |
97 | 114 | # port: 443 |
@@ -155,6 +172,24 @@ gRPC UserAgent |
155 | 172 |
|
156 | 173 | Интервал пульсации gRPC (по умолчанию отключен), единица измерения — секунды. |
157 | 174 |
|
| 175 | +### grpc-opts.max-connections |
| 176 | + |
| 177 | +Максимальное количество соединений. По умолчанию равно 1, что означает использование только одного базового соединения. |
| 178 | + |
| 179 | +Конфликтует с `max-streams`. |
| 180 | + |
| 181 | +### grpc-opts.min-streams |
| 182 | + |
| 183 | +Минимальное количество мультиплексированных потоков в соединении до открытия нового соединения. |
| 184 | + |
| 185 | +Конфликтует с `max-streams`. |
| 186 | + |
| 187 | +### grpc-opts.max-streams |
| 188 | + |
| 189 | +Максимальное количество мультиплексированных потоков в соединении до открытия нового соединения. |
| 190 | + |
| 191 | +Конфликтует как с `max-connections`, так и с `min-streams`. |
| 192 | + |
158 | 193 | ## ws-opts |
159 | 194 |
|
160 | 195 | Настройки транспортного уровня `ws`, действуют только когда транспортный уровень - `ws` |
@@ -189,3 +224,63 @@ gRPC UserAgent |
189 | 224 |
|
190 | 225 | !!! note |
191 | 226 | VLESS поддерживает только транспортный уровень xhttp; пожалуйста, не используйте его с другими протоколами. |
| 227 | + |
| 228 | +### xhttp-opts.path |
| 229 | + |
| 230 | +Путь запроса |
| 231 | + |
| 232 | +### xhttp-opts.host |
| 233 | + |
| 234 | +Имя хоста |
| 235 | + |
| 236 | +### xhttp-opts.mode |
| 237 | + |
| 238 | +Режим, параметры: `auto`, `stream-one`, `stream-up` или `packet-up` |
| 239 | + |
| 240 | +### xhttp-opts.headers |
| 241 | + |
| 242 | +Заголовки запроса |
| 243 | + |
| 244 | +### xhttp-opts.no-grpc-header |
| 245 | + |
| 246 | +Указывает, следует ли отправлять заголовок `Content-Type: application/grpc` для маскировки под gRPC для запросов stream-up/one. |
| 247 | + |
| 248 | +### xhttp-opts.x-padding-bytes |
| 249 | + |
| 250 | +Заголовки запроса клиента по умолчанию включают `Referer: ...?x_padding=XXX...`, с длиной по умолчанию от 100 до 1000 байт, рандомизированной для каждого запроса. Сервер проверяет, находится ли она в допустимом диапазоне. |
| 251 | + |
| 252 | +### xhttp-opts.sc-max-each-post-bytes |
| 253 | + |
| 254 | +Максимальный объем данных, который может передавать каждый POST-запрос клиента (значение по умолчанию). 1000000 эквивалентно 1 МБ. Это значение должно быть меньше максимального объема, разрешенного HTTP-посредниками, такими как CDN. Сервер также будет отклонять POST-запросы, превышающие это значение. |
| 255 | + |
| 256 | +### xhttp-opts.reuse-settings |
| 257 | + |
| 258 | +Настройки повторного использования соединений (например, XMUX) |
| 259 | + |
| 260 | +Примечание: В отличие от исходной реализации, этот параметр не имеет значения по умолчанию. Если он не указан, повторное использование соединений не будет включено, то есть каждый раз будет открываться новое базовое соединение. |
| 261 | + |
| 262 | +### xhttp-opts.reuse-settings.max-connections |
| 263 | + |
| 264 | +Максимальное количество прокси-запросов, которые могут существовать одновременно в каждом TCP/QUIC-соединении. Как только количество прокси-запросов в соединении достигнет этого значения, ядро установит новое соединение для обработки большего количества прокси-запросов. |
| 265 | + |
| 266 | +### xhttp-opts.reuse-settings.max-concurrency |
| 267 | + |
| 268 | +Максимальное количество одновременных соединений. До достижения этого значения каждый новый запрос к прокси-серверу будет открывать новое соединение. После этого ядро начнет повторно использовать существующие соединения. Это значение конфликтует с `max-connections`, поэтому можно выбрать только одно. |
| 269 | + |
| 270 | +### xhttp-opts.reuse-settings.c-max-reuse-times |
| 271 | + |
| 272 | +Максимальное количество раз, когда соединение может быть повторно использовано. После этого количества повторных использований новые запросы к прокси-серверу назначаться не будут, и соединение будет закрыто после закрытия последнего внутреннего запроса к прокси-серверу. |
| 273 | + |
| 274 | +### xhttp-opts.reuse-settings.h-max-request-times |
| 275 | + |
| 276 | +Максимальное количество раз, когда может быть передано одно соединение. Этот параметр неточен, и запросы GET в Golang имеют автоматические повторные попытки, поэтому заполнять его не рекомендуется. |
| 277 | + |
| 278 | +### xhttp-opts.reuse-settings.h-max-reusable-secs |
| 279 | + |
| 280 | +По истечении этого времени новые HTTP-запросы не будут назначаться соединению TCP/QUIC, и соединение будет закрыто после закрытия последнего внутреннего HTTP-запроса. |
| 281 | + |
| 282 | +### xhttp-opts.download-settings |
| 283 | + |
| 284 | +Настройки разделения загрузки/выгрузки |
| 285 | + |
| 286 | +Примечание: Этот параметр переопределяет исходную конфигурацию. Если какой-либо параметр не указан, будут использоваться параметры загрузки. |
0 commit comments