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 повышает производительность и обеспечивает полную защиту от повторов, решая следующие проблемы безопасности старого протокола:

Предупреждение

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

OutboundConfigurationObject

{
  "servers": [
    {
      "email": "love@xray.com",
      "address": "127.0.0.1",
      "port": 1234,
      "method": "метод_шифрования",
      "password": "пароль",
      "uot": true,
      "UoTVersion": 2,
      "level": 0
    }
  ]
}

servers: [ServerObject]

Массив, представляющий собой набор настроек сервера Shadowsocks, каждый элемент которого является ServerObject.

ServerObject

{
  "email": "love@xray.com",
  "address": "127.0.0.1",
  "port": 1234,
  "method": "метод_шифрования",
  "password": "пароль",
  "uot": true,
  "UoTVersion": 2,
  "level": 0
}

email: string

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

address: address

Адрес сервера Shadowsocks, поддерживаются IPv4, IPv6 и доменные имена. Обязательный параметр.

port: number

Порт сервера Shadowsocks. Обязательный параметр.

method: string

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

password: string

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

uot: bool

Включить udp over tcp.

UoTVersion: number

Версия реализации UDP over TCP.

Допустимые значения: 1, 2.

  • Shadowsocks 2022

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

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

Метод шифрованияДлина ключа
2022-blake3-aes-128-gcm16
2022-blake3-aes-256-gcm32
2022-blake3-chacha20-poly130532

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

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

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

level: number

Уровень пользователя, для соединения будет использоваться локальная политика, соответствующая этому уровню пользователя.

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