mirror of
https://github.com/XTLS/Xray-docs-next.git
synced 2026-09-27 09:27:58 +03:00
Shadowsocks: Refine inbound docs and sync RU
This commit is contained in:
@@ -63,21 +63,21 @@ Shadowsocks 2022 新协议格式提升了性能并带有完整的重放保护,
|
||||
|
||||
- Shadowsocks 2022
|
||||
|
||||
使用与 WireGuard 类似的预共享密钥作为密码。
|
||||
使用与 WireGuard 类似的预共享密钥作为密码。
|
||||
|
||||
使用 `openssl rand -base64 <长度>` 以生成与 shadowsocks-rust 兼容的密钥,长度取决于所使用的加密方法。
|
||||
使用 `openssl rand -base64 <长度>` 以生成与 shadowsocks-rust 兼容的密钥,长度取决于所使用的加密方法。
|
||||
|
||||
| 加密方法 | 密钥长度 |
|
||||
| ----------------------------- | -------: |
|
||||
| 2022-blake3-aes-128-gcm | 16 |
|
||||
| 2022-blake3-aes-256-gcm | 32 |
|
||||
| 2022-blake3-chacha20-poly1305 | 32 |
|
||||
| 加密方法 | 密钥长度 |
|
||||
| ----------------------------- | -------: |
|
||||
| 2022-blake3-aes-128-gcm | 16 |
|
||||
| 2022-blake3-aes-256-gcm | 32 |
|
||||
| 2022-blake3-chacha20-poly1305 | 32 |
|
||||
|
||||
在 Go 实现中,32 位密钥始终工作。
|
||||
在 Go 实现中,32 位密钥始终工作。
|
||||
|
||||
- 其他加密方法
|
||||
|
||||
任意字符串。 不限制密码长度,但短密码会更可能被破解,建议使用 16 字符或更长的密码。
|
||||
任意字符串。不限制密码长度,但短密码会更可能被破解,建议使用 16 字符或更长的密码。
|
||||
|
||||
> `level`: number
|
||||
|
||||
@@ -88,6 +88,14 @@ Shadowsocks 2022 新协议格式提升了性能并带有完整的重放保护,
|
||||
|
||||
用户邮箱,用于区分不同用户的流量(日志、统计)。
|
||||
|
||||
> `users`: \[ [UserObject](#userobject) \]
|
||||
|
||||
一个数组,代表一组服务端认可的用户。
|
||||
|
||||
其中每一项是一个用户 [UserObject](#userobject)。
|
||||
|
||||
当存在此选项时,代表启用多用户模式。
|
||||
|
||||
## UserObject
|
||||
|
||||
```json
|
||||
@@ -99,12 +107,16 @@ Shadowsocks 2022 新协议格式提升了性能并带有完整的重放保护,
|
||||
}
|
||||
```
|
||||
|
||||
当存在此选项时,代表启用多用户模式.
|
||||
> `method`: string
|
||||
|
||||
当 InboundConfigurationObject 中的 `method` 不为SS2022选项时,可以在此为每个用户指定 `"method"`。(`"method"`中也仅支持非SS2022选项)与`"password"`(与此同时 InboundConfigurationObject 中的设置的 `"password"` 将会被忽略)。
|
||||
- 当 InboundConfigurationObject 中的 `method` 不为 SS2022 选项时,可以在此为每个用户指定 `"method"`。(`"method"`中也仅支持非 SS2022 选项) 与`"password"`(与此同时 InboundConfigurationObject 中的设置的 `"password"` 将会被忽略)。
|
||||
|
||||
当 InboundConfigurationObject 中的 `method` 为SS2022选项时,出于安全考量,不再支持为单个用户设置 `"method"`,统一为 InboundConfigurationObject 所指定的`"method"`。
|
||||
- 当 InboundConfigurationObject 中的 `method` 为 SS2022 选项时,出于安全考量,不再支持为单个用户设置 `"method"`,统一为 InboundConfigurationObject 所指定的`"method"`。
|
||||
|
||||
注意SS2022并不会像旧SS一样忽略上层 `"password"`, 客户端的正确密码写法应为, `ServerPassword:UserPassword`。如:`"password": "114514:1919810"`
|
||||
> `password`: string
|
||||
|
||||
其余选项与 InboundConfigurationObject 中的含义一致。
|
||||
注意 SS2022 并不会像旧 SS 一样忽略上层 `"password"`, 客户端的正确密码写法应为, `ServerPassword:UserPassword`。如:`"password": "114514:1919810"`
|
||||
|
||||
> 其余选项
|
||||
|
||||
与 InboundConfigurationObject 中的含义一致。
|
||||
|
||||
@@ -63,21 +63,21 @@ Required.
|
||||
|
||||
- Shadowsocks 2022
|
||||
|
||||
Uses a pre-shared key similar to WireGuard as the password.
|
||||
Uses a pre-shared key similar to WireGuard as the password.
|
||||
|
||||
Use `openssl rand -base64 <length>` to generate a key compatible with shadowsocks-rust. The length depends on the encryption method used.
|
||||
Use `openssl rand -base64 <length>` to generate a key compatible with shadowsocks-rust. The length depends on the encryption method used.
|
||||
|
||||
| Encryption Method | Key Length |
|
||||
| ----------------------------- | ---------: |
|
||||
| 2022-blake3-aes-128-gcm | 16 |
|
||||
| 2022-blake3-aes-256-gcm | 32 |
|
||||
| 2022-blake3-chacha20-poly1305 | 32 |
|
||||
| Encryption Method | Key Length |
|
||||
| ----------------------------- | ---------: |
|
||||
| 2022-blake3-aes-128-gcm | 16 |
|
||||
| 2022-blake3-aes-256-gcm | 32 |
|
||||
| 2022-blake3-chacha20-poly1305 | 32 |
|
||||
|
||||
In the Go implementation, 32-byte keys always work.
|
||||
In the Go implementation, 32-byte keys always work.
|
||||
|
||||
- Other encryption methods
|
||||
|
||||
Any string. There is no limit on password length, but short passwords are more likely to be cracked. It is recommended to use passwords of 16 characters or longer.
|
||||
Any string. There is no limit on password length, but short passwords are more likely to be cracked. It is recommended to use passwords of 16 characters or longer.
|
||||
|
||||
> `level`: number
|
||||
|
||||
@@ -88,6 +88,14 @@ The value of `level` corresponds to the `level` value in [policy](../policy.md#l
|
||||
|
||||
User email, used to distinguish traffic from different users (logs, statistics).
|
||||
|
||||
> `users`: [ [UserObject](#userobject) ]
|
||||
|
||||
An array representing a group of users recognized by the server.
|
||||
|
||||
Each item in the array is a [UserObject](#userobject).
|
||||
|
||||
When this option exists, it indicates that multi-user mode is enabled.
|
||||
|
||||
## UserObject
|
||||
|
||||
```json
|
||||
@@ -99,12 +107,16 @@ User email, used to distinguish traffic from different users (logs, statistics).
|
||||
}
|
||||
```
|
||||
|
||||
When this option exists, it indicates that multi-user mode is enabled.
|
||||
> `method`: string
|
||||
|
||||
When the `method` in `InboundConfigurationObject` is not an SS2022 option, you can specify `"method"` for each user here (only non-SS2022 options are supported in `"method"`) along with `"password"` (at the same time, the `"password"` set in `InboundConfigurationObject` will be ignored).
|
||||
- When the `method` in `InboundConfigurationObject` is not an SS2022 option, you can specify `"method"` for each user here (only non-SS2022 options are supported in `"method"`) together with `"password"` (in that case, the `"password"` set in `InboundConfigurationObject` will be ignored).
|
||||
|
||||
When the `method` in `InboundConfigurationObject` is an SS2022 option, for security reasons, setting `"method"` for individual users is no longer supported. It is unified to the `"method"` specified in `InboundConfigurationObject`.
|
||||
- When the `method` in `InboundConfigurationObject` is an SS2022 option, for security reasons, setting `"method"` for individual users is no longer supported. It is unified to the `"method"` specified in `InboundConfigurationObject`.
|
||||
|
||||
> `password`: string
|
||||
|
||||
Note that SS2022 does not ignore the upper-level `"password"` like the old SS did. The correct password format for the client should be `ServerPassword:UserPassword`. For example: `"password": "114514:1919810"`.
|
||||
|
||||
The remaining options have the same meaning as in `InboundConfigurationObject`.
|
||||
> Remaining options
|
||||
|
||||
Have the same meaning as in `InboundConfigurationObject`.
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
Текущая совместимость:
|
||||
|
||||
- Поддерживает пересылку пакетов TCP и UDP, при этом UDP можно выборочно отключить;
|
||||
- Поддерживается пересылка TCP- и UDP-пакетов, при этом UDP можно при необходимости отключить.
|
||||
- Рекомендуемые методы шифрования:
|
||||
- 2022-blake3-aes-128-gcm
|
||||
- 2022-blake3-aes-256-gcm
|
||||
@@ -16,15 +16,15 @@
|
||||
- xchacha20-poly1305 или xchacha20-ietf-poly1305
|
||||
- none или plain
|
||||
|
||||
Новый формат протокола Shadowsocks 2022 повышает производительность и обеспечивает полную защиту от повторов, решая следующие проблемы безопасности старого протокола:
|
||||
Новый формат протокола Shadowsocks 2022 повышает производительность и обеспечивает полноценную защиту от повторов, устраняя следующие проблемы безопасности старого протокола:
|
||||
|
||||
- [Серьезные уязвимости в шифровании Shadowsocks AEAD, которые не могут гарантировать целостность содержимого](https://github.com/shadowsocks/shadowsocks-org/issues/183)
|
||||
- Возрастающий коэффициент ложных срабатываний исходного фильтра повторов TCP с течением времени
|
||||
- Отсутствие защиты от повторов UDP
|
||||
- Поведение TCP, которое можно использовать для активного зондирования
|
||||
- [Серьезные уязвимости в конструкции AEAD-шифрования Shadowsocks, не позволяющие гарантировать надежность связи](https://github.com/shadowsocks/shadowsocks-org/issues/183)
|
||||
- Рост частоты ложных срабатываний исходного TCP-фильтра повторов со временем
|
||||
- Отсутствие защиты от повторов для UDP
|
||||
- Поведение TCP, которое может использоваться для активного зондирования
|
||||
|
||||
::: danger
|
||||
При использовании метода шифрования "none" трафик передается в открытом виде. В целях безопасности не используйте этот метод в общедоступных сетях.
|
||||
При использовании метода шифрования "none" трафик передается в открытом виде. В целях безопасности не используйте этот метод в публичных сетях.
|
||||
:::
|
||||
|
||||
## InboundConfigurationObject
|
||||
@@ -49,11 +49,13 @@
|
||||
|
||||
> `network`: "tcp" | "udp" | "tcp,udp"
|
||||
|
||||
Поддерживаемые типы сетевых протоколов. Например, если указано `"tcp"`, будет приниматься только трафик TCP. Значение по умолчанию: `"tcp"`.
|
||||
Тип сети, которую **прослушивает** серверный порт. Значение по умолчанию: `"tcp"`.
|
||||
|
||||
Обратите внимание, что этот параметр относится только к прослушиванию; он в основном влияет на встроенную передачу UDP в Shadowsocks и управляет ею. Значение `"tcp"` не означает, что inbound отклонит UDP-прокси-запросы. Такие запросы все еще могут быть упакованы в TCP средствами Shadowsocks outbound, например через UoT или mux.cool, и отправлены на сервер; этот параметр их не контролирует.
|
||||
|
||||
> `method`: string
|
||||
|
||||
Метод шифрования, доступные варианты см. выше.
|
||||
Метод шифрования. Список вариантов приведен выше.
|
||||
|
||||
> `password`: string
|
||||
|
||||
@@ -61,30 +63,38 @@
|
||||
|
||||
- Shadowsocks 2022
|
||||
|
||||
Используется предварительный общий ключ, аналогичный WireGuard, в качестве пароля.
|
||||
В качестве пароля используется предварительно согласованный ключ, аналогичный WireGuard.
|
||||
|
||||
Используйте команду `openssl rand -base64 <длина>` для генерации ключа, совместимого с shadowsocks-rust, длина зависит от используемого метода шифрования.
|
||||
Используйте `openssl rand -base64 <длина>` для генерации ключа, совместимого с shadowsocks-rust; длина зависит от выбранного метода шифрования.
|
||||
|
||||
| Метод шифрования | Длина ключа |
|
||||
| ----------------------------- | ----------: |
|
||||
| 2022-blake3-aes-128-gcm | 16 |
|
||||
| 2022-blake3-aes-256-gcm | 32 |
|
||||
| 2022-blake3-chacha20-poly1305 | 32 |
|
||||
| Метод шифрования | Длина ключа |
|
||||
| ----------------------------- | ----------: |
|
||||
| 2022-blake3-aes-128-gcm | 16 |
|
||||
| 2022-blake3-aes-256-gcm | 32 |
|
||||
| 2022-blake3-chacha20-poly1305 | 32 |
|
||||
|
||||
В реализации Go всегда работают 32-битные ключи.
|
||||
В реализации на Go 32-байтовые ключи работают всегда.
|
||||
|
||||
- Другие методы шифрования
|
||||
|
||||
Любая строка. Длина пароля не ограничена, но короткие пароли более уязвимы для взлома, рекомендуется использовать пароли длиной 16 символов или более.
|
||||
Подходит любая строка. Длина пароля не ограничена, но короткие пароли легче подобрать, поэтому рекомендуется использовать пароль длиной не менее 16 символов.
|
||||
|
||||
> `level`: number
|
||||
|
||||
Уровень пользователя, для соединения будет использоваться [локальная политика](../policy.md#levelpolicyobject), соответствующая этому уровню пользователя.
|
||||
Значение `level` соответствует значению `level` в разделе [policy](../policy.md#levelpolicyobject). Если не указано, используется значение по умолчанию - 0.
|
||||
Уровень пользователя. Для соединения будет использоваться [локальная политика](../policy.md#levelpolicyobject), соответствующая этому уровню пользователя.
|
||||
Значение `level` соответствует значению `level` в разделе [policy](../policy.md#levelpolicyobject). Если не указано, по умолчанию используется 0.
|
||||
|
||||
> `email`: string
|
||||
|
||||
Адрес электронной почты пользователя, используется для разделения трафика разных пользователей (журналы, статистика).
|
||||
Адрес электронной почты пользователя, используемый для различения трафика разных пользователей (журналы, статистика).
|
||||
|
||||
> `users`: [ [UserObject](#userobject) ]
|
||||
|
||||
Массив, представляющий группу пользователей, распознаваемых сервером.
|
||||
|
||||
Каждый элемент массива является [UserObject](#userobject).
|
||||
|
||||
Наличие этой опции означает, что включен многопользовательский режим.
|
||||
|
||||
## UserObject
|
||||
|
||||
@@ -97,12 +107,16 @@
|
||||
}
|
||||
```
|
||||
|
||||
Наличие этой опции означает включение многопользовательского режима.
|
||||
> `method`: string
|
||||
|
||||
Если `method` в InboundConfigurationObject не является опцией SS2022, можно указать `"method"` для каждого пользователя. (`"method"` также поддерживает только опции, не относящиеся к SS2022) и `"password"` (при этом `"password"`, установленный в InboundConfigurationObject, будет игнорироваться).
|
||||
- Если `method` в `InboundConfigurationObject` не относится к SS2022, здесь можно указать `"method"` для каждого пользователя (в `"method"` также поддерживаются только не-SS2022 варианты) вместе с `"password"`; при этом `"password"`, заданный в `InboundConfigurationObject`, будет проигнорирован.
|
||||
|
||||
Если `method` в InboundConfigurationObject является опцией SS2022, то из соображений безопасности больше не поддерживается установка `"method"` для отдельных пользователей, используется единый `"method"`, указанный в InboundConfigurationObject.
|
||||
- Если `method` в `InboundConfigurationObject` относится к SS2022, из соображений безопасности больше не поддерживается установка `"method"` для отдельных пользователей. Используется единый `"method"`, указанный в `InboundConfigurationObject`.
|
||||
|
||||
Обратите внимание, что SS2022, в отличие от старого SS, не игнорирует `"password"` верхнего уровня, правильный способ записи пароля клиента: `ServerPassword:UserPassword`. Например: `"password": "114514:1919810"`
|
||||
> `password`: string
|
||||
|
||||
Остальные опции имеют то же значение, что и в InboundConfigurationObject.
|
||||
Обратите внимание: SS2022, в отличие от старого SS, не игнорирует верхнеуровневый `"password"`. Правильный формат пароля на клиенте: `ServerPassword:UserPassword`. Например: `"password": "114514:1919810"`
|
||||
|
||||
> Остальные опции
|
||||
|
||||
Имеют то же значение, что и в `InboundConfigurationObject`.
|
||||
|
||||
Reference in New Issue
Block a user