Files
XTLS_Xray-docs-next/docs/ru/config/inbounds/shadowsocks.md
T

6.9 KiB

Shadowsocks

Протокол Shadowsocks, совместимый с большинством других реализаций.

Текущая совместимость:

  • Поддерживается пересылка TCP- и UDP-пакетов, при этом UDP можно при необходимости отключить.
  • Рекомендуемые методы шифрования:
    • 2022-blake3-aes-128-gcm
    • 2022-blake3-aes-256-gcm
    • 2022-blake3-chacha20-poly1305
  • Другие методы шифрования:
    • aes-256-gcm
    • aes-128-gcm
    • chacha20-poly1305 или chacha20-ietf-poly1305
    • xchacha20-poly1305 или xchacha20-ietf-poly1305
    • none или plain

Новый формат протокола Shadowsocks 2022 повышает производительность и обеспечивает полноценную защиту от повторов, устраняя следующие проблемы безопасности старого протокола:

::: danger При использовании метода шифрования "none" трафик передается в открытом виде. В целях безопасности не используйте этот метод в публичных сетях. :::

InboundConfigurationObject

InboundConfigurationObject соответствует элементу settings в InboundObject.

{
  "inbounds": [
    {
      // ...
      "protocol": "shadowsocks",
      // [!code focus:13]
      "settings": {
        "network": "tcp,udp",
        "method": "aes-256-gcm",
        "password": "114514",
        "level": 0,
        "email": "love@xray.com",
        "users": [
          {
            "password": "1919810",
            "method": "aes-128-gcm"
          }
        ]
      }
    }
  ]
}

network: "tcp" | "udp" | "tcp,udp"

Тип сети, которую прослушивает серверный порт. Значение по умолчанию: "tcp".

Обратите внимание, что этот параметр относится только к прослушиванию; он в основном влияет на встроенную передачу UDP в Shadowsocks и управляет ею. Значение "tcp" не означает, что inbound отклонит UDP-прокси-запросы, потому что такие запросы все еще могут быть упакованы в TCP-пакеты через XUDP в Mux.Cool и отправлены на сервер.

method: string

Метод шифрования. Список вариантов приведен выше.

password: string

Обязательный параметр.

  • Shadowsocks 2022

    В качестве пароля используется предварительно согласованный ключ, аналогичный WireGuard.

    Используйте openssl rand -base64 <длина> для генерации ключа, совместимого с shadowsocks-rust; длина зависит от выбранного метода шифрования.

    Метод шифрования Длина ключа
    2022-blake3-aes-128-gcm 16
    2022-blake3-aes-256-gcm 32
    2022-blake3-chacha20-poly1305 32

    В реализации на Go 32-байтовые ключи работают всегда.

  • Другие методы шифрования

    Подходит любая строка. Длина пароля не ограничена, но короткие пароли легче подобрать, поэтому рекомендуется использовать пароль длиной не менее 16 символов.

level: number

Уровень пользователя. Для соединения будет использоваться локальная политика, соответствующая этому уровню пользователя. Значение level соответствует значению level в разделе policy. Если не указано, по умолчанию используется 0.

email: string

Адрес электронной почты пользователя, используемый для различения трафика разных пользователей (журналы, статистика).

users: [ UserObject ]

Массив, представляющий группу пользователей, распознаваемых сервером.

Каждый элемент массива является UserObject.

Наличие этой опции означает, что включен многопользовательский режим.

UserObject

{
  "password": "1919810",
  "method": "aes-256-gcm",
  "level": 0,
  "email": "love@xray.com"
}

method: string

  • Если method в InboundConfigurationObject не относится к SS2022, здесь можно указать "method" для каждого пользователя (в "method" также поддерживаются только не-SS2022 варианты) вместе с "password"; при этом "password", заданный в InboundConfigurationObject, будет проигнорирован.

  • Если method в InboundConfigurationObject относится к SS2022, из соображений безопасности больше не поддерживается установка "method" для отдельных пользователей. Используется единый "method", указанный в InboundConfigurationObject.

password: string

Обратите внимание: SS2022, в отличие от старого SS, не игнорирует верхнеуровневый "password". Правильный формат пароля на клиенте: ServerPassword:UserPassword. Например: "password": "114514:1919810"

Остальные опции

Имеют то же значение, что и в InboundConfigurationObject.